Opened 18 years ago
Closed 18 years ago
#4116 closed defect (duplicate)
tickets query breaks if custom ticket checkbox field is set, then cleared
Reported by: | Owned by: | Matthew Good | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | report system | Version: | 0.10 |
Severity: | major | Keywords: | |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
A quick summary is that when trying to execute a tickets query, I get the error: "AssertError: Unable to set Empty component query.num_matches_group." This happens after I clear a previously checked checkbox that is a custom ticket field.
I'll record the scenario first, and the python error trace will be given at the end.
First, I added a custom ticket field, by adding this to my trac.ini:
[ticket-custom] product_backlog = checkbox product_backlog.label = Is Product Backlog? product_backlog.value = 0
Then I defined on a wiki page the following query:
[query:?status=new&status=assigned&status=reopened&group=milestone&owner=%7E&product_backlog=1&&order=priority Product-Backlog Work Items, by Milestone]
The query works unless I do the following steps:
- Add a ticket, setting my custom ticket checkbox to checked
- Update the ticket by UNCHECKING my custom ticket checkbox
At this point I notice that the ticket change log gets this appended:
11/9/2006 11:02:49 AM changed by xxx ¶ * product_backlog deleted.
I would have expected to see "product_backlog set to 0", but maybe this is irrelevant.
When I try to run my query now, it breaks. (But it had worked earlier after I had just added the ticket with checkbox checked, step 1 of the 2 above.0
Here is the error trace:
Traceback (most recent call last): File "C:\bin\Python2.4\Lib\site-packages\trac\web\main.py", line 356, in dispatch_request dispatcher.dispatch(req) File "C:\bin\Python2.4\Lib\site-packages\trac\web\main.py", line 224, in dispatch resp = chosen_handler.process_request(req) File "C:\bin\Python2.4\Lib\site-packages\trac\ticket\query.py", line 443, in process_request self.display_html(req, query) File "C:\bin\Python2.4\Lib\site-packages\trac\ticket\query.py", line 608, in display_html req.hdf['query.num_matches_group'] = num_matches_group File "C:\bin\Python2.4\Lib\site-packages\trac\web\clearsilver.py", line 195, in __setitem__ self.set_value(name, value, True) File "C:\bin\Python2.4\Lib\site-packages\trac\web\clearsilver.py", line 243, in set_value add_value(name, value) File "C:\bin\Python2.4\Lib\site-packages\trac\web\clearsilver.py", line 235, in add_value add_value('%s.%s' % (prefix, k), value[k]) File "C:\bin\Python2.4\Lib\site-packages\trac\web\clearsilver.py", line 219, in add_value set_str(prefix, int(value)) File "C:\bin\Python2.4\Lib\site-packages\trac\web\clearsilver.py", line 213, in set_str self.hdf.setValue(prefix.encode('utf-8'), str(value)) Error: Traceback (innermost last): File "neo_hdf.c", line 783, in hdf_set_value() File "neo_hdf.c", line 773, in _set_value() AssertError: Unable to set Empty component query.num_matches_group.
Now if I update the ticket again and RE-CHECK the custom checkbox, I see the following added to the ticket history, and my query works again.
11/9/2006 11:06:01 AM changed by xxx ¶ * product_backlog set to 1.
Attachments (0)
Change History (4)
comment:1 by , 18 years ago
comment:3 by , 18 years ago
I forgot to add that my database is sqlLite, and I'm using tracd rather than a web server if that matters.
comment:4 by , 18 years ago
Description: | modified (diff) |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
Most probably a duplicate of #3939, fixed in trunk.
I had a typo and some poor formatting in the report above:
My custom ticket definition is like this: