netbox/netbox/templates/account/preferences.html

80 lines
2.7 KiB
HTML

{% extends 'account/base.html' %}
{% load helpers %}
{% load form_helpers %}
{% load i18n %}
{% block title %}{% trans "User Preferences" %}{% endblock %}
{% block content %}
<form method="post" action="" hx-disable="true" id="preferences-update">
{% csrf_token %}
{# Built-in preferences #}
{% for fieldset in form.fieldsets %}
{% render_fieldset form fieldset %}
{% endfor %}
{# Plugin preferences #}
{% with plugin_fields=form.plugin_fields %}
{% if plugin_fields %}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Plugins" %}</h5>
</div>
{% for name in plugin_fields %}
{% render_field form|getfield:name %}
{% endfor %}
</div>
{% endif %}
{% endwith %}
{# Table configurations #}
<div class="field-group my-5">
<div class="row">
<h5 class="col-9 offset-3">{% trans "Table Configurations" %}</h5>
</div>
<div class="row">
{% if request.user.config.data.tables %}
<label class="col-sm-3 col-form-label text-lg-end">
{% trans "Clear table preferences" %}
</label>
<div class="col-sm-9">
<table class="table table-hover object-list">
<thead>
<tr>
<th>
<input type="checkbox" class="toggle form-check-input" title="{% trans "Toggle All" %}">
</th>
<th>{% trans "Table" %}</th>
<th>{% trans "Ordering" %}</th>
<th>{% trans "Columns" %}</th>
</tr>
</thead>
<tbody>
{% for table, prefs in request.user.config.data.tables.items %}
<tr>
<td>
<input type="checkbox" name="pk" value="tables.{{ table }}" class="form-check-input" />
</td>
<td>{{ table }}</td>
<td>{{ prefs.ordering|join:", "|placeholder }}</td>
<td>{{ prefs.columns|join:", "|placeholder }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="col-9 offset-3">
<p class="text-muted">{% trans "None found" %}</p>
</div>
{% endif %}
</div>
</div>
<div class="text-end my-3">
<a href="{% url 'account:preferences' %}" class="btn btn-outline-secondary">{% trans "Cancel" %}</a>
<button type="submit" name="_update" class="btn btn-primary">{% trans "Save" %}</button>
</div>
</form>
{% endblock %}