Opened 3 years ago

Last modified 3 years ago

defect #69 (new)

AgileTicketWorkflow?: 'TicketSystem?' object has no attribute 'get_ticket_completion_stages'

Test Complete Size: undefined Test Complete Date:
Documentation Complete Size: undefined Documentation Complete Date:
Acceptance Complete Size: undefined Acceptance Complete Date:
Reported by: sroussey Owned by: ja11sop
Milestone: Undecided Component: agiletracplugin
Version: Keywords:
Cc: Blocked By:
Patch SVN Revision: Patch Trac Version:
Blocking:
In Iterations: None

Description

I get this on the creation of a new ticket. I just setup trac with a few other plugins (notably EstimationTools? 0.4 and TracHoursPlugin? 0.1). Got this error on the first ticket. Turning AgileTicketWorkflow? off in Admin:Plugins gets rid of the error...

Python Traceback
Most recent call last:

    * File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 423, in _dispatch_request
      Code fragment:
       418. try:
       419. if not env and env_error:
       420. raise HTTPInternalError(env_error)
       421. try:
       422. dispatcher = RequestDispatcher(env)
       423. dispatcher.dispatch(req)
       424. except RequestDone:
       425. pass
       426. resp = req._response or []
       427.  
       428. except HTTPException, e:
      Local variables:
      Name	Value
      after 	[u' except RequestDone:', u' pass', u' resp = ...
      before 	[u' try:', u' if not env and env_error:', u' raise ...
      dispatcher 	<trac.web.main.RequestDispatcher object at 0xac57e8c>
      e 	AttributeError("'TicketSystem' object has no attribute ...
      env 	<trac.env.Environment object at 0xa9e1eac>
      env_error 	None
      exc_info 	(<type 'exceptions.AttributeError'>, AttributeError("'TicketSystem' object ...
      filename 	'/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py'
      frames 	[{'function': '_dispatch_request', 'lines_before': [u' try:', u' ...
      has_admin 	True
      line 	u' dispatcher.dispatch(req)'
      lineno 	422
      message 	u"AttributeError: 'TicketSystem' object has no attribute ...
      req 	<Request "GET u'/ticket/2'">
      resp 	[]
      tb 	<traceback object at 0xae300f4>
      tb_hide 	None
      traceback 	'Traceback (most recent call last):\n File ...
    * File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 197, in dispatch
      Code fragment:
       192. req.args.get('__FORM_TOKEN') != req.form_token:
       193. raise HTTPBadRequest('Missing or invalid form token. '
       194. 'Do you have cookies enabled?')
       195.  
       196. # Process the request and render the template
       197. resp = chosen_handler.process_request(req)
       198. if resp:
       199. if len(resp) == 2: # Clearsilver
       200. chrome.populate_hdf(req)
       201. template, content_type = \
       202. self._post_process_request(req, *resp)
      Local variables:
      Name	Value
      chosen_handler 	<trac.ticket.web_ui.TicketModule object at 0xaf5deac>
      chrome 	<trac.web.chrome.Chrome object at 0xac575cc>
      e 	TypeError("'NoneType' object is unsubscriptable",)
      err 	(<type 'exceptions.AttributeError'>, AttributeError("'TicketSystem' object ...
      handler 	<trac.ticket.web_ui.TicketModule object at 0xaf5deac>
      req 	<Request "GET u'/ticket/2'">
      self 	<trac.web.main.RequestDispatcher object at 0xac57e8c>
    * File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ticket/web_ui.py", line 170, in process_request
      Code fragment:
       165.  
       166. def process_request(self, req):
       167. if 'id' in req.args:
       168. if req.path_info.startswith('/newticket'):
       169. raise TracError(_("id can't be set for a new ticket request."))
       170. return self._process_ticket_request(req)
       171. return self._process_newticket_request(req)
       172.  
       173. # ITemplateProvider methods
       174.  
       175. def get_htdocs_dirs(self):
      Local variables:
      Name	Value
      req 	<Request "GET u'/ticket/2'">
      self 	<trac.ticket.web_ui.TicketModule object at 0xaf5deac>
    * File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ticket/web_ui.py", line 517, in _process_ticket_request
      Code fragment:
       512. 'resolve_resolution': None,
       513. # Store a timestamp for detecting "mid air collisions"
       514. 'timestamp': str(ticket.time_changed)})
       515.  
       516. self._insert_ticket_data(req, ticket, data,
       517. get_reporter_id(req, 'author'), field_changes)
       518.  
       519. mime = Mimeview(self.env)
       520. format = req.args.get('format')
       521. if format:
       522. # FIXME: mime.send_converted(context, ticket, 'ticket_x')
      Local variables:
      Name	Value
      action 	'view'
      data 	{'comment': None, 'description_change': None, 'replyto': None, ...
      field_changes 	None
      id 	2
      req 	<Request "GET u'/ticket/2'">
      self 	<trac.ticket.web_ui.TicketModule object at 0xaf5deac>
      ticket 	<trac.ticket.model.Ticket object at 0xac4df4c>
      version 	None
    * File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ticket/web_ui.py", line 1211, in _insert_ticket_data
      Code fragment:
      1206. hints = []
      1207. widgets = []
      1208. for controller in self._get_action_controllers(req, ticket,
      1209. action):
      1210. label, widget, hint = controller.render_ticket_action_control(
      1211. req, ticket, action)
      1212. if not first_label:
      1213. first_label = label
      1214. widgets.append(widget)
      1215. hints.append(hint)
      1216. action_controls.append((action, first_label, tag(widgets), hints))
      Local variables:
      Name	Value
      action 	'size'
      action_controls 	[('leave', 'leave', <Fragment>, [''])]
      author_id 	'sroussey'
      changes 	[]
      cnum 	0
      controller 	<agiletrac.workflow.AgileTicketWorkflow object at 0xaf5d34c>
      data 	{'comment': None, 'description_change': None, 'replyto': None, ...
      field_changes 	None
      fields 	[{'name': 'summary', 'skip': True, 'label': 'Summary', 'optional': False, ...
      first_label 	None
      hint 	''
      hints 	[]
      label 	'leave'
      quote_original 	<function quote_original at 0xaee4294>
      replies 	{}
      replyto 	None
      req 	<Request "GET u'/ticket/2'">
      selected_action 	None
      self 	<trac.ticket.web_ui.TicketModule object at 0xaf5deac>
      skip 	False
      sorted_actions 	['leave', 'size', 'resolve', 'reassign']
      ticket 	<trac.ticket.model.Ticket object at 0xac4df4c>
      values 	{}
      widget 	<Fragment>
      widgets 	[]
    * File "build/bdist.linux-i686/egg/agiletrac/workflow.py", line 391, in render_ticket_action_control
      Local variables:
      Name	Value
      action 	'size'
      control 	[]
      hints 	[]
      model 	<module 'trac.ticket.model' from ...
      operations 	[u'set_size']
      req 	<Request "GET u'/ticket/2'">
      self 	<agiletrac.workflow.AgileTicketWorkflow object at 0xaf5d34c>
      status 	u''
      this_action 	{'operations': [u'set_size'], 'name': 'size', 'default': 0, 'newstate': ...
      ticket 	<trac.ticket.model.Ticket object at 0xac4df4c>

File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 423, in _dispatch_request
  dispatcher.dispatch(req)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/web/main.py", line 197, in dispatch
  resp = chosen_handler.process_request(req)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ticket/web_ui.py", line 170, in process_request
  return self._process_ticket_request(req)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ticket/web_ui.py", line 517, in _process_ticket_request
  get_reporter_id(req, 'author'), field_changes)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ticket/web_ui.py", line 1211, in _insert_ticket_data
  req, ticket, action)
File "build/bdist.linux-i686/egg/agiletrac/workflow.py", line 391, in render_ticket_action_control

System Information:

User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)
Trac: 	0.11.1
Python: 	2.5.2 (r252:60911, Jul 31 2008, 17:44:49) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]
setuptools: 	0.6c9
SQLite: 	3.4.2
pysqlite: 	2.3.2
Genshi: 	0.6dev-r960
mod_python: 	3.3.1
Subversion: 	1.4.6 (r28521)
jQuery:	1.2.6

Change History

Have a look at the list of modified files related to this ticket.

Changed 3 years ago by ja11sop

From my reading of this I see it is saying that TicketSystem doesn't have an attribute get_ticket_Completion_stages - which is a new method of TicketSystem in the agile-trac patch. Can you confirm that you have patched you install and restarted your web server?

Note: See TracTickets for help on using tickets.