Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#7307 closed defect (duplicate)

Comment diffs do not work in Trac 0.12 with MasterTicketsPlugin enabled

Reported by: ed.porter@… Owned by: coderanger
Priority: normal Component: MasterTicketsPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

Trac 0.12 allows ticket comments to be edited, and comments that have been edited gain a "diff" button. Clicking here should show the comment's change history, but with MasterTicketsPlugin enabled it causes an error:

Oops…
Trac detected an internal error:

KeyError: 'fields'



Python Traceback
Most recent call last:

    * File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 513, in _dispatch_request
      Local variables:
      Name	Value
      dispatcher 	<trac.web.main.RequestDispatcher object at 0x2b17b7227190>
      e 	<exceptions.KeyError instance at 0x2b17ba1035f0>
      env 	<trac.env.Environment object at 0x2b17b67ae610>
      env_error 	None
      req 	<Request "GET '/ticket/2716'">
      resp 	[]
    * File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 245, in dispatch
      Local variables:
      Name	Value
      chosen_handler 	<trac.ticket.web_ui.TicketModule object at 0x2b17b7227350>
      chrome 	<trac.web.chrome.Chrome object at 0x2b17b71bebd0>
      e 	<exceptions.TypeError instance at 0x2b17ba103710>
      err 	(<class exceptions.KeyError at 0x2b17b3505950>, <exceptions.KeyError ...
      handler 	<trac.ticket.web_ui.TicketModule object at 0x2b17b7227350>
      req 	<Request "GET '/ticket/2716'">
      resp 	('diff_view.html', {'longcol': '', 'new_version': 1, 'cnum': 3, ...
      self 	<trac.web.main.RequestDispatcher object at 0x2b17b7227190>
    * File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 359, in _post_process_request
      Local variables:
      Name	Value
      args 	('diff_view.html', {'longcol': '', 'new_version': 1, 'cnum': 3, ...
      extra_arg_count 	3
      f 	<mastertickets.web_ui.MasterTicketsModule object at 0x2b17b7227490>
      nbargs 	3
      req 	<Request "GET '/ticket/2716'">
      resp 	('diff_view.html', {'longcol': '', 'new_version': 1, 'cnum': 3, ...
      self 	<trac.web.main.RequestDispatcher object at 0x2b17b7227190>
    * File "build/bdist.linux-i686/egg/mastertickets/web_ui.py", line 64, in post_process_request
      Code fragment:
      Line	
      59	# Add link to depgraph if needed
      60	if links:
      61	add_ctxtnav(req, 'Depgraph', req.href.depgraph(tkt.id))
      62	
      63	for change in data.get('changes', []):
      64	for field, field_data in change['fields'].iteritems():
      65	if field in self.fields:
      66	if field_data['new'].strip():
      67	new = set([int(n) for n in field_data['new'].split(',')])
      68	else:
      69	new = set()
      Local variables:
      Name	Value
      change 	{'diffs': [[{'base': {'lines': [<Markup u''>, <Markup u'And the answer is ...
      content_type 	None
      data 	{'longcol': '', 'new_version': 1, 'cnum': 3, 'num_changes': 1, 'diff': ...
      links 	<mastertickets.model.TicketLinks #2716 blocking=[] blocked_by=[]>
      req 	<Request "GET '/ticket/2716'">
      self 	<mastertickets.web_ui.MasterTicketsModule object at 0x2b17b7227490>
      template 	'diff_view.html'
      tkt 	<trac.ticket.model.Ticket object at 0x2b17ba09f390>

File "build/bdist.linux-x86_64/egg/trac/web/main.py", line 513, in _dispatch_requestFile "build/bdist.linux-x86_64/egg/trac/web/main.py", line 245, in dispatchFile "build/bdist.linux-x86_64/egg/trac/web/main.py", line 359, in _post_process_requestFile "build/bdist.linux-i686/egg/mastertickets/web_ui.py", line 64, in post_process_request
  for field, field_data in change['fields'].iteritems():

System Information:

User Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100404 Fedora/3.6.3-0.el5.mh Firefox/3.6.3

The comment diff is displayed as expected if MasterTicketsPlugin is disabled.

Attachments (0)

Change History (1)

comment:1 Changed 4 years ago by silk

  • Resolution set to duplicate
  • Status changed from new to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.