Mercurial > p > roundup > code
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 #
