Mercurial > p > roundup > code
annotate templates/minimal/schema.py @ 3896:fca0365521fc
ignore client shutdown exceptions when sending responses
patch from Ulrik Miaelsson
If the user clicks the stop button, or click another link before
the previous has finished loading, or something similar an IOError
exception will be raised which results in the admin being sent an
email.
This can understandably be pretty annoying if your users are
doing that on a regular basis. So we'll trap that exception
and ignore it.
| author | Justus Pendleton <jpend@users.sourceforge.net> |
|---|---|
| date | Tue, 11 Sep 2007 21:30:14 +0000 |
| parents | a4393350e4eb |
| children |
| rev | line source |
|---|---|
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
1 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
2 # TRACKER SCHEMA |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
3 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
5 # Class automatically gets these properties: |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
6 # creation = Date() |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
7 # activity = Date() |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
8 # creator = Link('user') |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
9 # actor = Link('user') |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
10 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
11 # The "Minimal" template gets only one class, the required "user" |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
12 # class. That's it. And even that has the bare minimum of properties. |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
13 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
14 # Note: roles is a comma-separated string of Role names |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
15 user = Class(db, "user", username=String(), password=Password(), |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
16 address=String(), alternate_addresses=String(), roles=String()) |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
17 user.setkey("username") |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
18 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
19 # TRACKER SECURITY SETTINGS |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
20 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
21 # See the configuration and customisation document for information |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
22 # about security setup. |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
23 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
24 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
25 # REGULAR USERS |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
26 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
27 # Give the regular users access to the web and email interface |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
28 db.security.addPermissionToRole('User', 'Web Access') |
|
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
29 db.security.addPermissionToRole('User', 'Email Access') |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
30 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
31 # May users view other user information? |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
32 # Comment these lines out if you don't want them to |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
33 db.security.addPermissionToRole('User', 'View', 'user') |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
34 |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
35 # Users should be able to edit their own details -- this permission is |
|
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
36 # limited to only the situation where the Viewed or Edited item is their own. |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
37 def own_record(db, userid, itemid): |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
38 '''Determine whether the userid matches the item being accessed.''' |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
39 return userid == itemid |
| 3041 | 40 p = db.security.addPermission(name='View', klass='user', check=own_record, |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
41 description="User is allowed to view their own user details") |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
42 db.security.addPermissionToRole('User', p) |
| 3041 | 43 p = db.security.addPermission(name='Edit', klass='user', check=own_record, |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
44 description="User is allowed to edit their own user details") |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
45 db.security.addPermissionToRole('User', p) |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
46 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
47 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
48 # ANONYMOUS USER PERMISSIONS |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
49 # |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
50 # Let anonymous users access the web interface. Note that almost all |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
51 # trackers will need this Permission. The only situation where it's not |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
52 # required is in a tracker that uses an HTTP Basic Authenticated front-end. |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
53 db.security.addPermissionToRole('Anonymous', 'Web Access') |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
55 # Let anonymous users access the email interface (note that this implies |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
56 # that they will be registered automatically, hence they will need the |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
57 # "Create" user Permission below) |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
58 db.security.addPermissionToRole('Anonymous', 'Email Access') |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
59 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
60 # Assign the appropriate permissions to the anonymous user's |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
61 # Anonymous Role. Choices here are: |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
62 # - Allow anonymous users to register |
|
2991
b9a55628a78d
more doc fixes
Richard Jones <richard@users.sourceforge.net>
parents:
2779
diff
changeset
|
63 db.security.addPermissionToRole('Anonymous', 'Create', 'user') |
|
2779
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
45c65345e909
migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff
changeset
|
65 # vim: set et sts=4 sw=4 : |
