{% extends "admin/base.html" %} {% block title %}Admin - Manage {{ model_name | default('Objects') }}{% endblock %} {% block extra_head %} {% endblock %} {% block main_content %}

Manage {{ model_name | default('Objects') }}

{% if request.get_context('flash_messages') %}
{% for message in request.get_context('flash_messages') %}
{{ message.message }}
{% endfor %}
{% endif %}
{% if filterable_fields_data %}
{% for filter_field in filterable_fields_data.values() %}
{% if filter_field.control == 'select' %} {% elif filter_field.control == 'date_range_inputs' %}
to
{% elif filter_field.control == 'numeric_range_inputs' %}
to
{% endif %}
{% endfor %}
{% endif %}
{% if search_query or filter_params or current_sort_by %} {% set base_url = request.path.split('?')[0] %} Clear {% endif %}
{% if current_sort_by %} {% endif %}
{% if objects %}
{% for field_data in fields_to_display %} {% endfor %} {% for obj in objects %} {% for field_data in fields_to_display %} {% endfor %} {% endfor %}
{% if field_data.sortable %} {% set next_sort_order = 'desc' if field_data.is_current_sort and current_sort_order == 'asc' else 'asc' %} {% set query_params_list = [] %} {% if search_query %} {% set query_params_list = query_params_list + [('q', search_query)] %} {% endif %} {% for key, value in filter_params.items() %} {% if value is not none and value != '' %} {% set query_params_list = query_params_list + [(key, value)] %} {% endif %} {% endfor %} {% set query_params_list = query_params_list + [('per_page', pagination.per_page | default(20))] %} {% set query_params_list = query_params_list + [('sort_by', field_data.name), ('sort_order', next_sort_order)] %} {% set sort_url = request.path ~ '?' ~ query_params_list | urlencode %} {{ field_data.name | replace('_', ' ') | capitalize }} {% if field_data.is_current_sort %} {% if current_sort_order == 'asc' %} {% else %} {% endif %} {% else %} {% endif %} {% else %} {{ field_data.name | replace('_', ' ') | capitalize }} {% endif %} Actions
{% set field_value = attribute(obj, field_data.name) %} {% if field_value is none %} None {% elif field_data.type == 'boolean' %} {% if field_value == True %} Yes {% else %} No {% endif %} {% elif field_data.type == 'datetime' %} {{ field_value | date("%Y-%m-%d %H:%M:%S") }} {% elif field_data.type == 'date' %} {{ field_value | date("%Y-%m-%d") }} {% elif field_data.type == 'json' %} {{ field_value | tojson(indent=None) if field_value is mapping else field_value | string }} {% elif field_data.type == 'foreign_key' %} {{ field_value | default("None") }} {% elif field_data.type == 'manytomany' %} {% if field_value %} {% set related_items = field_value | map(attribute='__str__') | list %} {% if related_items | length > 3 %} {{ related_items | length }} related items {% else %} {{ related_items | join(', ') }} {% endif %} {% else %} None {% endif %} {% elif field_data.type == 'file_upload' %} {% if field_value and field_value is string %} {% set file_url = field_value %} {% set filename = field_value | split('/') | last %} {% if filename | lower | endswith(('.jpg', '.jpeg', '.png', '.gif', '.svg', '.webp')) %} {{ filename }} {% else %} {{ filename }} {% endif %} {% else %} No file {% endif %} {% elif field_data.type in ['string', 'text'] %} {{ field_value | default('') }} {% else %} {{ field_v }} {% endif %}
Edit
{% if csrf_token %} {% endif %}
{% else %}
{% if search_query or filter_params or current_sort_by %}

No {{ model_name | default('objects') }} found matching your current filters or search query.

{% set base_url = request.path.split('?')[0] %} Clear Filters and Search {% else %}

No {{ model_name | default('objects') }} have been added yet.

Add New {{ model_name | default('Object') }} {% endif %}
{% endif %} {% if pagination.total_pages > 1 %}
{% endif %}
{% endblock %} {% block extra_body %} {% endblock %}