File: README

package info (click to toggle)
trac-virtualticketpermissions 1.0.0%2Bsvn4153-1
  • links: PTS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch, wheezy
  • size: 64 kB
  • ctags: 24
  • sloc: python: 113; makefile: 5
file content (56 lines) | stat: -rw-r--r-- 2,305 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Notes
=====
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.

Configuration
=============
All configuration options go in the ``[virtualticketpermissions]`` section.

``group_blacklist``
    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.
    
Example
=======
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