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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
Richard Jones <richard@users.sourceforge.net>
parents: 2991
diff changeset
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
Richard Jones <richard@users.sourceforge.net>
parents: 2991
diff changeset
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 :

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