mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-19 19:09:22 +02:00
default filter applied when clicking domain requests from editing a domain request
This commit is contained in:
parent
64d0ec3f93
commit
5673d5951e
1 changed files with 25 additions and 2 deletions
|
@ -1435,12 +1435,35 @@ class DomainRequestAdmin(ListHeaderAdmin):
|
||||||
"""
|
"""
|
||||||
Override changelist_view to set the selected value of status filter.
|
Override changelist_view to set the selected value of status filter.
|
||||||
"""
|
"""
|
||||||
|
# there are two conditions which should set the default selected filter:
|
||||||
|
# 1 - there are no query parameters in the request and the request is the
|
||||||
|
# initial request for this view
|
||||||
|
# 2 - there are no query parameters in the request and the referring url is
|
||||||
|
# the change view for a domain request
|
||||||
|
should_apply_default_filter = False
|
||||||
# use http_referer in order to distinguish between request as a link from another page
|
# use http_referer in order to distinguish between request as a link from another page
|
||||||
# and request as a removal of all filters
|
# and request as a removal of all filters
|
||||||
http_referer = request.META.get("HTTP_REFERER", "")
|
http_referer = request.META.get("HTTP_REFERER", "")
|
||||||
# if there are no query parameters in the request
|
# if there are no query parameters in the request
|
||||||
# and the request is the initial request for this view
|
if not bool(request.GET):
|
||||||
if not bool(request.GET) and request.path not in http_referer:
|
# if the request is the initial request for this view
|
||||||
|
if request.path not in http_referer:
|
||||||
|
should_apply_default_filter = True
|
||||||
|
# elif the request is a referral from changelist view or from
|
||||||
|
# domain request change view
|
||||||
|
elif request.path in http_referer:
|
||||||
|
# find the index to determine the referring url after the path
|
||||||
|
index = http_referer.find(request.path)
|
||||||
|
# Check if there is a character following the path in http_referer
|
||||||
|
if index + len(request.path) < len(http_referer):
|
||||||
|
next_char = http_referer[index + len(request.path)]
|
||||||
|
|
||||||
|
# Check if the next character is a digit, if so, this indicates
|
||||||
|
# a change view for domain request
|
||||||
|
if next_char.isdigit():
|
||||||
|
should_apply_default_filter = True
|
||||||
|
|
||||||
|
if should_apply_default_filter:
|
||||||
# modify the GET of the request to set the selected filter
|
# modify the GET of the request to set the selected filter
|
||||||
modified_get = copy.deepcopy(request.GET)
|
modified_get = copy.deepcopy(request.GET)
|
||||||
modified_get["status__in"] = "submitted,in review,action needed"
|
modified_get["status__in"] = "submitted,in review,action needed"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue