Modify

Opened 14 years ago

Closed 12 years ago

#6242 closed defect (fixed)

`Delete Checked` crashes trying to delete ticket changes

Reported by: hju Owned by: Noah Kantrowitz
Priority: normal Component: TicketDeletePlugin
Severity: normal Keywords:
Cc: Trac Release: 0.11

Description

If you try to delete changes to a ticket by selecting delete at the specific change in the ticke:

  • all changes of this comment are selected
  • the comment itself is not selected

The delete checked button causes a crash

 Trac detected an internal error:

ValueError: too many values to unpack
Most recent call last:

    * File "/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.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 0xb67fe1ec>
      e 	<exceptions.ValueError instance at 0xb56105ec>
      env 	<trac.env.Environment object at 0xb6dbe26c>
      env_error 	None
      exc_info 	(<class exceptions.ValueError at 0xb6fc7b0c>, <exceptions.ValueError ...
      filename 	'/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.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'ValueError: too many values to unpack'
      req 	<Request "POST u'/admin/ticket/comments/274'">
      resp 	[]
      tb 	<traceback object at 0xb561cbe4>
      tb_hide 	None
      traceback 	'Traceback (most recent call last):\n File ...
    * File "/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.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.admin.web_ui.AdminModule object at 0xb67fe24c>
      chrome 	<trac.web.chrome.Chrome object at 0xb68d1f0c>
      ctype 	'application/x-www-form-urlencoded'
      err 	(<class exceptions.ValueError at 0xb6fc7b0c>, <exceptions.ValueError ...
      handler 	<trac.admin.web_ui.AdminModule object at 0xb67fe24c>
      options 	{}
      req 	<Request "POST u'/admin/ticket/comments/274'">
      self 	<trac.web.main.RequestDispatcher object at 0xb67fe1ec>
    * File "/usr/lib/python2.4/site-packages/Trac-0.11-py2.4.egg/trac/admin/web_ui.py", line 109, in process_request
      Code fragment:
       104. if not provider:
       105. raise HTTPNotFound(_('Unknown administration panel'))
       106.  
       107. if hasattr(provider, 'render_admin_panel'):
       108. template, data = provider.render_admin_panel(req, cat_id, panel_id,
       109. path_info)
       110.  
       111. else: # support for legacy WebAdmin panels
       112. data = {}
       113. cstmpl, ct = provider.process_admin_request(req, cat_id, panel_id,
       114. path_info)
      Local variables:
      Name	Value
      _panel_order 	<function _panel_order at 0xb5624ae4>
      cat_id 	u'ticket'
      panel_id 	u'comments'
      panels 	[('general', 'General', 'basics', 'Basic Settings'), ('general', ...
      path_info 	u'274'
      provider 	<ticketdelete.web_ui.TicketDeletePlugin object at 0xb67fe50c>
      providers 	{('ticket', 'comments'): <ticketdelete.web_ui.TicketDeletePlugin object at ...
      req 	<Request "POST u'/admin/ticket/comments/274'">
      self 	<trac.admin.web_ui.AdminModule object at 0xb67fe24c>
    * File "build/bdist.linux-i686/egg/ticketdelete/web_ui.py", line 86, in render_admin_panel
      Local variables:
      Name	Value
      cat 	u'ticket'
      data 	{'id': 0, 'href': '/ticket/admin/ticket/comments/274', 'changes': {}, ...
      deletions 	[[u'new', u'due', u'date', u'1258964319'], [u'comment', u'1258964319']]
      page 	u'comments'
      path_info 	u'274'
      req 	<Request "POST u'/admin/ticket/comments/274'">
      self 	<ticketdelete.web_ui.TicketDeletePlugin object at 0xb67fe50c>
      t 	<trac.ticket.model.Ticket object at 0xb6e6da0c>
      x 	u'new_due_date_1258964319'

But if you check Delete comment on the right side, it works!

It is a very helpful Plugin for Admins - and I love to use it.

Attachments (0)

Change History (1)

comment:1 Changed 12 years ago by Ryan J Ollos

Resolution: fixed
Status: newclosed

Should be fixed after [11790]. Please retest and reopen if you still have this issue.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Noah Kantrowitz.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.