Opened 15 years ago
Last modified 9 years ago
#6221 closed enhancement
different starting states for different ticket types — at Initial Version
Reported by: | zooli | Owned by: | Stephen Hansen |
---|---|---|---|
Priority: | normal | Component: | TicketCreationStatusPlugin |
Severity: | normal | Keywords: | |
Cc: | Trac Release: | 0.11 |
Description
i've modified a little bit your code, to have the ability to use different starting states for different ticket types
the code is:
from trac.core import Component, implements from trac.ticket.api import ITicketChangeListener from trac.config import Option def get_type_default(raw_options, type): for option, value in raw_options: if option == 'default_' + type: return value return None class TicketCreationStatus(Component): implements(ITicketChangeListener) default_status = Option('ticketcreationstatus', 'default', None, doc="""Determines the status for tickets (if not otherwise modified).""") owned_status = Option('ticketcreationstatus', 'owned', None, doc="""Determines the status for tickets that start out owned.""") def ticket_created(self, ticket): status = None default_type_status = get_type_default(self.config.options('ticketcreationstatus'), ticket['type']) if self.owned_status: if ticket['owner']: status = self.owned_status if not status and default_type_status: status = default_type_status if not status and self.default_status: status = self.default_status if status is not None: db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute("update ticket set status=%s where id=%s", (status, ticket.id)) db.commit() def ticket_changed(self, ticket, comment, author, old_values): pass def ticket_deleted(self, ticket): pass
usage:
default_%type% = %defaultfortype%
Note: See
TracTickets for help on using
tickets.