Modify ↓
#7307 closed defect (duplicate)
Comment diffs do not work in Trac 0.12 with MasterTicketsPlugin enabled
| Reported by: | Owned by: | Noah Kantrowitz | |
|---|---|---|---|
| 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)
Note: See
TracTickets for help on using
tickets.



Duplicate of #3920