22Customising Roundup
33===================
44
5- :Version: $Revision: 1.129 $
5+ :Version: $Revision: 1.131 $
66
77.. This document borrows from the ZopeBook section on ZPT. The original is at:
88 http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
@@ -2839,7 +2839,7 @@ Tracking different types of issues
28392839~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28402840
28412841Sometimes you will want to track different types of issues - developer,
2842- customer support, systems, sales leads, etc. A single Rounup tracker is
2842+ customer support, systems, sales leads, etc. A single Roundup tracker is
28432843able to support multiple types of issues. This example demonstrates adding
28442844a customer support issue class to a tracker.
28452845
@@ -2856,34 +2856,40 @@ a customer support issue class to a tracker.
28562856 status=Link("status"), deadline=Date(),
28572857 affects=Multilink("system"))
28582858
2859- 3. We're going to restrict the users able to access this new class to just
2860- the users with a new "SysAdmin" Role. To do this, we add some security
2861- declarations::
2862-
2863- p = db.security.getPermission('View', 'support')
2864- db.security.addPermissionToRole('SysAdmin', p)
2865- p = db.security.getPermission('Edit', 'support')
2866- db.security.addPermissionToRole('SysAdmin', p)
2867-
2868- You would then (as an "admin" user) edit the details of the appropriate
2869- users, and add "SysAdmin" to their Roles list.
2870-
2871- 4. Copy the existing "issue.*" (item, search and index) templates in the
2859+ 3. Copy the existing "issue.*" (item, search and index) templates in the
28722860 tracker's "html" to "support.*". Edit them so they use the properties
28732861 defined in the "support" class. Be sure to check for hidden form
28742862 variables like "required" to make sure they have the correct set of
28752863 required properties.
28762864
2877- 5 . Edit the modules in the "detectors", adding lines to their "init"
2865+ 4 . Edit the modules in the "detectors", adding lines to their "init"
28782866 functions where appropriate. Look for "audit" and "react" registrations
28792867 on the "issue" class, and duplicate them for "support".
28802868
2881- 6 . Create a new sidebar box for the new support class. Duplicate the
2869+ 5 . Create a new sidebar box for the new support class. Duplicate the
28822870 existing issues one, changing the "issue" class name to "support".
28832871
288428726. Re-start your tracker and start using the new "support" class.
28852873
28862874
2875+ Optionally, you might want to restrict the users able to access this new
2876+ class to just the users with a new "SysAdmin" Role. To do this, we add
2877+ some security declarations::
2878+
2879+ p = db.security.getPermission('View', 'support')
2880+ db.security.addPermissionToRole('SysAdmin', p)
2881+ p = db.security.getPermission('Edit', 'support')
2882+ db.security.addPermissionToRole('SysAdmin', p)
2883+
2884+ You would then (as an "admin" user) edit the details of the appropriate
2885+ users, and add "SysAdmin" to their Roles list.
2886+
2887+ Alternatively, you might want to change the Edit/View permissions granted
2888+ for the "issue" class so that it's only available to users with the "System"
2889+ or "Developer" Role, and then the new class you're adding is available to
2890+ all with the "User" Role.
2891+
2892+
28872893Using External User Databases
28882894-----------------------------
28892895
0 commit comments