Opened 14 years ago

Last modified 9 years ago

#6285 closed defect

Combined two patches in #4720 and #6221. — at Initial Version

Reported by: trac@… Owned by: Stephen Hansen
Priority: lowest Component: TicketCreationStatusPlugin
Severity: trivial Keywords:
Cc: Trac Release: 0.11

Description

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.""")

owned_by_user_status = Option('ticketcreationstatus', 'owned_by_user', None,

doc="""Determines the status for tickets that start out owned by user.""")

# ITicketChangeListener methods

def ticket_created(self, ticket):

status = None default_type_status = get_type_default(self.config.options('ticketcreationstatus'), tickettype)

if self.owned_by_user_status:

if ticketowner? == ticketreporter?:

status = self.owned_by_user_status

if not status and self.owned_status:

if ticketowner? != :

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

Change History (1)

Changed 14 years ago by trac@…

Attachment: plugin.py added
Note: See TracTickets for help on using tickets.