diff options
author | Magnus Hagander | 2020-05-11 19:57:27 +0000 |
---|---|---|
committer | Magnus Hagander | 2020-05-11 19:57:27 +0000 |
commit | b0c25266cc15cad1cfc8dc3c516c4d42d221a527 (patch) | |
tree | 5f815e4931df3f112a8a68dc7767f50e81d11342 /postgresqleu/util/backendviews.py | |
parent | 03dc5f218f941708bff86b2e6b6141eaba476e71 (diff) |
Allow speicying an object_queryset in backend list editors
For forms that are not bound to a conference, make it possible to
speicfy a custom queryset instead of using the object default one,
thereby being able to add custom filtering.
Diffstat (limited to 'postgresqleu/util/backendviews.py')
-rw-r--r-- | postgresqleu/util/backendviews.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/postgresqleu/util/backendviews.py b/postgresqleu/util/backendviews.py index 884e89c6..9fad8e38 100644 --- a/postgresqleu/util/backendviews.py +++ b/postgresqleu/util/backendviews.py @@ -203,7 +203,7 @@ def backend_process_form(request, urlname, formclass, id, cancel_url='../', save }) -def backend_list_editor(request, urlname, formclass, resturl, allow_new=True, allow_delete=True, conference=None, breadcrumbs=[], bypass_conference_filter=False, instancemaker=None, return_url='../', topadmin=None): +def backend_list_editor(request, urlname, formclass, resturl, allow_new=True, allow_delete=True, conference=None, breadcrumbs=[], bypass_conference_filter=False, instancemaker=None, return_url='../', topadmin=None, object_queryset=None): if not conference and not bypass_conference_filter: conference = get_authenticated_conference(request, urlname) @@ -217,7 +217,10 @@ def backend_list_editor(request, urlname, formclass, resturl, allow_new=True, al if resturl == '' or resturl is None: # Render the list of objects if bypass_conference_filter: - objects = formclass.Meta.model.objects.all() + if object_queryset is not None: + objects = object_queryset.all() + else: + objects = formclass.Meta.model.objects.all() else: if hasattr(formclass.Meta, 'conference_queryset'): objects = formclass.Meta.conference_queryset(conference).all() |