[Trac-tickets] [The Trac Project] #2067: Cannot change ticket type via WebAdmin plugin

The Trac Project noreply at edgewall.com
Wed Sep 14 21:58:05 CDT 2005


#2067: Cannot change ticket type via WebAdmin plugin
-----------------------------------------------+----------------------------
 Reporter:  Shunichi Goto <gotoh at taiyo.co.jp>  |       Owner:  jonas
     Type:  defect                             |      Status:  new  
 Priority:  normal                             |   Milestone:       
Component:  ticket system                      |     Version:  devel
 Severity:  normal                             |   Keywords:                                     |  
-----------------------------------------------+----------------------------
 I found that I cannot rename ticket type value via `WebAdmin` plugin.
 The operation causes exception.
 This problem comes from difference between enum name in enum table
 and column name in ticket table.
 So I modified `trac.ticket.AbstractEnum` and trac.ticket.Type` like this:
 {{{
 #!patch
 Index: model.py
 ===================================================================
 --- model.py    (revision 2239)
 +++ model.py    (working copy)
 @@ -272,8 +272,11 @@

  class AbstractEnum(object):
      type = None
 +    ticket_column = None

      def __init__(self, env, name=None, db=None):
 +        if not self.ticket_column:
 +            self.ticket_column = self.type
          self.env = env
          if name:
              if not db:
 @@ -348,7 +351,8 @@
          if self.name != self._old_name:
              # Update tickets
              cursor.execute("UPDATE ticket SET %s=%%s WHERE %s=%%s" %
 -                           (self.type, self.type), (self.name,
 self._old_name))
 +                           (self.ticket_column, self.ticket_column),
 +                           (self.name, self._old_name))
              self._old_name = self.name
              self._old_value = self.value

 @@ -371,6 +375,7 @@

  class Type(AbstractEnum):
      type = 'ticket_type'
 +    ticket_column = 'type'


  class Status(AbstractEnum):
 }}}

-- 
Ticket URL: <http://projects.edgewall.com/trac/ticket/2067>
The Trac Project <http://trac.edgewall.com/>


More information about the Trac-Tickets mailing list