Changeset 493


Ignore:
Timestamp:
12/13/10 11:23:52 (12 years ago)
Author:
bas
Message:

fixed some bugs in update_ticket_fields function, see #228

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r492 r493  
    4141     Author: thomas dot moschny add gmx dot de
    4242     Applied by: Bas van der Vlies
     43
     44   * Fixed some bugs in function update_ticket_fields:
     45       - Can not clear values, repoterd by thomas dot moschny add gmx dot de
     46             closes #228
     47       - Values were updated regardless if there are not allowed for the ticket
     48             field.
     49     Author: Bas van der Vlies
    4350
    44511.6.0 (2010-8-10)
  • trunk/debian/changelog

    r488 r493  
     1email2trac (1.7.0-2) stable; urgency=low
     2
     3  * See Changlog
     4
     5 -- bas van der Vlies <bas@sara.nl>  Mon, 13 Dec 2010 11:22:15 +0100
     6
    17email2trac (1.7.0-1) stable; urgency=low
    28
  • trunk/email2trac.py.in

    r492 r493  
    659659                        - If the value supplied is valid for the ticket field.
    660660                          If not then there are two options:
    661                            1) Skip the value (new_ticket=None)
    662                            2) Set default value for field (new_ticket=1)
     661                           1) Skip the value (new=None)
     662                           2) Set default value for field (new=1)
    663663                """
    664664                self.logger.debug("function update_ticket_fields")
     
    681681
    682682                        except KeyError:
    683                                 sys_dict[field['name']] = None
     683                                #sys_dict[field['name']] = None
    684684                                pass
    685685
     
    706706                               
    707707
    708                         if sys_dict.has_key(field):
    709 
    710                                 ## Check if value is an allowed system option, if TypeError then
    711                                 #  every value is allowed
    712                                 #
    713                                 try:
    714                                         if value in sys_dict[field]:
    715                                                 ticket[field] = value
    716                                         else:
    717                                                 ## Must we set a default if value is not allowed
    718                                                 #
    719                                                 if new:
    720                                                         value = self.get_config('ticket', 'default_%s' %(field) )
    721 
    722                                 except TypeError:
    723                                         pass
    724 
     708                        ## Check if every value is allowed for this filed
     709                        #
     710                        if sys_dict.has_key(field):
     711
     712                                if value in sys_dict[field]:
     713                                        ticket[field] = value
     714                                else:
     715                                        ## Must we set a default if value is not allowed
     716                                        #
     717                                        if new:
     718                                                value = self.get_config('ticket', 'default_%s' %(field) )
     719
     720                        else:
    725721                                ## Only set if we have a value
    726722                                #
    727                                 if value:
    728                                         ticket[field] = value
    729 
    730                                 if self.parameters.debug:
    731                                         s = 'ticket_field\t %s = %s' %(field,  ticket[field])
    732                                         self.print_unicode(s)
     723                                #if value:
     724                                #       ticket[field] = value
     725                                ticket[field] = value
     726
     727                        if self.parameters.debug:
     728                                s = 'ticket_field\t %s = %s' %(field,  ticket[field])
     729                                self.print_unicode(s)
    733730
    734731        def ticket_update(self, m, id, spam):
     
    853850                        self.logger.debug('email triggers workflow disabled')
    854851
    855                 ## Must we update some ticket fields properties via subjectline
     852                ## Must we update some ticket fields properties via subject line
    856853                #
    857854                if update_fields:
     
    909906                                        value = None
    910907                        else:
    911                                 ##  Else we get the default value for reporter
     908                                ##  Else get the default value for reporter
    912909                                #
    913910                                value = field.get('value')
Note: See TracChangeset for help on using the changeset viewer.