Opened 4 years ago

Closed 4 years ago

Last modified 3 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


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:

Trac detected an internal error:

KeyError: 'fields'

Python Traceback
Most recent call last:

    * File "build/bdist.linux-x86_64/egg/trac/web/", 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/", line 245, in dispatch
      Local variables:
      Name	Value
      chosen_handler 	<trac.ticket.web_ui.TicketModule object at 0x2b17b7227350>
      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/", 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/", line 64, in post_process_request
      Code fragment:
      59	# Add link to depgraph if needed
      60	if links:
      61	add_ctxtnav(req, 'Depgraph', req.href.depgraph(
      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/", line 513, in _dispatch_requestFile "build/bdist.linux-x86_64/egg/trac/web/", line 245, in dispatchFile "build/bdist.linux-x86_64/egg/trac/web/", line 359, in _post_process_requestFile "build/bdist.linux-i686/egg/mastertickets/", 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: Gecko/20100404 Fedora/ 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

as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from coderanger. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.

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

Note: See TracTickets for help on using tickets.