wcs: add filters to get only fields, evolution, etc (#71299)
added filters: - |include_fields - |include_evolutions - |include_roles - |include_submission - |include_workflow - |include_workflow_data
This commit is contained in:
parent
c5b89d13a2
commit
77b277fc63
|
@ -69,6 +69,36 @@ class LazyCardDefObjectsManager:
|
|||
qs._filters['full'] = 'on'
|
||||
return qs
|
||||
|
||||
def include_fields(self):
|
||||
qs = self._clone()
|
||||
qs._filters['include-fields'] = 'on'
|
||||
return qs
|
||||
|
||||
def include_evolution(self):
|
||||
qs = self._clone()
|
||||
qs._filters['include-evolution'] = 'on'
|
||||
return qs
|
||||
|
||||
def include_roles(self):
|
||||
qs = self._clone()
|
||||
qs._filters['include-roles'] = 'on'
|
||||
return qs
|
||||
|
||||
def include_submission(self):
|
||||
qs = self._clone()
|
||||
qs._filters['include-submission'] = 'on'
|
||||
return qs
|
||||
|
||||
def include_workflow(self):
|
||||
qs = self._clone()
|
||||
qs._filters['include-workflow'] = 'on'
|
||||
return qs
|
||||
|
||||
def include_workflow_data(self):
|
||||
qs = self._clone()
|
||||
qs._filters['include-workflow-data'] = 'on'
|
||||
return qs
|
||||
|
||||
def access_control(self, user):
|
||||
qs = self._clone()
|
||||
qs._user = user
|
||||
|
|
|
@ -34,6 +34,36 @@ def get_full(queryset):
|
|||
return queryset.get_full()
|
||||
|
||||
|
||||
@register.filter
|
||||
def include_fields(queryset):
|
||||
return queryset.include_fields()
|
||||
|
||||
|
||||
@register.filter
|
||||
def include_evolution(queryset):
|
||||
return queryset.include_evolution()
|
||||
|
||||
|
||||
@register.filter
|
||||
def include_roles(queryset):
|
||||
return queryset.include_roles()
|
||||
|
||||
|
||||
@register.filter
|
||||
def include_submission(queryset):
|
||||
return queryset.include_submission()
|
||||
|
||||
|
||||
@register.filter
|
||||
def include_workflow(queryset):
|
||||
return queryset.include_workflow()
|
||||
|
||||
|
||||
@register.filter
|
||||
def include_workflow_data(queryset):
|
||||
return queryset.include_workflow_data()
|
||||
|
||||
|
||||
@register.filter
|
||||
def access_control(queryset, user):
|
||||
return queryset.access_control(user)
|
||||
|
|
|
@ -146,6 +146,20 @@ def test_full(mock_send, context, nocache):
|
|||
assert 'full=on&' in mock_send.call_args_list[0][0][0].url
|
||||
|
||||
|
||||
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
|
||||
def test_include_filters(mock_send, context, nocache):
|
||||
for part in ['fields', 'evolution', 'roles', 'submission', 'workflow', 'workflow_data']:
|
||||
_filter = 'include_%s' % part
|
||||
param = _filter.replace('_', '-')
|
||||
t = Template('{{ cards|objects:"foo"|list }}')
|
||||
t.render(context)
|
||||
assert '%s=on&' % param not in mock_send.call_args_list[0][0][0].url
|
||||
mock_send.reset_mock()
|
||||
t = Template('{{ cards|objects:"foo"|%s|list }}' % _filter)
|
||||
t.render(context)
|
||||
assert '%s=on&' % param in mock_send.call_args_list[0][0][0].url
|
||||
|
||||
|
||||
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
|
||||
def test_errors(mock_send, context, nocache):
|
||||
t = Template('{{ cards|objects:"foo"|list }}')
|
||||
|
|
Loading…
Reference in New Issue