mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-25 04:50:00 -06:00
Closes #13102: Establish initial translation support in templates
--------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
This commit is contained in:
@@ -2,19 +2,20 @@
|
||||
{% load helpers %}
|
||||
{% load form_helpers %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}Add {{ model_name|title }}{% endblock %}
|
||||
{% block title %}{% blocktrans %}Add {{ model_name|title }}{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block tabs %}
|
||||
<ul class="nav nav-tabs px-3">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="component-form-tab" data-bs-toggle="tab" data-bs-target="#component-form" type="button" role="tab" aria-controls="component-form" aria-selected="true">
|
||||
Bulk Creation
|
||||
{% trans "Bulk Creation" %}
|
||||
</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
|
||||
{% trans "Selected Objects" %}
|
||||
{% badge table.rows|length %}
|
||||
</button>
|
||||
</li>
|
||||
@@ -40,7 +41,7 @@
|
||||
<div class="row">
|
||||
<div class="col col-md-12 col-lg-10 offset-lg-1">
|
||||
<div class="card">
|
||||
<h5 class="card-header">{{ model_name|title }} to Add</h5>
|
||||
<h5 class="card-header">{{ model_name|title }} {% trans "to Add" %}</h5>
|
||||
<div class="card-body">
|
||||
{% for field in form.visible_fields %}
|
||||
{% render_field field %}
|
||||
@@ -49,8 +50,8 @@
|
||||
</div>
|
||||
<div class="form-group text-end">
|
||||
<div class="col col-md-12">
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
||||
<button type="submit" name="_create" class="btn btn-primary">Create</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">{% trans "Cancel" %}</a>
|
||||
<button type="submit" name="_create" class="btn btn-primary">{% trans "Create" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load helpers %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Blocks:
|
||||
@@ -13,15 +14,18 @@ Context:
|
||||
return_url: The URL to which the user is redirected after submitting the form
|
||||
{% endcomment %}
|
||||
|
||||
{% block title %}Delete {{ table.rows|length }} {{ model|meta:"verbose_name_plural"|bettertitle }}?{% endblock %}
|
||||
{% block title %}{% blocktrans %}Delete {{ table.rows|length }} {{ model|meta:"verbose_name_plural"|bettertitle }}?{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-md px-0">
|
||||
<div class="alert alert-danger mb-3" role="alert">
|
||||
<h4 class="alert-heading">Confirm Bulk Deletion</h4>
|
||||
<h4 class="alert-heading">{% trans "Confirm Bulk Deletion" %}</h4>
|
||||
<hr />
|
||||
<strong>Warning:</strong> The following operation will delete <strong>{{ table.rows|length }}</strong>
|
||||
{{ model|meta:"verbose_name_plural" }}. Please carefully review the objects to be deleted and confirm below.
|
||||
<strong>{% trans "Warning" context "Noun" %}:</strong>
|
||||
{% blocktrans with count=table.rows|length type_plural=model|meta:"verbose_name_plural" %}
|
||||
The following operation will delete <strong>{{ count }}</strong> {{ type_plural }}. Please
|
||||
carefully review the objects to be deleted and confirm below.
|
||||
{% endblocktrans %}
|
||||
{% block message_extra %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -36,8 +40,8 @@ Context:
|
||||
{{ field }}
|
||||
{% endfor %}
|
||||
<div class="text-end">
|
||||
<button type="submit" name="_confirm" class="btn btn-danger">Delete {{ table.rows|length }} {{ model|meta:"verbose_name_plural" }}</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
|
||||
<button type="submit" name="_confirm" class="btn btn-danger">{% trans "Delete" %} {{ table.rows|length }} {{ model|meta:"verbose_name_plural" }}</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-dark">{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
{% load helpers %}
|
||||
{% load form_helpers %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Context:
|
||||
@@ -11,18 +12,18 @@ Context:
|
||||
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 title %}{% blocktrans %}Editing {{ table.rows|length }} {{ model|meta:"verbose_name_plural"|bettertitle }}{% endblocktrans %}{% 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
|
||||
{% trans "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
|
||||
{% trans "Selected Objects" %}
|
||||
{% badge table.rows|length %}
|
||||
</button>
|
||||
</li>
|
||||
@@ -75,7 +76,7 @@ Context:
|
||||
{% 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>
|
||||
<h5 class="offset-sm-3">{% trans "Tags" %}</h5>
|
||||
</div>
|
||||
{% render_field form.add_tags %}
|
||||
{% render_field form.remove_tags %}
|
||||
@@ -86,7 +87,7 @@ Context:
|
||||
{% if form.custom_fields %}
|
||||
<div class="field-group mb-5">
|
||||
<div class="row mb-2">
|
||||
<h5 class="offset-sm-3">Custom Fields</h5>
|
||||
<h5 class="offset-sm-3">{% trans "Custom Fields" %}</h5>
|
||||
</div>
|
||||
{% render_custom_fields form %}
|
||||
</div>
|
||||
@@ -96,7 +97,7 @@ Context:
|
||||
{% if form.comments %}
|
||||
<div class="field-group mb-5">
|
||||
<div class="row mb-2">
|
||||
<h5 class="offset-sm-3">Comments</h5>
|
||||
<h5 class="offset-sm-3">{% trans "Comments" %}</h5>
|
||||
</div>
|
||||
{% render_field form.comments bulk_nullable=True %}
|
||||
</div>
|
||||
@@ -118,8 +119,8 @@ Context:
|
||||
</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>
|
||||
<button type="submit" name="_apply" class="btn btn-sm btn-primary">{% trans "Apply" %}</button>
|
||||
<a href="{{ return_url }}" class="btn btn-sm btn-outline-danger">{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load helpers %}
|
||||
{% load form_helpers %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Context:
|
||||
@@ -10,23 +11,23 @@ Context:
|
||||
return_url: The URL to which the user is redirected after submitting the form
|
||||
{% endcomment %}
|
||||
|
||||
{% block title %}{{ model|meta:"verbose_name"|bettertitle }} Bulk Import{% endblock %}
|
||||
{% block title %}{{ model|meta:"verbose_name"|bettertitle }} {% trans "Bulk Import" %}{% endblock %}
|
||||
|
||||
{% block tabs %}
|
||||
<ul class="nav nav-tabs px-3">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="import-form-tab" data-bs-toggle="tab" data-bs-target="#import-form" data-href="#tab_import-form" type="button" role="tab" aria-controls="import-form" aria-selected="true">
|
||||
Direct Import
|
||||
{% trans "Direct Import" %}
|
||||
</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="upload-form-tab" data-bs-toggle="tab" data-bs-target="#upload-form" data-href="#tab_upload-form" type="button" role="tab" aria-controls="upload-form" aria-selected="false">
|
||||
Upload File
|
||||
{% trans "Upload File" %}
|
||||
</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="datafile-form-tab" data-bs-toggle="tab" data-bs-target="#datafile-form" data-href="#tab_datafile-form" type="button" role="tab" aria-controls="datafile-form" aria-selected="false">
|
||||
Data File
|
||||
{% trans "Data File" %}
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -46,9 +47,9 @@ Context:
|
||||
{% render_field form.format %}
|
||||
<div class="form-group">
|
||||
<div class="col col-md-12 text-end">
|
||||
<button type="submit" name="data_submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" name="data_submit" class="btn btn-primary">{% trans "Submit" %}</button>
|
||||
{% if return_url %}
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">{% trans "Cancel" %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -67,9 +68,9 @@ Context:
|
||||
{% render_field form.format %}
|
||||
<div class="form-group">
|
||||
<div class="col col-md-12 text-end">
|
||||
<button type="submit" name="file_submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" name="file_submit" class="btn btn-primary">{% trans "Submit" %}</button>
|
||||
{% if return_url %}
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">{% trans "Cancel" %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -88,9 +89,9 @@ Context:
|
||||
{% render_field form.format %}
|
||||
<div class="form-group">
|
||||
<div class="col col-md-12 text-end">
|
||||
<button type="submit" name="file_submit" class="btn btn-primary">Submit</button>
|
||||
<button type="submit" name="file_submit" class="btn btn-primary">{% trans "Submit" %}</button>
|
||||
{% if return_url %}
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">{% trans "Cancel" %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -103,15 +104,15 @@ Context:
|
||||
<div class="col col-md-12">
|
||||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
Field Options
|
||||
{% trans "Field Options" %}
|
||||
</h5>
|
||||
<div class="card-body">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Required</th>
|
||||
<th>Accessor</th>
|
||||
<th>Description</th>
|
||||
<th>{% trans "Field" %}</th>
|
||||
<th>{% trans "Required" %}</th>
|
||||
<th>{% trans "Accessor" %}</th>
|
||||
<th>{% trans "Description" %}</th>
|
||||
</tr>
|
||||
{% for name, field in fields.items %}
|
||||
<tr>
|
||||
@@ -141,14 +142,14 @@ Context:
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title"><code>{{ name }}</code> Choices</h5>
|
||||
<h5 class="modal-title"><code>{{ name }}</code> {% trans "Choices" %}</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table table-striped">
|
||||
<tr>
|
||||
<th>Import Value</th>
|
||||
<th>Label</th>
|
||||
<th>{% trans "Import Value" %}</th>
|
||||
<th>{% trans "Label" %}</th>
|
||||
</tr>
|
||||
{% for value, label in field.choices %}
|
||||
{% if value %}
|
||||
@@ -174,9 +175,9 @@ Context:
|
||||
{{ field.label }}<br />
|
||||
{% endif %}
|
||||
{% if field|widget_type == 'dateinput' %}
|
||||
<small class="text-muted">Format: YYYY-MM-DD</small>
|
||||
<small class="text-muted">{% trans "Format: YYYY-MM-DD" %}</small>
|
||||
{% elif field|widget_type == 'checkboxinput' %}
|
||||
<small class="text-muted">Specify "true" or "false"</small>
|
||||
<small class="text-muted">{% trans "Specify \"true\" or \"false" %}"</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -187,12 +188,12 @@ Context:
|
||||
</div>
|
||||
</div>
|
||||
<p class="small text-muted">
|
||||
<i class="mdi mdi-check-bold text-success"></i> Required fields <strong>must</strong> be specified for all
|
||||
objects.
|
||||
<i class="mdi mdi-check-bold text-success"></i>
|
||||
{% blocktrans %}Required fields <strong>must</strong> be specified for all objects.{% endblocktrans %}
|
||||
</p>
|
||||
<p class="small text-muted">
|
||||
<i class="mdi mdi-information-outline"></i> Related objects may be referenced by any unique attribute.
|
||||
For example, <code>vrf.rd</code> would identify a VRF by its route distinguisher.
|
||||
<i class="mdi mdi-information-outline"></i>
|
||||
{% blocktrans with example="vrf.rd" %}Related objects may be referenced by any unique attribute. For example, <code>{{ example }}</code> would identify a VRF by its route distinguisher.{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load helpers %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}Remove {{ table.rows|length }} {{ obj_type_plural|bettertitle }}?{% endblock %}
|
||||
{% block title %}{% blocktrans %}Remove {{ table.rows|length }} {{ obj_type_plural|bettertitle }}?{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-md px-0">
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<h4 class="alert-heading">Confirm Bulk Removal</h4>
|
||||
<p><strong>Warning:</strong> The following operation will remove {{ table.rows|length }} {{ obj_type_plural }} from {{ parent_obj }}.</p>
|
||||
<h4 class="alert-heading">{% trans "Confirm Bulk Removal" %}</h4>
|
||||
<p><strong>{% blocktrans %}Warning:</strong> The following operation will remove {{ table.rows|length }} {{ obj_type_plural }} from {{ parent_obj }}.{% endblocktrans %}</p>
|
||||
<hr />
|
||||
<p class="mb-0">Please carefully review the {{ obj_type_plural }} to be removed and confirm below.</p>
|
||||
<p class="mb-0">{% blocktrans %}Please carefully review the {{ obj_type_plural }} to be removed and confirm below.{% endblocktrans %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-xl px-0">
|
||||
@@ -23,8 +24,8 @@
|
||||
{{ field }}
|
||||
{% endfor %}
|
||||
<div class="text-center">
|
||||
<button type="submit" name="_confirm" class="btn btn-danger">Delete these {{ table.rows|length }} {{ obj_type_plural }}</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
|
||||
<button type="submit" name="_confirm" class="btn btn-danger">{% blocktrans %}Delete these {{ table.rows|length }} {{ obj_type_plural }}{% endblocktrans %}</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-dark">{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load helpers %}
|
||||
{% load form_helpers %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}Renaming {{ selected_objects|length }} {{ obj_type_plural|bettertitle }}{% endblock %}
|
||||
{% block title %}{% blocktrans %}Renaming {{ selected_objects|length }} {{ obj_type_plural|bettertitle }}{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row mb-3">
|
||||
@@ -10,8 +11,8 @@
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Current Name</th>
|
||||
<th>New Name</th>
|
||||
<th>{% trans "Current Name" %}</th>
|
||||
<th>{% trans "New Name" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -28,17 +29,17 @@
|
||||
<form action="" method="post" class="form form-horizontal">
|
||||
{% csrf_token %}
|
||||
<div class="card">
|
||||
<h5 class="card-header">Rename</h5>
|
||||
<h5 class="card-header">{% trans "Rename" %}</h5>
|
||||
<div class="card-body">
|
||||
{% render_form form %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col col-md-12 my-3 text-end">
|
||||
<button type="submit" name="_preview" class="btn btn-primary">Preview</button>
|
||||
<button type="submit" name="_preview" class="btn btn-primary">{% trans "Preview" %}</button>
|
||||
{% if '_preview' in request.POST and not form.errors %}
|
||||
<button type="submit" name="_apply" class="btn btn-primary">Apply</button>
|
||||
<button type="submit" name="_apply" class="btn btn-primary">{% trans "Apply" %}</button>
|
||||
{% endif %}
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">Cancel</a>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-danger">{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load form_helpers %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row mt-5">
|
||||
@@ -12,11 +13,11 @@
|
||||
<div class="card border-danger">
|
||||
<h5 class="card-header">{% block confirmation_title %}{% endblock %}</h5>
|
||||
<div class="card-body">
|
||||
{% block message %}<p>Are you sure?</p>{% endblock %}
|
||||
{% block message %}<p>{% trans "Are you sure" %}?</p>{% endblock %}
|
||||
</div>
|
||||
<div class="card-footer text-end">
|
||||
<button type="submit" name="_confirm" class="btn btn-{{ button_class|default:"danger" }}">Confirm</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-dark">Cancel</a>
|
||||
<button type="submit" name="_confirm" class="btn btn-{{ button_class|default:"danger" }}">{% trans "Confirm" %}</button>
|
||||
<a href="{{ return_url }}" class="btn btn-outline-dark">{% trans "Cancel" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
{% load perms %}
|
||||
{% load plugins %}
|
||||
{% load tabs %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Blocks:
|
||||
@@ -44,9 +45,9 @@ Context:
|
||||
|
||||
{% block subtitle %}
|
||||
<div class="object-subtitle">
|
||||
<span>Created {{ object.created|annotated_date }}</span>
|
||||
<span>{% trans "Created" %} {{ object.created|annotated_date }}</span>
|
||||
<span class="separator">·</span>
|
||||
<span>Updated <span title="{{ object.last_updated }}">{{ object.last_updated|timesince }}</span> ago</span>
|
||||
<span>{% trans "Updated" %} <span title="{{ object.last_updated }}">{{ object.last_updated|timesince }}</span> {% trans "ago" %}</span>
|
||||
</div>
|
||||
{% endblock subtitle %}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load helpers %}
|
||||
{% load form_helpers %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Context:
|
||||
@@ -10,7 +11,7 @@ Context:
|
||||
return_url: The URL to which the user is redirected after submitting the form
|
||||
{% endcomment %}
|
||||
|
||||
{% block title %}Delete {{ object|meta:"verbose_name" }}?{% endblock %}
|
||||
{% block title %}{% blocktrans %}Delete {{ object|meta:"verbose_name" }}?{% endblocktrans %}{% endblock %}
|
||||
|
||||
{% block header %}{% endblock %}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{% extends 'base/layout.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Blocks:
|
||||
@@ -12,14 +13,14 @@ Context:
|
||||
{% endcomment %}
|
||||
|
||||
{% block title %}
|
||||
{% if object.pk %}Editing {{ object|meta:"verbose_name" }} {{ object }}{% else %}Add a new {{ object|meta:"verbose_name" }}{% endif %}
|
||||
{% if object.pk %}{% blocktrans %}Editing {{ object|meta:"verbose_name" }} {{ object }}{% endblocktrans %}{% else %}{% blocktrans %}Add a new {{ object|meta:"verbose_name" }}{% endblocktrans %}{% endif %}
|
||||
{% endblock title %}
|
||||
|
||||
{% 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">
|
||||
{% if object.pk %}Edit{% else %}Create{% endif %}
|
||||
{% if object.pk %}{% trans "Edit" %}{% else %}{% trans "Create" %}{% endif %}
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -37,8 +38,8 @@ Context:
|
||||
{# Link to model documentation #}
|
||||
{% if settings.DOCS_ROOT and object.docs_url %}
|
||||
<div class="float-end">
|
||||
<a href="{{ object.docs_url }}" target="_blank" class="btn btn-sm btn-outline-secondary" title="View model documentation">
|
||||
<i class="mdi mdi-help-circle"></i> Help
|
||||
<a href="{{ object.docs_url }}" target="_blank" class="btn btn-sm btn-outline-secondary" title="{% trans "View model documentation" %}">
|
||||
<i class="mdi mdi-help-circle"></i> {% trans "Help" %}
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -56,17 +57,17 @@ Context:
|
||||
{% block buttons %}
|
||||
{% if object.pk %}
|
||||
<button type="submit" name="_update" class="btn btn-primary">
|
||||
Save
|
||||
{% trans "Save" %}
|
||||
</button>
|
||||
{% else %}
|
||||
<button type="submit" name="_create" class="btn btn-primary">
|
||||
Create
|
||||
{% trans "Create" %}
|
||||
</button>
|
||||
<button type="submit" name="_addanother" class="btn btn-outline-primary">
|
||||
Create & Add Another
|
||||
{% trans "Create & Add Another" %}
|
||||
</button>
|
||||
{% endif %}
|
||||
<a class="btn btn-outline-danger" href="{{ return_url }}">Cancel</a>
|
||||
<a class="btn btn-outline-danger" href="{{ return_url }}">{% trans "Cancel" %}</a>
|
||||
{% endblock buttons %}
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
{% load plugins %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
|
||||
{% comment %}
|
||||
Blocks:
|
||||
@@ -44,13 +45,13 @@ Context:
|
||||
<ul class="nav nav-tabs px-3">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="object-list-tab" data-bs-toggle="tab" data-bs-target="#object-list" type="button" role="tab" aria-controls="edit-form" aria-selected="true">
|
||||
Results {% badge table.page.paginator.count %}
|
||||
{% trans "Results" %} {% badge table.page.paginator.count %}
|
||||
</button>
|
||||
</li>
|
||||
{% if filter_form %}
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="filters-form-tab" data-bs-toggle="tab" data-bs-target="#filters-form" type="button" role="tab" aria-controls="object-list" aria-selected="false">
|
||||
Filters
|
||||
{% trans "Filters" %}
|
||||
{% if filter_form %}{% badge filter_form.changed_data|length bg_color="primary" %}{% endif %}
|
||||
</button>
|
||||
</li>
|
||||
@@ -90,7 +91,7 @@ Context:
|
||||
<div class="form-check">
|
||||
<input type="checkbox" id="select-all" name="_all" class="form-check-input" />
|
||||
<label for="select-all" class="form-check-label">
|
||||
Select <strong>all {{ table.rows|length }} {{ table.data.verbose_name_plural }}</strong> matching query
|
||||
{% blocktrans %}Select <strong>all {{ table.rows|length }} {{ table.data.verbose_name_plural }}</strong> matching query{% endblocktrans %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user