diff templates/classic/schema.py @ 3518:7fb8cfe3c737

enable editing of public queries [SF#966144]
author Richard Jones <richard@users.sourceforge.net>
date Fri, 27 Jan 2006 03:30:39 +0000
parents 3124e578db02
children 7b25567f0f54
line wrap: on
line diff
--- a/templates/classic/schema.py	Fri Jan 27 02:41:18 2006 +0000
+++ b/templates/classic/schema.py	Fri Jan 27 03:30:39 2006 +0000
@@ -90,7 +90,7 @@
 
 # Assign the access and edit Permissions for issue, file and message
 # to regular users now
-for cl in 'issue', 'file', 'msg', 'query', 'keyword':
+for cl in 'issue', 'file', 'msg', 'keyword':
     db.security.addPermissionToRole('User', 'View', cl)
     db.security.addPermissionToRole('User', 'Edit', cl)
     db.security.addPermissionToRole('User', 'Create', cl)
@@ -113,6 +113,26 @@
     description="User is allowed to edit their own user details")
 db.security.addPermissionToRole('User', p)
 
+# Users should be able to edit and view their own queries. They should also
+# be able to view any marked as not private. They should not be able to
+# edit others' queries, even if they're not private
+def view_query(db, userid, itemid):
+    private_for = db.query.get(itemid, 'private_for')
+    if not private_for: return True
+    return userid == private_for
+def edit_query(db, userid, itemid):
+    return userid == db.query.get(itemid, 'creator')
+p = db.security.addPermission(name='View', klass='query', check=view_query,
+    description="User is allowed to view their own and public queries")
+db.security.addPermissionToRole('User', p)
+p = db.security.addPermission(name='Edit', klass='query', check=edit_query,
+    description="User is allowed to edit their queries")
+db.security.addPermissionToRole('User', p)
+p = db.security.addPermission(name='Create', klass='query',
+    description="User is allowed to create queries")
+db.security.addPermissionToRole('User', p)
+
+
 #
 # ANONYMOUS USER PERMISSIONS
 #

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