Changeset 468


Ignore:
Timestamp:
08/04/10 17:01:24 (14 years ago)
Author:
bas
Message:

appllied patch from kroseneg at schmidham dot net to define a workflow for each ticket status. see #198

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r467 r468  
    777777                                return False
    778778
    779                 # How many changes has this ticket
     779                ## How many changes has this ticket
     780                #
    780781                cnum = len(tkt.get_changelog())
    781782
    782 
    783                 # reopen the ticket if it is was closed
    784                 # We must use the ticket workflow framework
    785                 #
    786                 if tkt['status'] in ['closed'] and self.parameters.email_triggers_workflow:
     783                ## reopen the ticket if it is was closed
     784                #  We must use the ticket workflow framework
     785                #
     786                if self.parameters.email_triggers_workflow :
    787787
    788788                        #print controller.actions['reopen']
     
    800800                        #print 'get_ticket_changes :', b
    801801
    802                         if self.parameters.workflow and (self.VERSION >= 0.11 ) :
     802                        workflow = None
     803                        if self.VERSION >= 0.11:
     804
     805                                workflow = self.parameters['workflow_%s' %tkt['status']]
     806
     807                                ## fallback for compability (Will be deprecated)
     808                                #
     809                                if not workflow:
     810                                        if tkt['status'] in ['closed'] and self.parameters.workflow:
     811                                                workflow = self.parameters.workflow
     812
     813                        if workflow:
     814                                ## Execute workflow
     815                                #
    803816                                from trac.ticket.default_workflow import ConfigurableTicketWorkflow
    804817                                from trac.test import Mock, MockPerm
     
    807820
    808821                                controller = ConfigurableTicketWorkflow(self.env)
    809                                 fields = controller.get_ticket_changes(req, tkt, self.parameters.workflow)
     822                                fields = controller.get_ticket_changes(req, tkt, workflow)
    810823
    811824                                self.logger.debug('Workflow ticket update fields: ')
     
    815828                                        tkt[key] = fields[key]
    816829
    817                         else:
     830                        elif tkt['status'] in ['closed']:
     831                                ## default when no workflow defined or wrong version of trac
     832                                #
    818833                                tkt['status'] = 'reopened'
    819834                                tkt['resolution'] = ''
Note: See TracChangeset for help on using the changeset viewer.