From 12756831f97136e9c41fdd3c77c7af0dc7f4ab57 Mon Sep 17 00:00:00 2001 From: Parbhat Puri <parbhatpuri17@gmail.com> Date: Mon, 25 Nov 2019 18:02:32 +0000 Subject: [PATCH] By default set open filter for Round listing page's index URL --- opentech/apply/funds/admin.py | 2 ++ opentech/apply/funds/admin_helpers.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/opentech/apply/funds/admin.py b/opentech/apply/funds/admin.py index 1c1414756..b90fa2196 100644 --- a/opentech/apply/funds/admin.py +++ b/opentech/apply/funds/admin.py @@ -14,6 +14,7 @@ from .admin_helpers import ( FormsFundRoundListFilter, RoundStateListFilter, RoundFundChooserView, + RoundAdminURLHelper, ApplicationFormButtonHelper, ) from .admin_views import CopyApplicationFormViewClass @@ -34,6 +35,7 @@ class RoundAdmin(BaseRoundAdmin): menu_icon = 'repeat' list_display = ('title', 'fund', 'start_date', 'end_date', 'applications', 'review_forms') list_filter = (RoundStateListFilter,) + url_helper_class = RoundAdminURLHelper def applications(self, obj): diff --git a/opentech/apply/funds/admin_helpers.py b/opentech/apply/funds/admin_helpers.py index 8df313c63..5687b6fb0 100644 --- a/opentech/apply/funds/admin_helpers.py +++ b/opentech/apply/funds/admin_helpers.py @@ -1,10 +1,13 @@ +from urllib.parse import urlencode + from django import forms from django.contrib import admin from django.urls import reverse +from django.utils.functional import cached_property from django.utils.translation import ugettext as _ from wagtail.contrib.modeladmin.forms import ParentChooserForm -from wagtail.contrib.modeladmin.helpers import PageButtonHelper, ButtonHelper +from wagtail.contrib.modeladmin.helpers import PageAdminURLHelper, PageButtonHelper, ButtonHelper from wagtail.contrib.modeladmin.views import ChooseParentView from wagtail.core.models import Page @@ -122,3 +125,11 @@ class ApplicationFormButtonHelper(ButtonHelper): buttons.append(copy_form_button) return buttons + + +class RoundAdminURLHelper(PageAdminURLHelper): + @cached_property + def index_url(self): + # By default set open filter for Round listing page's index URL + params = {'form-state': 'open'} + return f"{self.get_action_url('index')}?{urlencode(params)}" -- GitLab