annotate share/roundup/templates/devel/schema.py @ 4122:115e9883311e gsoc-2009

Add new tracker template sandbox.
author Stefan Seefeld <stefan@seefeld.name>
date Tue, 02 Jun 2009 00:41:57 +0000
parents
children c2e920eaee0a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4122
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
1
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
2 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
3 # TRACKER SCHEMA
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
4 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
5
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
6 # Class automatically gets these properties:
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
7 # creation = Date()
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
8 # activity = Date()
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
9 # creator = Link('user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
10 # actor = Link('user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
11
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
12 # Component
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
13 component = Class(db, 'component',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
14 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
15 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
16 order=Number(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
17 assign_to=Link('user'))
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
18 component.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
19
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
20 # Version
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
21 version = Class(db, 'version',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
22 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
23 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
24 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
25 version.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
26
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
27 # Severity
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
28 severity = Class(db, 'severity',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
29 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
30 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
31 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
32 severity.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
33
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
34 # Priority
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
35 priority = Class(db, 'priority',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
36 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
37 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
38 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
39 priority.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
40
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
41 # Status
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
42 status = Class(db, "status",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
43 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
44 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
45 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
46 status.setkey("name")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
47
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
48 # Resolution
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
49 resolution = Class(db, "resolution",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
50 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
51 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
52 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
53 resolution.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
54
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
55 # Keyword
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
56 keyword = Class(db, "keyword",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
57 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
58 description=String())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
59 keyword.setkey("name")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
60
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
61
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
62 # User-defined saved searches
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
63 query = Class(db, "query",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
64 klass=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
65 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
66 url=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
67 private_for=Link('user'))
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
68
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
69 # add any additional database schema configuration here
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
70
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
71 user = Class(db, "user",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
72 username=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
73 password=Password(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
74 address=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
75 realname=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
76 phone=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
77 organisation=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
78 alternate_addresses=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
79 queries=Multilink('query'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
80 roles=String(), # comma-separated string of Role names
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
81 timezone=String())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
82 user.setkey("username")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
83
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
84 # FileClass automatically gets this property in addition to the Class ones:
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
85 # content = String() [saved to disk in <tracker home>/db/files/]
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
86 # type = String() [MIME type of the content, default 'text/plain']
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
87 msg = FileClass(db, "msg",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
88 author=Link("user", do_journal='no'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
89 recipients=Multilink("user", do_journal='no'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
90 date=Date(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
91 summary=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
92 files=Multilink("file"),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
93 messageid=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
94 inreplyto=String())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
95
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
96 file = FileClass(db, "file",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
97 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
98 description=String(indexme='yes'))
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
99
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
100 # Bug Type
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
101 bug_type = Class(db, 'bug_type',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
102 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
103 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
104 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
105 bug_type.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
106
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
107 # IssueClass automatically gets these properties in addition to the Class ones:
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
108 # title = String()
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
109 # messages = Multilink("msg")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
110 # files = Multilink("file")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
111 # nosy = Multilink("user")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
112 # superseder = Multilink("issue")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
113 bug = IssueClass(db, "bug",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
114 type=Link('bug_type'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
115 components=Multilink('component'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
116 versions=Multilink('version'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
117 severity=Link('severity'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
118 priority=Link('priority'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
119 dependencies=Multilink('bug'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
120 assignee=Link('user'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
121 status=Link('status'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
122 resolution=Link('resolution'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
123 superseder=Link('bug'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
124 keywords=Multilink('keyword'))
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
125
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
126 # Task Type
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
127 task_type = Class(db, 'task_type',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
128 name=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
129 description=String(),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
130 order=Number())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
131 task_type.setkey('name')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
132
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
133 # IssueClass automatically gets these properties in addition to the Class ones:
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
134 # title = String()
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
135 # messages = Multilink("msg")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
136 # files = Multilink("file")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
137 # nosy = Multilink("user")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
138 # superseder = Multilink("issue")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
139 task = IssueClass(db, "task",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
140 type=Link('task_type'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
141 components=Multilink('component'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
142 priority=Link('priority'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
143 dependencies=Multilink('task'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
144 assignee=Multilink('user'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
145 status=Link('status'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
146 resolution=Link('resolution'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
147 solves=Link('bug'))
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
148
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
149 milestone = IssueClass(db, "milestone",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
150 bugs=Multilink("bug"),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
151 tasks=Multilink("task"),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
152 status=Link("status"),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
153 release_date=String())
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
154
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
155 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
156 # TRACKER SECURITY SETTINGS
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
157 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
158 # See the configuration and customisation document for information
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
159 # about security setup.
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
160
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
161 db.security.addRole(name='Developer', description='A developer')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
162 db.security.addRole(name='Coordinator', description='A coordinator')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
163
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
164 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
165 # REGULAR USERS
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
166 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
167 # Give the regular users access to the web and email interface
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
168 for r in 'User', 'Developer', 'Coordinator':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
169 db.security.addPermissionToRole(r, 'Web Access')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
170 db.security.addPermissionToRole(r, 'Email Access')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
171
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
172 ##########################
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
173 # User permissions
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
174 ##########################
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
175
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
176 for cl in ('severity', 'component',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
177 'version', 'priority', 'status', 'resolution',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
178 'bug_type', 'bug', 'task_type', 'task', 'milestone',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
179 'keyword', 'file', 'msg'):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
180 db.security.addPermissionToRole('User', 'View', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
181 db.security.addPermissionToRole('Anonymous', 'View', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
182 db.security.addPermissionToRole('User', 'Create', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
183
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
184
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
185 def may_edit_file(db, userid, itemid):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
186 return userid == db.file.get(itemid, "creator")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
187
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
188 p = db.security.addPermission(name='Edit', klass='file', check=may_edit_file,
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
189 description="User is allowed to remove their own files")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
190 db.security.addPermissionToRole('User', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
191
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
192 p = db.security.addPermission(name='Create', klass='bug',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
193 properties=('title', 'bug_type',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
194 'components', 'versions',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
195 'severity',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
196 'messages', 'files', 'nosy'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
197 description='User can report and discuss bugs')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
198 db.security.addPermissionToRole('User', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
199
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
200 p = db.security.addPermission(name='Edit', klass='bug',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
201 properties=('title', 'bug_type',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
202 'components', 'versions',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
203 'severity',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
204 'messages', 'files', 'nosy'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
205 description='User can report and discuss bugs')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
206 db.security.addPermissionToRole('User', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
207
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
208 p = db.security.addPermission(name='Create', klass='task',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
209 properties=('title', 'task_type',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
210 'components',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
211 'messages', 'files', 'nosy'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
212 description='Developer can create and discuss tasks')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
213 db.security.addPermissionToRole('Developer', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
214
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
215 p = db.security.addPermission(name='Edit', klass='task',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
216 properties=('title', 'task_type',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
217 'components',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
218 'messages', 'files', 'nosy'),
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
219 description='Developer can create and discuss tasks')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
220 db.security.addPermissionToRole('Developer', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
221
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
222 p = db.security.addPermission(name='Create', klass='milestone',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
223 description='Coordinator can create and discuss milestones')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
224 db.security.addPermissionToRole('Coordinator', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
225
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
226 p = db.security.addPermission(name='Edit', klass='milestone',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
227 description='Coordinator can create and discuss milestones')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
228 db.security.addPermissionToRole('Coordinator', p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
229
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
230
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
231 ##########################
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
232 # Developer permissions
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
233 ##########################
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
234 for cl in ('bug_type', 'severity', 'component',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
235 'version', 'priority', 'status', 'resolution',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
236 'bug', 'file', 'msg', 'keyword'):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
237 db.security.addPermissionToRole('Developer', 'View', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
238
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
239 for cl in ('bug', 'file', 'msg', 'keyword'):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
240 db.security.addPermissionToRole('Developer', 'Edit', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
241 db.security.addPermissionToRole('Developer', 'Create', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
242
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
243
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
244 ##########################
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
245 # Coordinator permissions
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
246 ##########################
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
247 for cl in ('bug_type', 'task_type', 'severity', 'component',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
248 'version', 'priority', 'status', 'resolution', 'bug', 'task', 'file', 'msg'):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
249 db.security.addPermissionToRole('Coordinator', 'View', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
250 db.security.addPermissionToRole('Coordinator', 'Edit', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
251 db.security.addPermissionToRole('Coordinator', 'Create', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
252
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
253 # May users view other user information? Comment these lines out
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
254 # if you don't want them to
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
255 db.security.addPermissionToRole('User', 'View', 'user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
256 db.security.addPermissionToRole('Developer', 'View', 'user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
257 db.security.addPermissionToRole('Coordinator', 'View', 'user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
258
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
259 # Allow Coordinator to edit any user, including their roles.
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
260 db.security.addPermissionToRole('Coordinator', 'Edit', 'user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
261 db.security.addPermissionToRole('Coordinator', 'Web Roles')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
262
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
263 # Users should be able to edit their own details -- this permission is
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
264 # limited to only the situation where the Viewed or Edited item is their own.
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
265 def own_record(db, userid, itemid):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
266 '''Determine whether the userid matches the item being accessed.'''
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
267 return userid == itemid
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
268 p = db.security.addPermission(name='View', klass='user', check=own_record,
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
269 description="User is allowed to view their own user details")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
270 for r in 'User', 'Developer', 'Coordinator':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
271 db.security.addPermissionToRole(r, p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
272 p = db.security.addPermission(name='Edit', klass='user', check=own_record,
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
273 description="User is allowed to edit their own user details",
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
274 properties=('username', 'password',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
275 'address', 'realname',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
276 'phone', 'organization',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
277 'alternate_addresses',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
278 'queries',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
279 'timezone')) # Note: 'roles' excluded - users should not be able to edit their own roles.
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
280 for r in 'User', 'Developer':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
281 db.security.addPermissionToRole(r, p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
282
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
283 # Users should be able to edit and view their own queries. They should also
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
284 # be able to view any marked as not private. They should not be able to
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
285 # edit others' queries, even if they're not private
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
286 def view_query(db, userid, itemid):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
287 private_for = db.query.get(itemid, 'private_for')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
288 if not private_for: return True
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
289 return userid == private_for
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
290 def edit_query(db, userid, itemid):
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
291 return userid == db.query.get(itemid, 'creator')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
292 p = db.security.addPermission(name='View', klass='query', check=view_query,
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
293 description="User is allowed to view their own and public queries")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
294 for r in 'User', 'Developer', 'Coordinator':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
295 db.security.addPermissionToRole(r, p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
296 p = db.security.addPermission(name='Edit', klass='query', check=edit_query,
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
297 description="User is allowed to edit their queries")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
298 for r in 'User', 'Developer', 'Coordinator':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
299 db.security.addPermissionToRole(r, p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
300 p = db.security.addPermission(name='Create', klass='query',
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
301 description="User is allowed to create queries")
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
302 for r in 'User', 'Developer', 'Coordinator':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
303 db.security.addPermissionToRole(r, p)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
304
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
305
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
306 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
307 # ANONYMOUS USER PERMISSIONS
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
308 #
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
309 # Let anonymous users access the web interface. Note that almost all
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
310 # trackers will need this Permission. The only situation where it's not
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
311 # required is in a tracker that uses an HTTP Basic Authenticated front-end.
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
312 db.security.addPermissionToRole('Anonymous', 'Web Access')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
313
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
314 # Let anonymous users access the email interface (note that this implies
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
315 # that they will be registered automatically, hence they will need the
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
316 # "Create" user Permission below)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
317 # This is disabled by default to stop spam from auto-registering users on
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
318 # public trackers.
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
319 #db.security.addPermissionToRole('Anonymous', 'Email Access')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
320
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
321 # Assign the appropriate permissions to the anonymous user's Anonymous
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
322 # Role. Choices here are:
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
323 # - Allow anonymous users to register
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
324 db.security.addPermissionToRole('Anonymous', 'Create', 'user')
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
325
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
326 # Allow anonymous users access to view issues (and the related, linked
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
327 # information).
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
328
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
329 for cl in 'bug', 'task', 'milestone', 'severity', 'status', 'resolution', 'msg', 'file':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
330 db.security.addPermissionToRole('Anonymous', 'View', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
331
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
332 # [OPTIONAL]
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
333 # Allow anonymous users access to create or edit "issue" items (and the
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
334 # related file and message items)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
335 #for cl in 'issue', 'file', 'msg':
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
336 # db.security.addPermissionToRole('Anonymous', 'Create', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
337 # db.security.addPermissionToRole('Anonymous', 'Edit', cl)
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
338
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
339
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
340 # vim: set filetype=python sts=4 sw=4 et si :
115e9883311e Add new tracker template sandbox.
Stefan Seefeld <stefan@seefeld.name>
parents:
diff changeset
341

Roundup Issue Tracker: http://roundup-tracker.org/