fix calling child_model without parent

This commit is contained in:
Laura Klünder 2017-07-14 00:08:34 +02:00
parent 44c59e51a0
commit d5f431f0af

View file

@ -12,13 +12,17 @@ from c3nav.editor.views.base import sidebar_view
def child_model(request, model, kwargs=None, parent=None): def child_model(request, model, kwargs=None, parent=None):
model = request.changeset.wrap_model(model) model = request.changeset.wrap_model(model)
related_name = model._meta.default_related_name related_name = model._meta.default_related_name
qs = getattr(parent, related_name) if parent is not None:
if hasattr(model, 'q_for_request'): qs = getattr(parent, related_name)
qs = qs.filter(model.q_for_request(request)) if hasattr(model, 'q_for_request'):
qs = qs.filter(model.q_for_request(request))
count = qs.count()
else:
count = None
return { return {
'title': model._meta.verbose_name_plural, 'title': model._meta.verbose_name_plural,
'url': reverse('editor.'+related_name+'.list', kwargs=kwargs), 'url': reverse('editor.'+related_name+'.list', kwargs=kwargs),
'count': None if parent is None else qs.count(), 'count': count,
} }