0001-wcs-add-filter_by_number-filter-58782.patch
combo/apps/wcs/context_processors.py | ||
---|---|---|
92 | 92 |
qs._filters['filter-internal-id'] = internal_id |
93 | 93 |
return qs |
94 | 94 | |
95 |
def filter_by_number(self, number): |
|
96 |
qs = self._clone() |
|
97 |
if number: |
|
98 |
qs._filters['filter-number'] = number |
|
99 |
return qs |
|
100 | ||
95 | 101 |
def filter_by_user(self, user): |
96 | 102 |
qs = self._clone() |
97 | 103 |
if user and user.is_authenticated and user.get_name_id(): |
combo/apps/wcs/templatetags/wcs.py | ||
---|---|---|
67 | 67 |
return queryset.filter_by_internal_id(internal_id) |
68 | 68 | |
69 | 69 | |
70 |
@register.filter |
|
71 |
def filter_by_number(queryset, number): |
|
72 |
return queryset.filter_by_number(number) |
|
73 | ||
74 | ||
70 | 75 |
@register.filter |
71 | 76 |
def filter_by_user(queryset, user): |
72 | 77 |
return queryset.filter_by_user(user) |
tests/test_wcs_templatetags.py | ||
---|---|---|
289 | 289 |
assert 'filter-internal-id=42&' in mock_send.call_args_list[0][0][0].url |
290 | 290 | |
291 | 291 | |
292 |
@mock.patch('combo.apps.wcs.models.requests.send', side_effect=mocked_requests_send) |
|
293 |
def test_filter_by_number(mock_send, context, nocache): |
|
294 |
t = Template('{{ cards|objects:"foo"|list }}') |
|
295 |
t.render(context) |
|
296 |
assert 'filter-number' not in mock_send.call_args_list[0][0][0].url |
|
297 | ||
298 |
mock_send.reset_mock() |
|
299 |
t = Template('{{ cards|objects:"foo"|filter_by_number:None|list }}') |
|
300 |
t.render(context) |
|
301 |
assert 'filter-number' not in mock_send.call_args_list[0][0][0].url |
|
302 | ||
303 |
mock_send.reset_mock() |
|
304 |
t = Template('{{ cards|objects:"foo"|filter_by_number:""|list }}') |
|
305 |
t.render(context) |
|
306 |
assert 'filter-number' not in mock_send.call_args_list[0][0][0].url |
|
307 | ||
308 |
mock_send.reset_mock() |
|
309 |
t = Template('{{ cards|objects:"foo"|filter_by_number:"42-35"|list }}') |
|
310 |
t.render(context) |
|
311 |
assert 'filter-number=42-35&' in mock_send.call_args_list[0][0][0].url |
|
312 | ||
313 | ||
292 | 314 |
@mock.patch('combo.apps.wcs.models.requests.send', side_effect=mocked_requests_send) |
293 | 315 |
def test_filter_by_user(mock_send, context, nocache): |
294 | 316 |
t = Template('{{ cards|objects:"foo"|filter_by_user:request.user|list }}') |
295 |
- |