mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-16 09:37:03 +02:00
Add descriptive subheader for listing pages in django admin
This commit is contained in:
parent
d506e5a8e8
commit
eac616204b
3 changed files with 48 additions and 2 deletions
|
@ -141,6 +141,26 @@ class DomainApplicationAdmin(AuditedAdmin):
|
|||
# Regular users can only view the specified fields
|
||||
return self.readonly_fields
|
||||
|
||||
def changelist_view(self, request, extra_context=None):
|
||||
if extra_context is None:
|
||||
extra_context = {}
|
||||
# Get the filtered values
|
||||
filters = self.get_filters(request)
|
||||
# Pass the filtered values to the template context
|
||||
extra_context['filters'] = filters
|
||||
extra_context['search_query'] = request.GET.get('q', '') # Assuming the search query parameter is 'q'
|
||||
return super().changelist_view(request, extra_context=extra_context)
|
||||
|
||||
def get_filters(self, request):
|
||||
filters = []
|
||||
# Retrieve the filter parameters
|
||||
for param in request.GET.keys():
|
||||
# Exclude the default search parameter 'q'
|
||||
if param != 'q' and param != 'o':
|
||||
# Append the filter parameter and its value to the list
|
||||
filters.append({'parameter_name': param.replace('__exact','').replace('_type','').replace('__id',' id'), 'parameter_value': request.GET.get(param)})
|
||||
return filters
|
||||
|
||||
|
||||
admin.site.register(models.User, MyUserAdmin)
|
||||
admin.site.register(models.UserDomainRole, AuditedAdmin)
|
||||
|
|
|
@ -78,6 +78,12 @@ DEBUG = env_debug
|
|||
# Installing them here makes them available for execution.
|
||||
# Do not access INSTALLED_APPS directly. Use `django.apps.apps` instead.
|
||||
INSTALLED_APPS = [
|
||||
# let's be sure to install our own application!
|
||||
# it needs to be listed before django.contrib.admin
|
||||
# otherwise Django would find the default template
|
||||
# provided by django.contrib.admin first and use
|
||||
# that instead of our custom templates.
|
||||
"registrar",
|
||||
# Django automatic admin interface reads metadata
|
||||
# from database models to provide a quick, model-centric
|
||||
# interface where trusted users can manage content
|
||||
|
@ -106,8 +112,6 @@ INSTALLED_APPS = [
|
|||
"django_fsm",
|
||||
# library for phone numbers
|
||||
"phonenumber_field",
|
||||
# let's be sure to install our own application!
|
||||
"registrar",
|
||||
# Our internal API application
|
||||
"api",
|
||||
# Only for generating documentation, uncomment to run manage.py generate_puml
|
||||
|
|
22
src/registrar/templates/admin/change_list.html
Normal file
22
src/registrar/templates/admin/change_list.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
{% extends "admin/change_list.html" %}
|
||||
|
||||
{% block content_title %}
|
||||
<h1>{{ title }}</h1>
|
||||
<h2>
|
||||
{{ cl.result_count }}
|
||||
{% if cl.get_ordering_field_columns %}
|
||||
sorted
|
||||
{% endif %}
|
||||
results
|
||||
{% if filters %}
|
||||
filtered by
|
||||
{% for filter_param in filters %}
|
||||
{{ filter_param.parameter_name }} = {{ filter_param.parameter_value }}
|
||||
{% if not forloop.last %}, {% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if search_query %}
|
||||
for {{ search_query }}
|
||||
{% endif %}
|
||||
</h2>
|
||||
{% endblock %}
|
Loading…
Add table
Add a link
Reference in a new issue