Feat(SQL, UI): 1. Calc and Get Many Stored Procedures created for Weather, Lighting Level, Assessment, Distraction Type, Distraction Intensity Level, Distraction, Bribe, Assessment Command Modality Link, Response Quality Metric, Obedience Level, and Assessment Response. \n 2. Assessments and Assessment pages created with data loading and hooked up, but not saving.

This commit is contained in:
2025-07-24 16:48:18 +01:00
parent 6bb3a77a34
commit fad5336cc4
137 changed files with 10442 additions and 1116 deletions

View File

@@ -12,38 +12,38 @@
<button id="{{ model.ID_BUTTON_APPLY_FILTERS }}" type="button" class="{{ model.FLAG_SUBMIT }} {{ model.FLAG_BUTTON }} {{ model.FLAG_BUTTON_PRIMARY }}">Apply filters</button>
{% elif block_id == 'button_clear_filters' %}
{% elif block_id == 'buttons_table_default' %}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_SAVE }} {{ model.FLAG_CANCEL }} {{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_ROW }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }}">
{% set block_id = 'button_apply_filters' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
{#
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }}">
{% set block_id = 'button_add' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
#}
<div class="{{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_save' %}
{% set block_id = 'button_apply_filters' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
{#
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_cancel' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }}">
{% set block_id = 'button_add' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
#}
</div>
<div class="{{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_cancel' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
<div class="{{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_save' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
{#
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_cancel' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
#}
</div>
<div class="{{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_cancel' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
</div>
</div>
</div>
</div>
{% elif block_id == 'container_buttons_save_cancel' %}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">

View File

@@ -10,6 +10,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"
class="{{ model.FLAG_BUTTON }} {{ model.FLAG_ICON }} {{ model.FLAG_ADD }} {{ class_name }}"
{{ attribute_text }}
{{ model.ATTR_VALUE_CURRENT }}="false" {{ model.ATTR_VALUE_PREVIOUS }}="false"
>
<!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.-->
<path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z"/>

View File

@@ -10,6 +10,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"
class="{{ model.FLAG_BUTTON }} {{ model.FLAG_ICON }} {{ model.FLAG_DELETE }} {{ model.FLAG_ACTIVE }} {{ class_name }}"
{{ attribute_text }}
{{ model.ATTR_VALUE_CURRENT }}="true" {{ model.ATTR_VALUE_PREVIOUS }}="true"
>
<!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.-->
<path d="M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"/>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,7 @@
{% with _attribute_text = '' if (attribute_text is not defined or attribute_text is none) else attribute_text %}
{% set value_previous = '0' if (is_blank_row or (intensity_level_preview is not defined) or (intensity_level_preview is none) or (intensity_level_preview.id_intensity_level is none)) else intensity_level_preview.id_intensity_level %}
{% set text_previous = '' if (is_blank_row or (intensity_level_preview is not defined) or (intensity_level_preview is none)) else model.format_null_string_as_blank(intensity_level_preview.name) %}
<div class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ _attribute_text }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value_previous }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value_previous }}">{{ text_previous }}</div>
{% endwith %}

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
{% with _attribute_text = '' if (attribute_text is not defined or attribute_text is none) else attribute_text %}
{% set value_previous = '0' if (is_blank_row or (image is not defined) or (image is none) or (image.id_image is none)) else image.id_image %}
{% set text_previous = '' if (is_blank_row or (image is not defined) or (image is none)) else model.format_null_string_as_blank(image.name) %}
{% set value_previous = '0' if (is_blank_row or (image_preview is not defined) or (image_preview is none) or (image_preview.id_image is none)) else image_preview.id_image %}
{% set text_previous = '' if (is_blank_row or (image_preview is not defined) or (image_preview is none)) else model.format_null_string_as_blank(image_preview.name) %}
<div class="{{ model.FLAG_IMAGE }} {{ _attribute_text }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value_previous }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value_previous }}">{{ text_previous }}</div>
{% endwith %}

View File

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

View File

@@ -0,0 +1,7 @@
{% with _attribute_text = '' if (attribute_text is not defined or attribute_text is none) else attribute_text %}
{% set value_previous = '0' if (is_blank_row or (user_preview is not defined) or (user_preview is none) or (user_preview.id_user is none)) else user_preview.id_user %}
{% set text_previous = '' if (is_blank_row or (user_preview is not defined) or (user_preview is none)) else model.format_null_string_as_blank(user_preview.get_name()) %}
<div class="{{ model.FLAG_USER }} {{ _attribute_text }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value_previous }}" {{ model.ATTR_VALUE_CURRENT }}="{{ value_previous }}">{{ text_previous }}</div>
{% endwith %}

View File

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

View File

@@ -0,0 +1,11 @@
<div class="{{ model.FLAG_ASSESSMENT_RESPONSE }} {{ model.FLAG_DDL_PREVIEW }} {{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">
{% if is_blank_row or assessment_response_previews == none or assessment_response_previews | length == 0 %}
Add response
{% else %}
{% for assessment_response_preview in assessment_response_previews %}
<div class="{{ model.FLAG_CONTAINER }} {{ model.FLAG_ROW }}">{{ assessment_response_preview.response_quality_metric.name }} - {{ assessment_response_preview.obedience_level.name }}</div>
{% endfor %}
{% endif %}
</div>

View File

@@ -0,0 +1,63 @@
{% if is_blank_row %}
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_ASSESSMENT }}" {{ model.ATTR_ID_ASSESSMENT }}>
<td class="{{ model.FLAG_DETAIL }}">
<button class="{{ model.FLAG_DETAIL }} {{ model.FLAG_ASSESSMENT }}">Detail</button>
</td>
<td class="{{ model.FLAG_WEATHER }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_weather.html' %}
</td>
<td class="{{ model.FLAG_LIGHTING_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_lighting_level.html' %}
</td>
<td class="{{ model.FLAG_TEMPERATURE_CELCIUS }}">
<input type="number" min="-273" step="0.1"
class="{{ model.FLAG_TEMPERATURE_CELCIUS }}"
{{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} value="22"/>
</td>
<td class="{{ model.FLAG_LOCATION }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_location.html' %}
</td>
{% set attribute_text = model.FLAG_USER_HANDLER %}
<td class="{{ model.FLAG_USER_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_user.html' %}
</td>
{% include 'components/dog/_td_notes.html' %}
{% set active = True %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% else %}
<tr class="{{ model.FLAG_ASSESSMENT }}" {{ model.ATTR_ID_ASSESSMENT }}="{{ assessment.id_assessment }}">
<td class="{{ model.FLAG_DETAIL }}">
<button class="{{ model.FLAG_DETAIL }} {{ model.FLAG_ASSESSMENT }}">Detail</button>
</td>
{% set weather_preview = assessment.weather %}
<td class="{{ model.FLAG_WEATHER }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_weather.html' %}
</td>
{% set lighting_level_preview = assessment.lighting_level %}
<td class="{{ model.FLAG_LIGHTING_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_lighting_level.html' %}
</td>
<td class="{{ model.FLAG_TEMPERATURE_CELCIUS }}">
<input type="number" min="-273" step="0.1"
class="{{ model.FLAG_TEMPERATURE_CELCIUS }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ assessment.temperature_celcius }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ assessment.temperature_celcius }}"
value="{{ assessment.temperature_celcius }}" />
</td>
{% set location_preview = assessment.location %}
<td class="{{ model.FLAG_LOCATION }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_location.html' %}
</td>
{% set user_preview = assessment.user_handler %}
{% set attribute_text = model.FLAG_USER_HANDLER %}
<td class="{{ model.FLAG_USER_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_user.html' %}
</td>
{% set notes = assessment.notes %}
{% include 'components/dog/_td_notes.html' %}
{% set active = assessment.active %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% endif %}

View File

@@ -0,0 +1,137 @@
{% if is_blank_row %}
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}" {{ model.ATTR_ID_ASSESSMENT }}>
<td class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_category.html' %}
</td>
<td class="{{ model.FLAG_COMMAND }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command.html' %}
</td>
<td class="{{ model.FLAG_COMMAND_MODALITY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_modality.html' %}
</td>
<td class="{{ model.FLAG_BRIBE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_bribe.html' %}
</td>
<td class="{{ model.FLAG_DISTANCE_FROM_HANDLER }}">
<input type="number" min="0" step="0.01"
class="{{ model.FLAG_DISTANCE_FROM_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0"
value="0" />
</td>
<td class="{{ model.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER }}">
<input type="checkbox"
class="{{ model.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="true" {{ model.ATTR_VALUE_PREVIOUS }}="true"
checked />
</td>
<td class="{{ model.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER }}">
<input type="checkbox"
class="{{ model.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="true" {{ model.ATTR_VALUE_PREVIOUS }}="true"
checked />
</td>
<td class="{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }}">
<input type="checkbox"
class="{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="true" {{ model.ATTR_VALUE_PREVIOUS }}="true"
checked />
</td>
<td class="{{ model.FLAG_IS_ON_LEAD }}">
<input type="checkbox"
class="{{ model.FLAG_IS_ON_LEAD }}"
{{ model.ATTR_VALUE_CURRENT }}="true" {{ model.ATTR_VALUE_PREVIOUS }}="true"
checked />
</td>
<td class="{{ model.FLAG_TRIAL_COUNT }}">
<!--
<input type="number" min="0" step="1"
class="{{ model.FLAG_TRIAL_COUNT }}"
{{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0"
value="0" />
-->
<div class="{{ model.FLAG_TRIAL_COUNT }}" {{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0">0</div>
</td>
{% include 'components/dog/_td_notes.html' %}
<td class="{{ model.FLAG_ASSESSMENT_RESPONSE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_table_assessment_response.html' %}
</td>
{% set active = True %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% else %}
<tr class="{{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}" {{ model.ATTR_ID_ASSESSMENT }}="{{ link.id_link }}">
{% set command_preview = link.command %}
{% set command_category_preview = command_preview.command_category %}
<td class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_category.html' %}
</td>
<td class="{{ model.FLAG_COMMAND }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command.html' %}
</td>
{% set command_modality_preview = link.command_modality %}
<td class="{{ model.FLAG_COMMAND_MODALITY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_modality.html' %}
</td>
{% set bribe_preview = link.bribe %}
<td class="{{ model.FLAG_BRIBE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_bribe.html' %}
</td>
<td class="{{ model.FLAG_DISTANCE_FROM_HANDLER }}">
<input type="number" min="0" step="0.01"
class="{{ model.FLAG_DISTANCE_FROM_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.distance_from_handler }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.distance_from_handler }}"
value="{{ link.distance_from_handler }}" />
</td>
<td class="{{ model.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER }}">
<input type="checkbox"
class="{{ model.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.active | lower }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.active | lower }}"
{% if link.active %}checked{% endif %} />
</td>
<td class="{{ model.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER }}">
<input type="checkbox"
class="{{ model.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.active | lower }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.active | lower }}"
{% if link.active %}checked{% endif %} />
</td>
<td class="{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }}">
<input type="checkbox"
class="{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.active | lower }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.active | lower }}"
{% if link.active %}checked{% endif %} />
</td>
<td class="{{ model.FLAG_IS_ON_LEAD }}">
<input type="checkbox"
class="{{ model.FLAG_IS_ON_LEAD }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.active | lower }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.active | lower }}"
{% if link.active %}checked{% endif %} />
</td>
<td class="{{ model.FLAG_TRIAL_COUNT }}">
<!--
<input type="number" min="0" step="1"
class="{{ model.FLAG_TRIAL_COUNT }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.trial_count }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.trial_count }}"
value="{{ link.trial_count }}" />
-->
<div class="{{ model.FLAG_TRIAL_COUNT }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ link.trial_count }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ link.trial_count }}"
>{{ link.trial_count }}</div>
</td>
{% set notes = link.notes %}
{% include 'components/dog/_td_notes.html' %}
<td class="{{ model.FLAG_ASSESSMENT_RESPONSE }} {{ model.FLAG_DDL_PREVIEW }}">
{% set assessment_response_previews = link.assessment_responses %}
{% include 'components/dog/_preview_table_assessment_response.html' %}
</td>
{% set active = link.active %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% endif %}

View File

@@ -2,7 +2,6 @@
{% if is_blank_row %}
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_BUTTON_ICON }}" {{ model.ATTR_ID_BUTTON_ICON }}>
<td class="{{ model.FLAG_IMAGE }} {{ model.FLAG_DDL_PREVIEW }}">
{% set image = none %}
{% include 'components/dog/_preview_DDL_image.html' %}
</td>
<td class="{{ model.FLAG_NAME }}">
@@ -15,7 +14,7 @@
</tr>
{% else %}
<tr class="{{ model.FLAG_BUTTON_ICON }}" {{ model.ATTR_ID_BUTTON_ICON }}="{{ button_icon.id_button_icon }}">
{% set image = button_icon.image %}
{% set image_preview = button_icon.image %}
<td class="{{ model.FLAG_IMAGE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_image.html' %}
</td>

View File

@@ -17,17 +17,13 @@
<td class="{{ model.FLAG_CAN_HAVE_BUTTON }}">
<input type="checkbox" class="{{ model.FLAG_CAN_HAVE_BUTTON }}" {{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }}="false" />
</td>
<td class="{{ model.FLAG_NOTES }}">
<input type="text"
class="{{ model.FLAG_NOTES }}"
{{ 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_COMMAND }}" {{ model.ATTR_ID_COMMAND }}="{{ command.id_command }}">
{% set command_category = command.command_category %}
{% set command_category_preview = command.command_category %}
<td class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_category.html' %}
</td>
@@ -48,13 +44,8 @@
<td class="{{ model.FLAG_CAN_HAVE_BUTTON }}">
<input type="checkbox" {% if command.can_have_button %}checked{% endif %} class="{{ model.FLAG_CAN_HAVE_BUTTON }}" {{ model.ATTR_VALUE_CURRENT }}="{{ command.can_have_button|lower }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ command.can_have_button|lower }}" />
</td>
<td class="{{ model.FLAG_NOTES }}">
<input type="text"
class="{{ model.FLAG_NOTES }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_null_string_as_blank(command.notes)|escape }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_null_string_as_blank(command.notes)|escape }}"
value="{{ model.format_null_string_as_blank(command.notes) }}" />
</td>
{% set notes = command.notes %}
{% include 'components/dog/_td_notes.html' %}
{% set active = command.active %}
{% include 'components/dog/_td_active.html' %}
</tr>

View File

@@ -24,23 +24,23 @@
</tr>
{% else %}
<tr class="{{ model.FLAG_COMMAND_BUTTON_LINK }}" {{ model.ATTR_ID_COMMAND_BUTTON_LINK }}="{{ link.id_link }}">
{% set command = link.command %}
{% set command_category = command.command_category %}
{% set command_preview = link.command %}
{% set command_category_preview = command_preview.command_category %}
<td class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_category.html' %}
</td>
<td class="{{ model.FLAG_COMMAND }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command.html' %}
</td>
{% set button_shape = link.button_shape %}
{% set button_shape_preview = link.button_shape %}
<td class="{{ model.FLAG_BUTTON_SHAPE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_button_shape.html' %}
</td>
{% set colour = link.colour %}
{% set colour_preview = link.colour %}
<td class="{{ model.FLAG_COLOUR }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_colour.html' %}
</td>
{% set image = link.button_icon.image %}
{% set image_preview = link.button_icon.image %}
<td class="{{ model.FLAG_BUTTON_ICON }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_image.html' %}
</td>

View File

@@ -0,0 +1,93 @@
{% if is_blank_row %}
<tr class="{{ model.FLAG_ROW_NEW }} {{ model.FLAG_DISTRACTION }}" {{ model.ATTR_ID_DISTRACTION }}>
<td class="{{ model.FLAG_DISTRACTION_TYPE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_type.html' %}
</td>
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
<td class="{{ model.FLAG_QUANTITY }}">
<input type="number" min="0" step="1"
class="{{ model.FLAG_QUANTITY }}"
{{ model.ATTR_VALUE_CURRENT }}="1" {{ model.ATTR_VALUE_PREVIOUS }}="1"
value="1" />
</td>
<td class="{{ model.FLAG_PROXIMITY_METRES }}">
<input type="number" min="0" step="1"
class="{{ model.FLAG_PROXIMITY_METRES }}"
{{ model.ATTR_VALUE_CURRENT }}="0" {{ model.ATTR_VALUE_PREVIOUS }}="0"
value="0" />
</td>
{% include 'components/dog/_td_notes.html' %}
{% set active = True %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% else %}
<tr class="{{ model.FLAG_DISTRACTION }}" {{ model.ATTR_ID_DISTRACTION }}="{{ distraction.id_distraction }}">
{% set distraction_type_preview = distraction.distraction_type %}
<td class="{{ model.FLAG_DISTRACTION_TYPE }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_type.html' %}
</td>
{% set intensity_level_preview = distraction.intensity_level_emotional %}
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set intensity_level_preview = distraction.intensity_level_scent %}
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set intensity_level_preview = distraction.intensity_level_sight %}
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set intensity_level_preview = distraction.intensity_level_sound %}
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
{% set intensity_level_preview = distraction.intensity_level_touch %}
{% set attribute_text = model.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH %}
<td class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH }} {{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_distraction_intensity_level.html' %}
</td>
<td class="{{ model.FLAG_QUANTITY }}">
<input type="number" min="0" step="1"
class="{{ model.FLAG_QUANTITY }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ distraction.quantity }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ distraction.quantity }}"
value="{{ distraction.quantity }}" />
</td>
<td class="{{ model.FLAG_PROXIMITY_METRES }}">
<input type="number" min="0" step="1"
class="{{ model.FLAG_PROXIMITY_METRES }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ distraction.proximity_metres }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ distraction.proximity_metres }}"
value="{{ distraction.proximity_metres }}" />
</td>
{% set notes = distraction.notes %}
{% include 'components/dog/_td_notes.html' %}
{% set active = distraction.active %}
{% include 'components/dog/_td_active.html' %}
</tr>
{% endif %}

View File

@@ -15,22 +15,18 @@
class="{{ model.FLAG_HAND_SIGNAL_DESCRIPTION }}"
{{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
</td>
<td class="{{ model.FLAG_NOTES }}">
<input type="text"
class="{{ model.FLAG_NOTES }}"
{{ 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_DOG_COMMAND_LINK }}" {{ model.ATTR_ID_DOG_COMMAND_LINK }}="{{ link.id_link }}">
{% set dog = link.dog %}
{% set dog_preview = link.dog %}
<td class="{{ model.FLAG_DOG }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_dog.html' %}
</td>
{% set command = link.command %}
{% set command_category = command.command_category %}
{% set command_preview = link.command %}
{% set command_category_preview = command_preview.command_category %}
<td class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_command_category.html' %}
</td>
@@ -44,13 +40,8 @@
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_null_string_as_blank(link.hand_signal_description)|escape }}"
value="{{ model.format_null_string_as_blank(link.hand_signal_description) }}" />
</td>
<td class="{{ model.FLAG_NOTES }}">
<input type="text"
class="{{ model.FLAG_NOTES }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ model.format_null_string_as_blank(link.notes)|escape }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ model.format_null_string_as_blank(link.notes)|escape }}"
value="{{ model.format_null_string_as_blank(link.notes) }}" />
</td>
{% set notes = link.notes %}
{% include 'components/dog/_td_notes.html' %}
{% set active = link.active %}
{% include 'components/dog/_td_active.html' %}
</tr>

View File

@@ -0,0 +1,17 @@
{% with _notes = none if (is_blank_row or notes is not defined) else notes %}
{% set value_formatted = model.format_null_string_as_blank(notes) %}
{% set value_previous = value_formatted | escape %}
<td class="{{ model.FLAG_NOTES }}">
<!--
<input type="text"
class="{{ model.FLAG_NOTES }}"
{{ model.ATTR_VALUE_CURRENT }} {{ model.ATTR_VALUE_PREVIOUS }} />
-->
<textarea class="{{ model.FLAG_NOTES }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ value_previous }}" {{ model.ATTR_VALUE_PREVIOUS }}="{{ value_previous }}"
>{{ value_formatted }}</textarea>
</td>
{% endwith %}

View File

@@ -38,7 +38,11 @@
<meta id="{{ model.ID_CSRF_TOKEN }}" name="{{ model.FLAG_CSRF_TOKEN }}" content="{{ csrf_token() }}" />
<script>
var attrIdAssessment = "{{ model.ATTR_ID_ASSESSMENT }}";
var attrIdAssessmentCommandModalityLink = "{{ model.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK }}";
var attrIdAssessmentResponse = "{{ model.ATTR_ID_ASSESSMENT_RESPONSE }}";
var attrIdAccessLevel = "{{ model.ATTR_ID_ACCESS_LEVEL }}";
var attrIdBribe = "{{ model.ATTR_ID_BRIBE }}";
var attrIdButtonColour = "{{ model.ATTR_ID_BUTTON_COLOUR }}";
var attrIdButtonIcon = "{{ model.ATTR_ID_BUTTON_ICON }}";
var attrIdButtonShape = "{{ model.ATTR_ID_BUTTON_SHAPE }}";
@@ -46,10 +50,16 @@
var attrIdCommand = "{{ model.ATTR_ID_COMMAND }}";
var attrIdCommandButtonLink = "{{ model.ATTR_ID_COMMAND_BUTTON_LINK }}";
var attrIdCommandCategory = "{{ model.ATTR_ID_COMMAND_CATEGORY }}";
var attrIdCommandModality = "{{ model.ATTR_ID_COMMAND_MODALITY }}";
var attrIdCurrency = "{{ model.ATTR_ID_CURRENCY }}";
var attrIdDistraction = "{{ model.ATTR_ID_DISTRACTION }}";
var attrIdDistractionIntensityLevel = "{{ model.ATTR_ID_DISTRACTION_INTENSITY_LEVEL }}";
var attrIdDistractionType = "{{ model.ATTR_ID_DISTRACTION_TYPE }}";
var attrIdDog = "{{ model.ATTR_ID_DOG }}";
var attrIdDogCommandLink = "{{ model.ATTR_ID_DOG_COMMAND_LINK }}";
var attrIdLightingLevel = "{{ model.ATTR_ID_LIGHTING_LEVEL }}";
var attrIdLocation = "{{ model.ATTR_ID_LOCATION }}";
var attrIdWeather = "{{ model.ATTR_ID_WEATHER }}";
var attrTextCollapsed = "{{ model.ATTR_TEXT_COLLAPSED }}";
var attrTextExpanded = "{{ model.ATTR_TEXT_EXPANDED }}";
var attrValueCurrent = "{{ model.ATTR_VALUE_CURRENT }}";
@@ -79,12 +89,17 @@
var flagAddress = "{{ model.FLAG_ADDRESS }}";
var flagAddressLine1 = "{{ model.FLAG_ADDRESS_LINE_1 }}";
var flagAddressLine2 = "{{ model.FLAG_ADDRESS_LINE_2 }}";
var flagAssessment = "{{ model.FLAG_ASSESSMENT }}";
var flagAssessmentCommandModalityLink = "{{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}";
var flagAssessmentResponse = "{{ model.FLAG_ASSESSMENT_RESPONSE }}";
var flagBribe = "{{ model.FLAG_BRIBE }}";
var flagButton = "{{ model.FLAG_BUTTON }}";
var flagButtonIcon = "{{ model.FLAG_BUTTON_ICON }}";
var flagButtonShape = "{{ model.FLAG_BUTTON_SHAPE }}";
var flagButtonPrimary = "{{ model.FLAG_BUTTON_PRIMARY }}";
var flagCallback = "{{ model.FLAG_CALLBACK }}";
var flagCancel = "{{ model.FLAG_CANCEL }}";
var flagCaptcha = "{{ model.FLAG_CAPTCHA }}";
var flagCard = "{{ model.FLAG_CARD }}";
var flagCheckbox = "{{ model.FLAG_CHECKBOX }}";
var flagCity = "{{ model.FLAG_CITY }}";
@@ -102,12 +117,16 @@
var flagCounty = "{{ model.FLAG_COUNTY }}";
var flagCsrfToken = "{{ model.FLAG_CSRF_TOKEN }}";
var flagCurrency = "{{ model.FLAG_CURRENCY }}";
var flagDdlPreview = "{{ model.FLAG_DDL_PREVIEW }}";
var flagDelete = "{{ model.FLAG_DELETE }}";
var flagDescription = "{{ model.FLAG_DESCRIPTION }}";
var flagDetail = "{{ model.FLAG_DETAIL }}";
var flagDialog = "{{ model.FLAG_DIALOG }}";
var flagDirty = "{{ model.FLAG_DIRTY }}";
var flagDisplayOrder = "{{ model.FLAG_DISPLAY_ORDER }}";
var flagDistraction = "{{ model.FLAG_DISTRACTION }}";
var flagDistractionIntensityLevel = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL }}";
var flagDistractionType = "{{ model.FLAG_DISTRACTION_TYPE }}";
var flagDog = "{{ model.FLAG_DOG }}";
var flagDogDogCommandLink = "{{ model.FLAG_DOG_DOG_COMMAND_LINK }}";
var flagDragging = "dragging";
@@ -121,11 +140,13 @@
var flagFilter = "{{ model.FLAG_FILTER }}";
var flagForm = "{{ model.FLAG_FORM }}";
var flagFormFilters = "{{ model.FLAG_FORM_FILTERS }}";
var flagIcon = "{{ model.FLAG_ICON }}";
var flagImageLogo = "{{ model.FLAG_IMAGE_LOGO }}";
var flagInitialised = "{{ model.FLAG_INITIALISED }}";
var flagIsChecked = "{{ model.FLAG_IS_CHECKED }}";
var flagIsCollapsed = "{{ model.FLAG_IS_COLLAPSED }}";
var flagLeftHandStub = "{{ model.FLAG_LEFT_HAND_STUB }}";
var flagLightingLevel = "{{ model.FLAG_LIGHTING_LEVEL }}";
var flagLocation = "{{ model.FLAG_LOCATION }}";
var flagLocationParent = "{{ model.FLAG_LOCATION_PARENT }}";
var flagLogo = "{{ model.FLAG_LOGO }}";
@@ -139,6 +160,7 @@
var flagNavAdminHome = "{{ model.FLAG_NAV_ADMIN_HOME }}";
var flagNavContact = "{{ model.FLAG_NAV_CONTACT }}";
var flagNavHome = "{{ model.FLAG_NAV_HOME }}";
var flagNavDogAssessments = "{{ model.FLAG_NAV_DOG_ASSESSMENTS }}";
var flagNavDogButtonIcons = "{{ model.FLAG_NAV_DOG_BUTTON_ICONS }}";
var flagNavDogButtonShapes = "{{ model.FLAG_NAV_DOG_BUTTON_SHAPES }}";
var flagNavDogColour = "{{ model.FLAG_NAV_DOG_COLOUR }}";
@@ -154,12 +176,14 @@
var flagNavUserLogin = "{{ model.FLAG_NAV_USER_LOGIN }}";
var flagNavUserLogout = "{{ model.FLAG_NAV_USER_LOGOUT }}";
var flagNotes = "{{ model.FLAG_NOTES }}";
var flagObedienceLevel = "{{ model.FLAG_OBEDIENCE_LEVEL }}";
var flagOverlay = "{{ model.FLAG_OVERLAY }}";
var flagOverlayClose = "{{ model.FLAG_OVERLAY_CLOSE }}";
var flagPageBody = "{{ model.FLAG_PAGE_BODY }}";
var flagPhoneNumber = "{{ model.FLAG_PHONE_NUMBER }}";
var flagPostcode = "{{ model.FLAG_POSTCODE }}";
var flagCaptcha = "{{ model.FLAG_CAPTCHA }}";
var flagQuantity = "{{ model.FLAG_QUANTITY }}";
var flagResponseQualityMetric = "{{ model.FLAG_RESPONSE_QUALITY_METRIC }}";
var flagRightHandSide = "{{ model.FLAG_RIGHT_HAND_SIDE }}";
var flagRow = "{{ model.FLAG_ROW }}";
var flagRowNew = "{{ model.FLAG_ROW_NEW }}";
@@ -172,8 +196,10 @@
var flagSubmit = "{{ model.FLAG_SUBMIT }}";
var flagSubmitted = "{{ model.FLAG_SUBMITTED }}";
var flagSuccess = "{{ model.FLAG_SUCCESS }}";
var flagTableMain = "{{ model.FLAG_TABLE_MAIN }}";
var flagTemporaryElement = "{{ model.FLAG_TEMPORARY_ELEMENT }}";
var flagUser = "{{ model.FLAG_USER }}";
var flagWeather = "{{ model.FLAG_WEATHER }}";
var flagWebsite = "{{ model.FLAG_WEBSITE }}";
var hashGetALTCHAChallenge = "{{ model.HASH_ALTCHA_CREATE_CHALLENGE }}";
var hashPageAccessibilityReport = "{{ model.HASH_PAGE_ACCESSIBILITY_REPORT }}";
@@ -182,6 +208,8 @@
var hashPageContact = "{{ model.HASH_PAGE_CONTACT }}";
var hashPageContactSuccess = "{{ model.HASH_PAGE_CONTACT_SUCCESS }}";
var hashPageDataRetentionSchedule = "{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}";
var hashPageDogAssessment = "{{ model.HASH_PAGE_DOG_ASSESSMENT }}";
var hashPageDogAssessments = "{{ model.HASH_PAGE_DOG_ASSESSMENTS }}";
var hashPageDogButtonIcons = "{{ model.HASH_PAGE_DOG_BUTTON_ICONS }}";
var hashPageDogButtonShapes = "{{ model.HASH_PAGE_DOG_BUTTON_SHAPES }}";
var hashPageDogColours = "{{ model.HASH_PAGE_DOG_COLOURS }}";
@@ -200,6 +228,7 @@
var hashPageUserAdmin = "{{ model.HASH_PAGE_USER_ADMIN }}";
var hashPageUserLogin = "{{ model.HASH_PAGE_USER_LOGIN }}";
var hashPageUserLogout = "{{ model.HASH_PAGE_USER_LOGOUT }}";
var hashSaveDogAssessment = "{{ model.HASH_SAVE_DOG_ASSESSMENT }}";
var hashSaveDogButtonIcon = "{{ model.HASH_SAVE_DOG_BUTTON_ICON }}";
var hashSaveDogButtonShape = "{{ model.HASH_SAVE_DOG_BUTTON_SHAPE }}";
var hashSaveDogColour = "{{ model.HASH_SAVE_DOG_COLOUR }}";

View File

@@ -0,0 +1,196 @@
{% extends 'layouts/layout.html' %}
{% block page_body %}
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/dog_assessment.bundle.css') }}">
{% set assessment = model.assessments[0] %}
<div class="{{ model.FLAG_SAVE }} {{ model.FLAG_CANCEL }} {{ model.FLAG_CONTAINER }} {{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_ROW }}">
<div class="{{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_save' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
</div>
<div class="{{ model.FLAG_COLUMN }}">
<div class="{{ model.FLAG_CONTAINER_INPUT }}">
{% set block_id = 'button_cancel' %}
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</div>
</div>
</div>
</div>
<form id="{{ model.ID_FORM_ASSESSMENT }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }}">
<table id="{{ model.ID_TABLE_ASSESSMENT }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_ASSESSMENT }}">
<thead>
<tr class="{{ model.FLAG_ASSESSMENT }}">
<th class="{{ model.FLAG_WEATHER }} {{ model.FLAG_DDL_PREVIEW }}">Weather</th>
<th class="{{ model.FLAG_LIGHTING_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">Lighting Level</th>
<th class="{{ model.FLAG_TEMPERATURE_CELCIUS }}">Temperature (&deg;C)</th>
<th class="{{ model.FLAG_LOCATION }} {{ model.FLAG_DDL_PREVIEW }}">Location</th>
<th class="{{ model.FLAG_USER_HANDLER }}">Handler</th>
<th class="{{ model.FLAG_NOTES }}">Notes</th>
</tr>
</thead>
<tbody>
<tr class="{{ model.FLAG_ASSESSMENT }}">
{{ model.form_filters.hidden_tag() }}
{% set weather_preview = assessment.weather %}
<td class="{{ model.FLAG_WEATHER }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_weather.html' %}
</td>
{% set lighting_level_preview = assessment.lighting_level %}
<td class="{{ model.FLAG_LIGHTING_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_lighting_level.html' %}
</td>
<td class="{{ model.FLAG_TEMPERATURE_CELCIUS }}">
<input type="number" min="-273" step="0.1"
class="{{ model.FLAG_TEMPERATURE_CELCIUS }}"
{{ model.ATTR_VALUE_CURRENT }}="{{ assessment.temperature_celcius }}"
{{ model.ATTR_VALUE_PREVIOUS }}="{{ assessment.temperature_celcius }}"
value="{{ assessment.temperature_celcius }}" />
</td>
{% set location_preview = assessment.location %}
<td class="{{ model.FLAG_LOCATION }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_location.html' %}
</td>
{% set user_preview = assessment.user_handler %}
{% set attribute_text = model.FLAG_USER_HANDLER %}
<td class="{{ model.FLAG_USER_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}">
{% include 'components/dog/_preview_DDL_user.html' %}
</td>
{% set notes = assessment.notes %}
{% include 'components/dog/_td_notes.html' %}
</tr>
</tbody>
</table>
</form>
<form id="{{ model.ID_FORM_DISTRACTIONS }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }}">
<table id="{{ model.ID_TABLE_DISTRACTIONS}}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_DISTRACTION }}">
<thead>
<tr class="{{ model.FLAG_DISTRACTION }}">
<th class="{{ model.FLAG_DISTRACTION_TYPE }} {{ model.FLAG_DDL_PREVIEW }}">Distraction Type</th>
<th class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL }} {{ model.FLAG_DDL_PREVIEW }}">Intensity Level Emotional</th>
<th class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT }} {{ model.FLAG_DDL_PREVIEW }}">Intensity Level Scent</th>
<th class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT }} {{ model.FLAG_DDL_PREVIEW }}">Intensity Level Sight</th>
<th class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND }} {{ model.FLAG_DDL_PREVIEW }}">Intensity Level Sound</th>
<th class="{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH }} {{ model.FLAG_DDL_PREVIEW }}">Intensity Level Touch</th>
<th class="{{ model.FLAG_QUANTITY }}">Quantity</th>
<th class="{{ model.FLAG_PROXIMITY_METRES }} {{ model.FLAG_DDL_PREVIEW }}">Proximity (m)</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 distraction in assessment.distractions %}
{% include 'components/dog/_row_distraction.html' %}
{% endfor %}
{% set is_blank_row = True %}
{% include 'components/dog/_row_distraction.html' %}
</tbody>
</table>
</form>
<form id="{{ model.ID_FORM_ASSESSMENT_COMMAND_MODALITY_LINKS }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }}">
<table id="{{ model.ID_TABLE_ASSESSMENT_COMMAND_MODALITY_LINKS }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}">
<thead>
<tr class="{{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}">
<th class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">Command Category</th>
<th class="{{ model.FLAG_COMMAND }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">Command</th>
<th class="{{ model.FLAG_COMMAND_MODALITY }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">Command Modality</th>
<th class="{{ model.FLAG_BRIBE }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">Bribe</th>
<th class="{{ model.FLAG_DISTANCE_FROM_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">Distance From Handler</th>
<th class="{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }}" colspan="3" rowspan="1">In Range Of Handler?</th>
<th class="{{ model.FLAG_IS_ON_LEAD }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">On Lead?</th>
<th class="{{ model.FLAG_TRIAL_COUNT }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="2">Trial Count</th>
<th class="{{ model.FLAG_NOTES }}" rowspan="2">Notes</th>
<th class="{{ model.FLAG_ASSESSMENT_RESPONSE }}" rowspan="2">Responses</th>
<th class="{{ model.FLAG_ACTIVE }}" rowspan="2">
{% set class_name = model.FLAG_ACTIVE %}
{% set attribute_text = '' %}
{% include 'components/common/buttons/_icon_add.html' %}
</th>
</tr>
<tr class="{{ model.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK }}">
<th class="{{ model.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="1">Sound</th>
<th class="{{ model.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="1">Scent</th>
<th class="{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }} {{ model.FLAG_DDL_PREVIEW }}" rowspan="1">Sight</th>
</tr>
</thead>
<tbody>
{% set is_blank_row = False %}
{% for link in assessment.assessment_command_modality_links %}
{% include 'components/dog/_row_assessment_command_modality_link.html' %}
{% endfor %}
{% set is_blank_row = True %}
{% include 'components/dog/_row_assessment_command_modality_link.html' %}
</tbody>
</table>
</form>
{% 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 src="{{ url_for('routes_dog.scripts_section_dog') }}"></script>
<script>
var assessment = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.assessments) | tojson | safe }};
var filterBribes = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_bribes) | tojson | safe }};
var filterCommandCategories = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_command_categories) | tojson | safe }};
var filterCommandModalities = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_command_modalities) | tojson | safe }};
var filterCommands = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_commands) | tojson | safe }};
var filterDistractionIntensityLevels = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_distraction_intensity_levels) | tojson | safe }};
var filterDistractionTypes = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_distraction_types) | 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 }};
var filterObedienceLevels = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_obedience_levels) | tojson | safe }};
var filterResponseQualityMetrics = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_response_quality_metrics) | tojson | safe }};
var filterUserHandlers = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_user_handlers) | tojson | safe }};
var filterWeathers = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_weathers) | tojson | safe }};
var flagCommandModality = "{{ model.FLAG_COMMAND_MODALITY }}";
var flagDistanceFromHandler = "{{ model.FLAG_DISTANCE_FROM_HANDLER }}";
var flagDistractionIntensityLevelEmotional = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL }}";
var flagDistractionIntensityLevelScent = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT }}";
var flagDistractionIntensityLevelSight = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT }}";
var flagDistractionIntensityLevelSound = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_SOUND }}";
var flagDistractionIntensityLevelTouch = "{{ model.FLAG_DISTRACTION_INTENSITY_LEVEL_TOUCH }}";
var flagDistractionType = "{{ model.FLAG_DISTRACTION_TYPE }}";
var flagIsInHearingRangeOfHandler = "{{ model.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER }}";
var flagIsInScentRangeOfHandler = "{{ model.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER }}";
var flagIsInSightOfHandler = "{{ model.FLAG_IS_IN_SIGHT_OF_HANDLER }}";
var flagIsOnLead = "{{ model.FLAG_IS_ON_LEAD }}";
var flagProximityMetres = "{{ model.FLAG_PROXIMITY_METRES }}";
var flagTemperatureCelcius = "{{ model.FLAG_TEMPERATURE_CELCIUS }}";
var flagTrialCount = "{{ model.FLAG_TRIAL_COUNT }}";
var flagUserHandler = "{{ model.FLAG_USER_HANDLER }}";
var flagValueMeasured = "{{ model.FLAG_VALUE_MEASURED }}";
var idFormAssessment = "#{{ model.ID_FORM_ASSESSMENT }}";
var idFormAssessmentCommandModalityLinks = "#{{ model.ID_FORM_ASSESSMENT_COMMAND_MODALITY_LINKS }}";
var idFormDistractions = "#{{ model.ID_FORM_DISTRACTIONS }}";
var idTableAssessment = "#{{ model.ID_TABLE_ASSESSMENT }}";
var idTableAssessmentCommandModalityLinks = "#{{ model.ID_TABLE_ASSESSMENT_COMMAND_MODALITY_LINKS }}";
var idTableAssessmentResponses = "#{{ model.ID_TABLE_ASSESSMENT_RESPONSES }}";
var idTableDistractions = "#{{ model.ID_TABLE_DISTRACTIONS }}";
</script>
{% endblock %}

View File

@@ -0,0 +1,113 @@
{% extends 'layouts/layout.html' %}
{% block page_body %}
<link rel="stylesheet" href="{{ url_for('static', filename='dist/css/dog_assessments.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_WEATHER }}">
{{ model.form_filters.id_weather.label }}
{{ model.form_filters.id_weather() }}
{% for error in model.form_filters.id_weather.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.ATTR_ID_LIGHTING_LEVEL }}">
{{ model.form_filters.id_lighting_level.label }}
{{ model.form_filters.id_lighting_level() }}
{% for error in model.form_filters.id_lighting_level.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.ATTR_ID_LOCATION }}">
{{ model.form_filters.id_location.label }}
{{ model.form_filters.id_location() }}
{% for error in model.form_filters.id_location.errors %}
<p class="error">{{ error }}</p>
{% endfor %}
</div>
<div class="{{ model.FLAG_CONTAINER_INPUT }} {{ model.FLAG_COLUMN }} {{ model.FLAG_FILTER }} {{ model.FLAG_USER_HANDLER }}">
{{ model.form_filters.id_user_handler.label }}
{{ model.form_filters.id_user_handler() }}
{% for error in model.form_filters.id_user_handler.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_ASSESSMENT }}">
<thead>
<tr class="{{ model.FLAG_ASSESSMENT }}">
<th class="{{ model.FLAG_DETAIL }}">Detail</th>
<th class="{{ model.FLAG_WEATHER }} {{ model.FLAG_DDL_PREVIEW }}">Weather</th>
<th class="{{ model.FLAG_LIGHTING_LEVEL }} {{ model.FLAG_DDL_PREVIEW }}">Lighting Level</th>
<th class="{{ model.FLAG_TEMPERATURE_CELCIUS }}">Temperature (&deg;C)</th>
<th class="{{ model.FLAG_LOCATION }} {{ model.FLAG_DDL_PREVIEW }}">Location</th>
<th class="{{ model.FLAG_USER_HANDLER }}">Handler</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 assessment in model.assessments %}
{% include 'components/dog/_row_assessment.html' %}
{% endfor %}
{% set is_blank_row = True %}
{% include 'components/dog/_row_assessment.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 src="{{ url_for('routes_dog.scripts_section_dog') }}"></script>
<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 }};
var filterUserHandlers = {{ model.convert_list_objects_to_dict_json_by_attribute_key_default(model.filter_user_handlers) | tojson | safe }};
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

@@ -29,7 +29,7 @@
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_BUTTON_ICON }}">
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_BUTTON_ICON }}">
<thead>
<tr class="{{ model.FLAG_BUTTON_ICON }}">
<th class="{{ model.FLAG_IMAGE }} {{ model.FLAG_DDL_PREVIEW }}">Image</th>

View File

@@ -71,7 +71,7 @@
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_COMMAND_BUTTON_LINK }}">
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_COMMAND_BUTTON_LINK }}">
<thead>
<tr class="{{ model.FLAG_COMMAND_BUTTON_LINK }}">
<th class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">Command Category</th>

View File

@@ -29,7 +29,7 @@
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_COMMAND_CATEGORY }}">
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_COMMAND_CATEGORY }}">
<thead>
<tr class="{{ model.FLAG_COMMAND_CATEGORY }}">
{#

View File

@@ -36,7 +36,7 @@
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_COMMAND }}">
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_COMMAND }}">
<thead>
<tr class="{{ model.FLAG_COMMAND }}">
<th class="{{ model.FLAG_COMMAND_CATEGORY }} {{ model.FLAG_DDL_PREVIEW }}">Command Category</th>

View File

@@ -50,7 +50,7 @@
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_DOG_COMMAND_LINK }}">
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_DOG_COMMAND_LINK }}">
<thead>
<tr class="{{ model.FLAG_DOG_COMMAND_LINK }}">
<th class="{{ model.FLAG_DOG }} {{ model.FLAG_DDL_PREVIEW }}">Dog</th>

View File

@@ -33,6 +33,21 @@
<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>
</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>
</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>
</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>
</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>
</div>
#}
</div>
</div>
{% endblock %}

View File

@@ -29,7 +29,7 @@
{% include 'components/common/buttons/_buttons_save_cancel.html' %}
</form>
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_LOCATION }}">
<table id="{{ model.ID_TABLE_MAIN }}" class="{{ model.FLAG_TABLE_MAIN }} {{ model.FLAG_ROW }} {{ model.FLAG_CARD }} {{ model.FLAG_LOCATION }}">
<thead>
<tr class="{{ model.FLAG_LOCATION }}">
<th class="{{ model.FLAG_LOCATION_PARENT }} {{ model.FLAG_DDL_PREVIEW }}">Parent</th>