Opened 12 years ago
Last modified 10 years ago
#10838 closed defect
TicketQuery progress display link ignores order= keys in milestone_groups query_args causing query error — at Initial Version
Reported by: | ilewismsl | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 1.0.2 |
Component: | ticket system | Version: | 1.0 |
Severity: | minor | Keywords: | TicketQuery progress |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
Using the macro invocation
[[TicketQuery(owner=ian, format=progress)]]
in a wiki page creates a progress bar with links for various classes of ticket.
The resulting progress bar creates query URLs that work for all classes of ticket except for closed tickets. For closed tickets it produces a link that looks like:
/trac/msl/query?owner=ian&status=closed&group=resolution&order=time&col=id&col=summary&col=owner&col=type&col=priority&col=component&col=severity&col=time&col=changetime&max=0&order=id
This URL includes two order= keys: order=time near the begining and order=id at the end.
This confuses Trac and results in a runtime error.
All other classes of ticket, such as accepted tickets produce a link that looks like:
/trac/msl/query?owner=ian&status=accepted&max=0&order=id
with a single order=id statement.
The source of this error is that our milestone groups includes an order=time key.
We got this by direct copying from the sample at TracIni without much thought about what it meant.
[milestone-groups] ... # optional extra param for the query (two additional columns: created and modified and sort on created) closed.query_args = group=resolution,order=time,col=id,col=summary,col=owner,col=type,col=priority,col=component,col=severity,col=time,col=changetime ...
Error message
Trac detected an internal error: TypeError: unhashable type: 'list'
Python traceback
Most recent call last: File "build/bdist.win32/egg/trac/web/main.py", line 497, in _dispatch_request dispatcher.dispatch(req) File "build/bdist.win32/egg/trac/web/main.py", line 214, in dispatch resp = chosen_handler.process_request(req) File "build/bdist.win32/egg/trac/ticket/query.py", line 939, in process_request max) File "build/bdist.win32/egg/trac/ticket/query.py", line 77, in __init__ self.order = synonyms.get(order, order) # 0.11 compatibility
System information
User Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Trac | 1.0 |
Docutils | 0.8.1 |
Genshi | 0.6 (without speedups) |
mod_python | 3.3.1 |
Pygments | 1.4 |
pysqlite | 2.4.1 |
Python | 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] |
setuptools | 0.6c11 |
SQLite | 3.5.9 |
Subversion | 1.7.1 (r1186859) |
jQuery | 1.7.2 |