|Version 16 (modified by rjollos, 2 years ago) (diff)|
Virtual ticket permissons
Warning: If the plugin is removed, disabled, or fails to load, Trac will display private tickets to anyone with TICKET_VIEW permission and the TICKET_VIEW* permission restrictions will not have any effect. See #5784 and t:#10285 for more information.
Creates a set of virtual permissions for tickets that the user is associated with.
There are three main permissions for this plugin: TICKET_IS_REPORTER, TICKET_IS_CC, and TICKET_IS_OWNER. TICKET_IS_SELF is an alias for all three of these.
With each permission, users will be granted the permissions where they are the person mentioned in the permission. So if a user has TICKET_IS_REPORTER, they can only get the permisson for ticket they reported. For TICKET_IS_CC, they just have to be included in the CC list.
There are also group-based permissions: TICKET_IS_REPORTER_GROUP, TICKET_IS_CC_GROUP, and TICKET_IS_OWNER_GROUP. These work in a similar way to their non-group counterparts, except that you are granted the permission if you share a group with the target user. For example, if ticket 1 was reported by Allan, and Allan and Bob are both in the group company_foo, and Bob has TICKET_IS_REPORTER_GROUP, then Bob will get the permission for ticket 1 since he shares a group with the reporter. Each group-based permission is also an alias for the normal one, so you do not have to grant both. TICKET_IS_GROUP is an alias for all the group-based permissions (and therefore all the normal ones as well).
Finally, users with TRAC_ADMIN will automatically get all these permissions. The meta-user "anonymous" also cannot be restricted by this plugin, as their identity isn't known to be checked.
All configuration options go in the [virtualticketpermissions] section.
Groups to ignore for the purposes of the *_GROUP permissions.
Defaults to "anonymous, authenticated"
You must also add VirtualTicketPermissionsPolicy to your permission_policies setting in trac.ini. See below for an example if you don't have any other policies.
An example configuration:
[virtualticketpermissions] group_blacklist = anonymous, authenticated, labusers [components] virtualticketpermissions.* = enabled [trac] permission_policies = DefaultPermissionPolicy, LegacyAttachmentPolicy, VirtualTicketPermissionsPolicy [ticket-workflow] accept = new,accepted -> accepted accept.permissions = TICKET_IS_OWNER
If you have any issues, create a new ticket.
Download and Source
-  by rjollos on 2012-04-22 11:00:42
Fixes #9779: Clarified that license is BSD 3-Clause. Added license info to source, and switched to UTF-8 encoding of the source. Committing the deletion part of the move operation in .
-  by rjollos on 2012-04-22 10:54:25
Refs #9979: Renamed 0.11 directory to trunk.
-  by normanr on 2008-08-19 12:47:20
Adding mime-type for README