Mercurial > p > roundup > code
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 |
| 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 |
