summaryrefslogtreecommitdiff
path: root/postgresqleu/util/backendviews.py
diff options
context:
space:
mode:
authorMagnus Hagander2020-05-11 19:57:27 +0000
committerMagnus Hagander2020-05-11 19:57:27 +0000
commitb0c25266cc15cad1cfc8dc3c516c4d42d221a527 (patch)
tree5f815e4931df3f112a8a68dc7767f50e81d11342 /postgresqleu/util/backendviews.py
parent03dc5f218f941708bff86b2e6b6141eaba476e71 (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.py7
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()