annotate templates/minimal/schema.py @ 2943:996e2bab8d8a

propagate CGI_SHOW_TIMING from os.environ to request environment
author Alexander Smishlajev <a1s@users.sourceforge.net>
date Mon, 22 Nov 2004 07:11:30 +0000
parents 45c65345e909
children b9a55628a78d
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
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
28 p = db.security.getPermission('Web Access')
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
29 db.security.addPermissionToRole('User', p)
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
30 p = db.security.getPermission('Email Access')
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
31 db.security.addPermissionToRole('User', p)
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
32
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
33 # May users view other user information?
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
34 # Comment these lines out if you don't want them to
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
35 p = db.security.getPermission('View', 'user')
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
36 db.security.addPermissionToRole('User', p)
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
37
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
38 # Users should be able to edit their own details.
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
39 # Note that this permission is limited to only the situation
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
40 # where the Viewed or Edited item is their own.
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
41 def own_record(db, userid, itemid):
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
42 '''Determine whether the userid matches the item being accessed.'''
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
43 return userid == itemid
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
44 p = db.security.addPermission(name='View', klass='user', check=own_record,
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
45 description="User is allowed to view their own user details")
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
46 p = db.security.addPermission(name='Edit', klass='user', check=own_record,
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
47 description="User is allowed to edit their own user details")
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
48 db.security.addPermissionToRole('User', p)
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 #
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
51 # ANONYMOUS USER PERMISSIONS
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
52 #
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
53 # 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
54 # 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
55 # required is in a tracker that uses an HTTP Basic Authenticated front-end.
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
56 p = db.security.getPermission('Web Access')
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
57 db.security.addPermissionToRole('Anonymous', p)
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
58
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
59 # 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
60 # 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
61 # "Create" user Permission below)
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
62 p = db.security.getPermission('Email Access')
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
63 db.security.addPermissionToRole('Anonymous', p)
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 # Assign the appropriate permissions to the anonymous user's
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
66 # Anonymous Role. Choices here are:
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
67 # - Allow anonymous users to register
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
68 p = db.security.getPermission('Create', 'user')
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
69 db.security.addPermissionToRole('Anonymous', p)
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
70
45c65345e909 migrate to new layout
Alexander Smishlajev <a1s@users.sourceforge.net>
parents:
diff changeset
71 # vim: set et sts=4 sw=4 :

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