Modify

Opened 5 years ago

#6285 new defect

Combined two patches in #4720 and #6221.

Reported by: trac@… Owned by: ixokai
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

Attachments (1)

plugin.py (1.8 KB) - added by trac@… 5 years ago.

Download all attachments as: .zip

Change History (1)

Changed 5 years ago by trac@…

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.