| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- {% extends 'base/layout.html' %}
- {% load helpers %}
- {% load form_helpers %}
- {% load render_table from django_tables2 %}
- {% comment %}
- Context:
- model: The model class of the objects being modified
- form: The bulk edit form class
- table: The table class for rendering list of objects being modified
- return_url: The URL to which the user is redirected after submitting the form
- {% endcomment %}
- {% block title %}Editing {{ table.rows|length }} {{ model|meta:"verbose_name_plural"|bettertitle }}{% endblock %}
- {% block tabs %}
- <ul class="nav nav-tabs px-3">
- <li class="nav-item" role="presentation">
- <button class="nav-link active" id="edit-form-tab" data-bs-toggle="tab" data-bs-target="#edit-form" type="button" role="tab" aria-controls="edit-form" aria-selected="true">
- Bulk Edit
- </button>
- </li>
- <li class="nav-item" role="presentation">
- <button class="nav-link" id="object-list-tab" data-bs-toggle="tab" data-bs-target="#object-list" type="button" role="tab" aria-controls="object-list" aria-selected="false">
- Selected Objects
- {% badge table.rows|length %}
- </button>
- </li>
- </ul>
- {% endblock tabs %}
- {% block content-wrapper %}
- <div class="tab-content">
- {% block content %}
- {# Edit form #}
- <div class="tab-pane show active" id="edit-form" role="tabpanel" aria-labelledby="edit-form-tab">
- <form action="" method="post" class="form form-horizontal">
- {% csrf_token %}
- {% if request.POST.return_url %}
- <input type="hidden" name="return_url" value="{{ request.POST.return_url }}" />
- {% endif %}
- {% for field in form.hidden_fields %}
- {{ field }}
- {% endfor %}
- <div class="row">
- <div class="col col-md-12 col-lg-10 offset-lg-1">
- <div class="card">
- <div class="card-body">
- {% if form.fieldsets %}
- {# Render grouped fields according to declared fieldsets #}
- {% for group, fields in form.fieldsets %}
- <div class="field-group mb-5">
- <div class="row mb-2">
- <h5 class="offset-sm-3">
- {% if group %}{{ group }}{% else %}{{ model|meta:"verbose_name"|bettertitle }}{% endif %}
- </h5>
- </div>
- {% for name in fields %}
- {% with field=form|getfield:name %}
- {% if field.name in form.nullable_fields %}
- {% render_field field bulk_nullable=True %}
- {% else %}
- {% render_field field %}
- {% endif %}
- {% endwith %}
- {% endfor %}
- </div>
- {% endfor %}
- {# Render tag add/remove fields #}
- {% if form.add_tags and form.remove_tags %}
- <div class="field-group mb-5">
- <div class="row mb-2">
- <h5 class="offset-sm-3">Tags</h5>
- </div>
- {% render_field form.add_tags %}
- {% render_field form.remove_tags %}
- </div>
- {% endif %}
- {# Render custom fields #}
- {% if form.custom_fields %}
- <div class="field-group mb-5">
- <div class="row mb-2">
- <h5 class="offset-sm-3">Custom Fields</h5>
- </div>
- {% render_custom_fields form %}
- </div>
- {% endif %}
- {# Render comments #}
- {% if form.comments %}
- <div class="field-group mb-5">
- <div class="row mb-2">
- <h5 class="offset-sm-3">Comments</h5>
- </div>
- {% render_field form.comments bulk_nullable=True %}
- </div>
- {% endif %}
- {% else %}
- {# Render all fields #}
- {% for field in form.visible_fields %}
- {% if field.name in form.nullable_fields %}
- {% render_field field bulk_nullable=True %}
- {% else %}
- {% render_field field %}
- {% endif %}
- {% endfor %}
- {% endif %}
- </div>
- </div>
- <div class="text-end">
- <button type="submit" name="_apply" class="btn btn-sm btn-primary">Apply</button>
- <a href="{{ return_url }}" class="btn btn-sm btn-outline-danger">Cancel</a>
- </div>
- </div>
- </div>
- </form>
- </div>
- {# Selected objects list #}
- <div class="tab-pane" id="object-list" role="tabpanel" aria-labelledby="object-list-tab">
- <div class="card">
- <div class="card-body table-responsive">
- {% render_table table 'inc/table.html' %}
- </div>
- </div>
- </div>
- {% endblock content %}
- </div>
- {% endblock content-wrapper %}
|