Changes between Version 6 and Version 7 of NewTicketLikeThisPlugin
- Timestamp:
- Mar 3, 2015, 9:31:09 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
NewTicketLikeThisPlugin
v6 v7 7 7 The NewTicketLikeThisPlugin adds a "Clone" button to existing tickets, which lets you create a new ticket of which the fields are derived from the original ticket if you have the appropriate permission. 8 8 9 It is based on the tracopt.ticket.clone.ticketclonebuttonextension that ships with Trac core. Unlike that extension, the NewTicketLikeThisPlugin defines and consumes a pluggable interface for implementing custom policies to determine the way in which a new ticket is derived from the original.10 This allows flexible, customized business logic to be provided based on the needs and workflows of your team. Also, the NewTicketLikeThisPlugin allows you to configure the permission required to clone a ticket, whereas the core `ticketclonebutton` hard-codes the TICKET_ADMINpermission.9 It is based on the `tracopt.ticket.clone.ticketclonebutton` extension that ships with Trac core. Unlike that extension, the NewTicketLikeThisPlugin defines and consumes a pluggable interface for implementing custom policies to determine the way in which a new ticket is derived from the original. 10 This allows flexible, customized business logic to be provided based on the needs and workflows of your team. Also, the NewTicketLikeThisPlugin allows you to configure the permission required to clone a ticket, whereas the core `ticketclonebutton` hard-codes the `TICKET_ADMIN` permission. 11 11 12 12 Two policies are provided by default in the `newticketlikethis.policies` module: 13 13 14 * !SimpleTicketCloner mimics the behavior of the `coretracopt.ticket.clone.ticketclonebutton` extension: all fields from the original ticket are cloned, and the "summary" and "description" fields are modified to denote the ticket that they were cloned from.14 * !SimpleTicketCloner mimics the behavior of the core `tracopt.ticket.clone.ticketclonebutton` extension: all fields from the original ticket are cloned, and the "summary" and "description" fields are modified to denote the ticket that they were cloned from. 15 15 16 * !ExcludedFieldsTicketCloner clones all fields from the original ticket with no modifications. It can also ignore certain fields entirely, based on a configuration setting, which will force the new ticket to be generatedwith the system's default values (or no values) for the fields that were excluded.16 * !ExcludedFieldsTicketCloner clones all fields from the original ticket with no modifications. It can also ignore certain fields entirely, based on a configuration setting, which will generate the ticket with the system's default values (or no values) for the fields that were excluded. 17 17 18 18 More complex policies might implement custom logic for deriving new ticket values based on the values of the existing ticket's fields, or use alternate cloning policies based on the ticket's type.