Fix: Hamburger menu styles.

This commit is contained in:
2025-08-07 10:39:04 +01:00
parent 3d2b753b79
commit e87490c3de
62 changed files with 3113 additions and 941 deletions

View File

@@ -0,0 +1,5 @@
{% set value_previous = '0' if is_blank_row else role_preview.id_role %}
{% set text_previous = '' if is_blank_row else role_preview.name %}
<div class="{{ model.FLAG_ROLE }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value_previous }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value_previous }}">{{ text_previous }}</div>

View File

@@ -0,0 +1,53 @@
{% if is_blank_row %}
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_USER }}" {{ model.ATTR_ID_USER }}>
<td class="{{ model.FLAG_COMPANY }}">
{{ model.user.company.name }}
</td>
<td class="{{ model.FLAG_ROLE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/user/_preview_DDL_role.html' %}
</td>
<td class="{{ model.FLAG_FIRSTNAME }}">
<input type="text"
class="{{ model.FLAG_FIRSTNAME }}"
{{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
</td>
<td class="{{ model.FLAG_SURNAME }}">
<input type="text"
class="{{ model.FLAG_SURNAME }}"
{{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
</td>
{% include 'components/dog/_td_notes.html' %}
{% set active = True %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% else %}
<tr class="{{ model.FLAG_USER }}" {{ model.ATTR_ID_USER }}="{{ user.id_user }}">
{% set company = user.company %}
<td class="{{ model.FLAG_COMPANY }}">
{{ company.name }}
</td>
{% set role_preview = user.role %}
<td class="{{ model.FLAG_ROLE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/user/_preview_DDL_role.html' %}
</td>
<td class="{{ model.FLAG_FIRSTNAME }}">
<input type="text"
class="{{ model.FLAG_FIRSTNAME }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_null_string_as_blank(user.firstname)|escape }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_null_string_as_blank(user.firstname)|escape }}"
value="{{ model.format_null_string_as_blank(user.firstname) }}" />
</td>
<td class="{{ model.FLAG_SURNAME }}">
<input type="text"
class="{{ model.FLAG_SURNAME }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_null_string_as_blank(user.surname)|escape }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_null_string_as_blank(user.surname)|escape }}"
value="{{ model.format_null_string_as_blank(user.surname) }}" />
</td>
{% set notes = user.notes %}
{% include 'components/dog/_td_notes.html' %}
{% set active = user.active %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% endif %}

View File

@@ -15,6 +15,7 @@
var attrIdCommandButtonLink = "{{ model.ATTR_ID_COMMAND_BUTTON_LINK }}";
var attrIdCommandCategory = "{{ model.ATTR_ID_COMMAND_CATEGORY }}";
var attrIdCommandModality = "{{ model.ATTR_ID_COMMAND_MODALITY }}";
var attrIdCompany = "{{ model.ATTR_ID_COMPANY }}";
var attrIdCurrency = "{{ model.ATTR_ID_CURRENCY }}";
var attrIdDistraction = "{{ model.ATTR_ID_DISTRACTION }}";
var attrIdDistractionIntensityLevel = "{{ model.ATTR_ID_DISTRACTION_INTENSITY_LEVEL }}";
@@ -25,7 +26,10 @@
var attrIdLocation = "{{ model.ATTR_ID_LOCATION }}";
var attrIdObedienceLevel = "{{ model.ATTR_ID_OBEDIENCE_LEVEL }}";
var attrIdResponseQualityMetric = "{{ model.ATTR_ID_RESPONSE_QUALITY_METRIC }}";
var attrIdRole = "{{ model.ATTR_ID_ROLE }}";
var attrIdWeather = "{{ model.ATTR_ID_WEATHER }}";
var attrIdUser = "{{ model.ATTR_ID_USER }}";
var attrIdUserAuth0 = "{{ model.ATTR_ID_USER_AUTH0 }}";
var flagAssessment = "{{ model.FLAG_ASSESSMENT }}";
var flagAssessmentCommandModalityLink = "{{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}";
var flagAssessmentResponse = "{{ model.FLAG_ASSESSMENT_RESPONSE }}";
@@ -39,6 +43,7 @@
var flagCommandButtonLink = "{{ model.FLAG_COMMAND_BUTTON_LINK }}";
var flagCommandCategory = "{{ model.FLAG_COMMAND_CATEGORY }}";
var flagCommandModality = "{{ model.FLAG_COMMAND_MODALITY }}";
var flagCompany = "{{ model.FLAG_COMPANY }}";
var flagCurrency = "{{ model.FLAG_CURRENCY }}";
var flagDistraction = "{{ model.FLAG_DISTRACTION }}";
var flagDistractionIntensityLevel = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }}";
@@ -50,6 +55,8 @@
var flagLocationParent = "{{ model.FLAG_LOCATION_PARENT }}";
var flagObedienceLevel = "{{ model.FLAG_OBEDIENCE_LEVEL }}";
var flagResponseQualityMetric = "{{ model.FLAG_RESPONSE_QUALITY_METRIC }}";
var flagRole = "{{ model.FLAG_ROLE }}";
var flagUser = "{{ model.FLAG_USER }}";
var flagWeather = "{{ model.FLAG_WEATHER }}";
{# var hashSaveDogAssessment = "{{ model.HASH_SAVE_DOG_ASSESSMENT }}"; #}
var hashSaveDogAssessmentDistractionAndResponse = "{{ model.HASH_SAVE_DOG_ASSESSMENT_DISTRACTION_AND_RESPONSE }}";
@@ -61,4 +68,5 @@
var hashSaveDogCommandCategory = "{{ model.HASH_SAVE_DOG_COMMAND_CATEGORY }}";
var hashSaveDogDogCommandLink = "{{ model.HASH_SAVE_DOG_DOG_COMMAND_LINK }}";
var hashSaveDogLocation = "{{ model.HASH_SAVE_DOG_LOCATION }}";
var hashSaveDogUser = "{{ model.HASH_SAVE_DOG_USER }}";
</script>

View File

@@ -38,6 +38,7 @@
var flagCollapsible = "{{ model.FLAG_COLLAPSIBLE }}";
var flagColumn = "{{ model.FLAG_COLUMN }}";
var flagComment = "{{ model.FLAG_COMMENT }}";
var flagCompany = "{{ model.FLAG_COMPANY }}";
var flagContainer = "{{ model.FLAG_CONTAINER }}";
var flagContainerInput = "{{ model.FLAG_CONTAINER_INPUT }}";
var flagCsrfToken = "{{ model.FLAG_CSRF_TOKEN }}";
@@ -57,6 +58,7 @@
var flagFailure = "{{ model.FLAG_FAILURE }}";
var flagFax = "{{ model.FLAG_FAX }}";
var flagFilter = "{{ model.FLAG_FILTER }}";
var flagFirstname = "{{ model.FLAG_FIRSTNAME }}";
var flagForm = "{{ model.FLAG_FORM }}";
var flagFormFilters = "{{ model.FLAG_FORM_FILTERS }}";
var flagIcon = "{{ model.FLAG_ICON }}";
@@ -90,7 +92,7 @@
var flagNavDogHome = "{{ model.FLAG_NAV_DOG_HOME }}";
var flagNavDogLocations = "{{ model.FLAG_NAV_DOG_LOCATIONS }}";
var flagNavUserAccount = "{{ model.FLAG_NAV_USER_ACCOUNT }}";
var flagNavUserAdmin = "{{ model.FLAG_NAV_USER_ADMIN }}";
var flagNavUserAccounts = "{{ model.FLAG_NAV_USER_ACCOUNTS }}";
var flagNavUserLogin = "{{ model.FLAG_NAV_USER_LOGIN }}";
var flagNavUserLogout = "{{ model.FLAG_NAV_USER_LOGOUT }}";
var flagNotes = "{{ model.FLAG_NOTES }}";
@@ -111,6 +113,7 @@
var flagSubmit = "{{ model.FLAG_SUBMIT }}";
var flagSubmitted = "{{ model.FLAG_SUBMITTED }}";
var flagSuccess = "{{ model.FLAG_SUCCESS }}";
var flagSurname = "{{ model.FLAG_SURNAME }}";
var flagTableMain = "{{ model.FLAG_TABLE_MAIN }}";
var flagTemporaryElement = "{{ model.FLAG_TEMPORARY_ELEMENT }}";
var flagUser = "{{ model.FLAG_USER }}";
@@ -142,7 +145,7 @@
var hashPageLicense = "{{ model.HASH_PAGE_LICENSE }}";
var hashPagePrivacyPolicy = "{{ model.HASH_PAGE_PRIVACY_POLICY }}";
var hashPageUserAccount = "{{ model.HASH_PAGE_USER_ACCOUNT }}";
var hashPageUserAdmin = "{{ model.HASH_PAGE_USER_ADMIN }}";
var hashPageUserAccounts = "{{ model.HASH_PAGE_USER_ACCOUNTS }}";
var hashPageUserLogin = "{{ model.HASH_PAGE_USER_LOGIN }}";
var hashPageUserLogout = "{{ model.HASH_PAGE_USER_LOGOUT }}";
var idButtonApplyFilters = "#{{ model.ID_BUTTON_APPLY_FILTERS }}";

View File

@@ -15,46 +15,52 @@
{% elif True or model.user.can_admin_dog %}
{#
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_DOGS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Dogs</button>
<a href="{{ model.HASH_PAGE_DOG_DOGS }}" class="{{ model.FLAG_NAV_DOG_DOGS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Dogs</a>
</div>
#}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_COMMAND_CATEGORIES }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Command Categories</button>
<a href="{{ model.HASH_PAGE_DOG_COMMAND_CATEGORIES }}" class="{{ model.FLAG_NAV_DOG_COMMAND_CATEGORIES }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Command Categories</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_COMMANDS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Commands</button>
<a href="{{ model.HASH_PAGE_DOG_COMMANDS }}" class="{{ model.FLAG_NAV_DOG_COMMANDS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Commands</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_DOG_COMMAND_LINKS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Dog Command Links</button>
<a href="{{ model.HASH_PAGE_DOG_DOG_COMMAND_LINKS }}" class="{{ model.FLAG_NAV_DOG_DOG_COMMAND_LINKS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Dog Command Links</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_LOCATIONS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Locations</button>
<a href="{{ model.HASH_PAGE_DOG_LOCATIONS }}" class="{{ model.FLAG_NAV_DOG_LOCATIONS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Locations</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_BUTTON_ICONS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Button Icons</button>
<a href="{{ model.HASH_PAGE_DOG_BUTTON_ICONS }}" class="{{ model.FLAG_NAV_DOG_BUTTON_ICONS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Button Icons</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_COMMAND_BUTTON_LINKS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Command Button Links</button>
<a href="{{ model.HASH_PAGE_DOG_COMMAND_BUTTON_LINKS }}" class="{{ model.FLAG_NAV_DOG_COMMAND_BUTTON_LINKS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Command Button Links</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_ASSESSMENTS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Assessments</button>
<a href="{{ model.HASH_PAGE_DOG_ASSESSMENTS }}" class="{{ model.FLAG_NAV_DOG_ASSESSMENTS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Assessments</a>
</div>
{#
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_DISTRACTIONS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Distractions</button>
<a href="{{ model.HASH_PAGE_DOG_DISTRACTIONS }}" class="{{ model.FLAG_NAV_DOG_DISTRACTIONS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Distractions</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_ASSESSMENT_COMMAND_MODALITY_LINKS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Assessment Command Modality Links</button>
<a href="{{ model.HASH_PAGE_DOG_ASSESSMENT_COMMAND_MODALITY_LINKS }}" class="{{ model.FLAG_NAV_DOG_ASSESSMENT_COMMAND_MODALITY_LINKS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Assessment Command Modality Links</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_ASSESSMENT_RESPONSES }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Assessment Responses</button>
<a href="{{ model.HASH_PAGE_DOG_ASSESSMENT_RESPONSES}}" class="{{ model.FLAG_NAV_DOG_ASSESSMENT_RESPONSES }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Assessment Responses</a>
</div>
#}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<button class="{{ model.FLAG_NAV_DOG_CALENDAR_ENTRIES }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Overdue Bills</button>
<a href="{{ model.HASH_PAGE_DOG_CALENDAR_ENTRIES }}" class="{{ model.FLAG_NAV_DOG_CALENDAR_ENTRIES }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Overdue Bills</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<a href="{{ model.HASH_PAGE_USER_ACCOUNT }}" class="{{ model.FLAG_NAV_USER_ACCOUNT }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">User Account</a>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<a href="{{ model.HASH_PAGE_USER_ACCOUNTS }}" class="{{ model.FLAG_NAV_USER_ACCOUNTS }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">User Accounts</a>
</div>
{% endif %}
</div>

View File

@@ -1,9 +1,42 @@
{% extends 'layouts/layout_dog.html' %}
{% block page_body %}
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/dog_assessments.bundle.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/user_account.bundle.css') }}">
{% set user = model.users[0] %}
{% set company = user.company %}
<form id="{{ model.ID_FORM_FILTERS }}" class="{{ model.FLAG_FILTER }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }}">
{{ model.form_filters.hidden_tag() }}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.FLAG_SEARCH }}">
{{ model.form_filters.search.label }}
{{ model.form_filters.search() }}
{% for error in model.form_filters.search.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.ATTR_ID_COMPANY }}">
{{ model.form_filters.id_company.label }}
{{ model.form_filters.id_company() }}
{% for error in model.form_filters.id_company.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.FLAG_ACTIVE_ONLY }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.form_filters.active_only.data }}">
{{ model.form_filters.active_only.label }}
{{ model.form_filters.active_only() }}
{% for error in model.form_filters.active_only.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
{% set class_name = model.FLAG_FILTER + ' ' + model.FLAG_ACTIVE_ONLY + ' ' + model.FLAG_CHECKBOX %}
{% include 'components/common/buttons/_icon_checkbox.html' %}
</div>
</div>
</div>
</form>
<div class="{{ model.FLAG_USER }} {{ model.FLAG_CARD }} {{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}" {{ model.ATTR_ID_USER }}="{{ user.id_user }}">
<div class="{{ model.FLAG_CONTAINER }}">
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
@@ -24,11 +57,22 @@
<input type="email" id="{{ model.FLAG_EMAIL }}" name="{{ model.FLAG_EMAIL }}" value="{{ user.email }}" />
</div>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }}">
<label for="{{ model.FLAG_ROLE }}">Role</label>
<div class="{{ model.FLAG_ROLE }}" {{ model.ATTR_VALUE_CURRENT }}="{{ user.id_role }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ user.id_role }}">
{{ user.role.name }}
</div>
</div>
</div>
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }}">
<label for="{{ model.ATTR_ID_COMPANY }}">Company</label>
<div class="{{ model.ATTR_ID_COMPANY }}" {{ model.ATTR_VALUE_CURRENT }}="{{ user.id_company }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ user.id_company }}">
{{ user.company.name }} - {{ user.company.website }}
<div class="{{ model.FLAG_NAME }}" {{ model.ATTR_VALUE_CURRENT }}="{{ user.id_company }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ user.id_company }}">
{{ company.name }}
</div>
<div class="{{ model.FLAG_WEBSITE }}">
{{ company.website }}
</div>
</div>
</div>
@@ -50,6 +94,7 @@
</div>
<script>
{#
var assessments = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.assessments) | tojson | safe }};
var filterLightingLevels = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_lighting_levels) | tojson | safe }};
var filterLocations = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_locations) | tojson | safe }};
@@ -57,5 +102,6 @@
var filterWeathers = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_weathers) | tojson | safe }};
var flagTemperatureCelcius = "{{ model.FLAG_TEMPERATURE_CELCIUS }}";
var flagUserHandler = "{{ model.FLAG_USER_HANDLER }}";
#}
</script>
{% endblock %}

View File

@@ -0,0 +1,88 @@
{% extends 'layouts/layout_dog.html' %}
{% block page_body %}
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/user_accounts.bundle.css') }}">
<form id="{{ model.ID_FORM_FILTERS }}" class="{{ model.FLAG_FILTER }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }}">
{{ model.form_filters.hidden_tag() }}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.FLAG_SEARCH }}">
{{ model.form_filters.search.label }}
{{ model.form_filters.search() }}
{% for error in model.form_filters.search.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.ATTR_ID_COMPANY }}">
{{ model.form_filters.id_company.label }}
{{ model.form_filters.id_company() }}
{% for error in model.form_filters.id_company.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.FLAG_ACTIVE_ONLY }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ model.form_filters.active_only.data }}">
{{ model.form_filters.active_only.label }}
{{ model.form_filters.active_only() }}
{% for error in model.form_filters.active_only.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
{% set class_name = model.FLAG_FILTER + ' ' + model.FLAG_ACTIVE_ONLY + ' ' + model.FLAG_CHECKBOX %}
{% include 'components/common/buttons/_icon_checkbox.html' %}
</div>
</div>
</div>
{% set block_id = 'buttons_table_default' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_USER }}">
<thead>
<tr class="{{ model.FLAG_USER }}">
<th class="{{ model.FLAG_COMPANY }} {{ model.FLAG_DDL_PREVIEW }}">Company</th>
<th class="{{ model.FLAG_ROLE }} {{ model.FLAG_DDL_PREVIEW }}">Role</th>
<th class="{{ model.FLAG_FIRSTNAME }}">First Name</th>
<th class="{{ model.FLAG_SURNAME }}">Surname</th>
<th class="{{ model.FLAG_NOTES }}">Notes</th>
<th class="{{ model.FLAG_ACTIVE }}">
{% set class_name = model.FLAG_ACTIVE %}
{% set attribute_text = '' %}
{% include 'components/common/buttons/_icon_add.html' %}
</th>
</tr>
</thead>
<tbody>
{% set is_blank_row = False %}
{% for user in model.users %}
{% include 'components/user/_row_user.html' %}
{% endfor %}
{% set is_blank_row = True %}
{% include 'components/user/_row_user.html' %}
</tbody>
</table>
{% include 'components/common/temporary/_overlay_confirm.html' %}
{% include 'components/common/temporary/_overlay_error.html' %}
<div id="{{ model.ID_CONTAINER_TEMPLATE_ELEMENTS }}">
<!-- Active column -->
<!-- Delete -->
{% set class_name = '' %}
{% include 'components/common/buttons/_icon_trash.html' %}
<!-- Undelete -->
{% set class_name = model.FLAG_ACTIVE %}
{% set attribute_text = '' %}
{% include 'components/common/buttons/_icon_add.html' %}
</div>
<script>
var company = {{ model.user.company.to_json() | tojson | safe }};
var filterRoles = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_roles) | tojson | safe }};
var flagCanAdminDog = "{{ model.FLAG_CAN_ADMIN_DOG }}";
var flagCanAdminUser = "{{ model.FLAG_CAN_ADMIN_USER }}";
var flagIsEmailVerified = "{{ model.FLAG_IS_EMAIL_VERIFIED }}";
var flagIsSuperUser = "{{ model.FLAG_IS_SUPER_USER }}";
var users = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.users) | tojson | safe }};
</script>
{% endblock %}