47 | | || `TICKET_APPEND` || Add comments or attachments to [TracTickets tickets] || |
48 | | || `TICKET_CHGPROP` || Modify [TracTickets ticket] properties (priority, assignment, keywords, etc.) with the following exceptions: edit description field, add/remove other users from cc field when logged in || |
| 47 | || `TICKET_APPEND` || Add comments and attachments to [TracTickets tickets], and edit description of ticket the user created || |
| 48 | || `TICKET_CHGPROP` || Modify [TracTickets ticket] properties (priority, assignment, keywords, etc.) with the following exceptions: edit description of tickets created by others, add/remove other users from cc field when logged in || |
| 96 | |
| 97 | == Attachment Permissions |
| 98 | |
| 99 | Attachment permissions are handled by `LegacyAttachmentPolicy`, and unlike the permissions discussed so far, the permissions provided by `LegacyAttachmentPolicy` are not directly granted. Rather, the ability to create, view and delete attachments is determined by the attachment's parent realm and permissions the user possesses for that realm. |
| 100 | |
| 101 | The attachment actions are determined by the following |
| 102 | permissions in the ticket, wiki and milestone realms: |
| 103 | {{{#!table class="listing" |
| 104 | ||= Granted By: =||= Ticket =||= Wiki =||= Milestone =|| |
| 105 | || `ATTACHMENT_CREATE` || `TICKET_APPEND` || `WIKI_MODIFY` || `MILESTONE_MODIFY` || |
| 106 | || `ATTACHMENT_VIEW` || `TICKET_VIEW` || `WIKI_VIEW` || `MILESTONE_VIEW` || |
| 107 | || `ATTACHMENT_DELETE` || `TICKET_ADMIN` || `WIKI_DELETE` || `MILESTONE_DELETE` || |
| 108 | }}} |
| 109 | |
| 110 | If explicit attachment permissions are preferred, `ATTACHMENT_CREATE`, `ATTACHMENT_DELETE` and `ATTACHMENT_VIEW` can be created using the [trac:ExtraPermissionsProvider]. The simplest implementation is to simply define the actions. |
| 111 | {{{#!ini |
| 112 | [extra-permissions] |
| 113 | _perms = ATTACHMENT_CREATE, ATTACHMENT_DELETE, ATTACHMENT_VIEW |
| 114 | }}} |
| 115 | |
| 116 | An alternative configuration adds an `ATTACHMENT_ADMIN` meta-permission that grants the other 3 permission. |
| 117 | {{{#!ini |
| 118 | [extra-permissions] |
| 119 | ATTACHMENT_ADMIN = ATTACHMENT_CREATE, ATTACHMENT_DELETE, ATTACHMENT_VIEW |
| 120 | }}} |
| 121 | |
| 122 | The explicit permissions can be used in concert with `LegacyAttachmentPolicy`, or `LegacyAttachmentPolicy` can be removed from `permission_policies`, in which case only users that have been explicitly granted the corresponding attachment actions will be able to create, delete and view attachments. |