Changeset 257 for trunk/email2trac.py.in


Ignore:
Timestamp:
02/11/09 11:08:48 (15 years ago)
Author:
bas
Message:

email2trac.py.in:

  • A working workflow implementation, must be fine tuned
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r256 r257  
    264264                        os.environ['PYTHON_EGG_CACHE'] = self.python_egg_cache
    265265
     266                self.WORKFLOW = None
     267                if parameters.has_key('workflow'):
     268                        self.WORKFLOW = parameters['workflow']
     269
    266270                # Use OS independend functions
    267271                #
     
    660664                #
    661665                if tkt['status'] in ['closed']:
    662                         tkt['status'] = 'reopened'
    663                         tkt['resolution'] = ''
     666
     667                        #print controller.actions['reopen']
     668                        #
     669                        # As reference 
     670                        # req = Mock(href=Href('/'), abs_href=Href('http://www.example.com/'), authname='anonymous', perm=MockPerm(), args={})
     671                        #
     672                        #a = controller.render_ticket_action_control(req, tkt, 'reopen')
     673                        #print 'controller : ', a
     674                        #
     675                        #b = controller.get_all_status()
     676                        #print 'get all status: ', b
     677                        #
     678                        #b = controller.get_ticket_changes(req, tkt, 'reopen')
     679                        #print 'get_ticket_changes :', b
     680
     681                        if self.WORKFLOW:
     682                                from trac.ticket.default_workflow import ConfigurableTicketWorkflow
     683                                from trac.test import Mock, MockPerm
     684
     685                                req = Mock(authname='anonymous', perm=MockPerm(), args={})
     686
     687                                controller = ConfigurableTicketWorkflow(self.env)
     688                                fields = controller.get_ticket_changes(req, tkt, self.WORKFLOW)
     689
     690                                if self.DEBUG:
     691                                        print 'TD: Workflow ticket update fields: ', fields
     692
     693                                for key in fields.keys():
     694                                        tkt[key] = fields[key]
     695
     696                        else:
     697                                tkt['status'] = 'reopened'
     698                                tkt['resolution'] = ''
    664699
    665700                # Must we update some ticket fields properties
     
    681716                        else:
    682717                                tkt.save_changes(self.author, body_text, when)
    683 
    684718
    685719                if self.VERSION  == 0.9:
Note: See TracChangeset for help on using the changeset viewer.