Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ repos:
- id: check-toml
- id: detect-private-key
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.21
rev: v0.15.22
hooks:
- id: ruff
args: [--config, pyproject.toml]
- id: ruff-format
args: [--config, pyproject.toml]
- repo: https://github.com/djlint/djLint
rev: v1.40.6
rev: v1.42.0
hooks:
- id: djlint-reformat-jinja
- repo: local
Expand Down
82 changes: 41 additions & 41 deletions amt/site/templates/algorithms/ai_act_changes_modal.html.j2
Original file line number Diff line number Diff line change
@@ -1,62 +1,62 @@
<h1 class="utrecht-heading-1">{% trans %}Update requirements and measures{% endtrans %}</h1>
<p>
{% trans %}Changing the AI-Act profile will lead to the following changes in requirements and measures.{% endtrans %}
{% trans %}Changing the AI-Act profile will lead to the following changes in requirements and measures.{% endtrans %}
</p>
{% if added_requirements|length > 0 %}
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}New requirements{% endtrans %}</h2>
<ul class="rvo-item-list">
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}New requirements{% endtrans %}</h2>
<ul class="rvo-item-list">
{% for requirement in added_requirements %}
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
<span>{{ requirement.name }}</span>
</div>
</li>
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
<span>{{ requirement.name }}</span>
</div>
</li>
{% endfor %}
</ul>
</ul>
{% endif %}
{% if removed_requirements|length > 0 %}
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}Removed requirements{% endtrans %}</h2>
<ul class="rvo-item-list">
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}Removed requirements{% endtrans %}</h2>
<ul class="rvo-item-list">
{% for requirement in removed_requirements %}
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--rood"></div>
<span>{{ requirement.name }}</span>
</div>
</li>
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--rood"></div>
<span>{{ requirement.name }}</span>
</div>
</li>
{% endfor %}
</ul>
</ul>
{% endif %}
{% if added_measures|length > 0 %}
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}New measures{% endtrans %}</h2>
<ul class="rvo-item-list">
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}New measures{% endtrans %}</h2>
<ul class="rvo-item-list">
{% for measure in added_measures %}
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
<span>{{ measure.name }}</span>
</div>
</li>
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
<span>{{ measure.name }}</span>
</div>
</li>
{% endfor %}
</ul>
</ul>
{% endif %}
{% if removed_measures|length > 0 %}
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}Removed measures{% endtrans %}</h2>
<ul class="rvo-item-list">
<h2 class="utrecht-heading-2 margin-bottom-small margin-top-large">{% trans %}Removed measures{% endtrans %}</h2>
<ul class="rvo-item-list">
{% for measure in removed_measures %}
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--rood"></div>
<span>{{ measure.name }}</span>
</div>
</li>
<li class="rvo-item-list__item">
<div class="rvo-layout-row rvo-layout-gap--sm">
<div class="rvo-status-indicator rvo-status-indicator--rood"></div>
<span>{{ measure.name }}</span>
</div>
</li>
{% endfor %}
</ul>
</ul>
{% endif %}
<div class="margin-top-large">
<button class="utrecht-button utrecht-button--primary-action utrecht-button--rvo-md"
onclick="amt.updateFormStateAndSubmit('{{ new_values["form-id"] }}','CONFIRM_SAVE'); amt.closeAndResetDynamicModal('modal'); return false;">
{% trans %}Apply changes{% endtrans %}
</button>
<button class="utrecht-button utrecht-button--primary-action utrecht-button--rvo-md"
onclick="amt.updateFormStateAndSubmit('{{ new_values["form-id"] }}','CONFIRM_SAVE'); amt.closeAndResetDynamicModal('modal'); return false;">
{% trans %}Apply changes{% endtrans %}
</button>
</div>
84 changes: 42 additions & 42 deletions amt/site/templates/algorithms/details_base.html.j2
Original file line number Diff line number Diff line change
Expand Up @@ -3,54 +3,54 @@
{% import "macros/tabs.html.j2" as tabs with context %}
{% block title %}{{ algorithm.name }} | AMT{% endblock %}
{% block content %}
<div id="delete-modal" class="minbzk-modal display-none">
<div class="modal-underlay" onclick="amt.closeModal('delete-modal')"></div>
<div class="modal-content-container model-content-auto-size">
<div class="modal-content rvo-layout-column"
style="overflow-x: hidden;
height: auto;
width: auto">
<div class="amt-flex-container">
<h3 class="utrecht-heading-3 rvo-heading--no-margins">{% trans %}Delete algoritmic system{% endtrans %}</h3>
</div>
<hr class="rvo-hr" />
<p style="padding-block: 0.5em 0.4em;">
<strong>{% trans %}Are you sure you want to delete your algoritmic system {% endtrans %} {{ algorithm.name }}?</strong>
<div id="delete-modal" class="minbzk-modal display-none">
<div class="modal-underlay" onclick="amt.closeModal('delete-modal')"></div>
<div class="modal-content-container model-content-auto-size">
<div class="modal-content rvo-layout-column"
style="overflow-x: hidden;
height: auto;
width: auto">
<div class="amt-flex-container">
<h3 class="utrecht-heading-3 rvo-heading--no-margins">{% trans %}Delete algoritmic system{% endtrans %}</h3>
</div>
<hr class="rvo-hr" />
<p style="padding-block: 0.5em 0.4em;">
<strong>{% trans %}Are you sure you want to delete your algoritmic system {% endtrans %} {{ algorithm.name }}?</strong>
</p>
<p style="padding-block: 0.0em 1.25em;">
{% trans %}Data will be stored for at least 45 days before permanent deletion.{% endtrans %}
</p>
<p class="utrecht-button-group">
<button hx-headers='{"X-CSRF-Token": "{{ csrftoken }}"}'
hx-delete="/algorithm/{{ algorithm.id }}"
class="utrecht-button utrecht-button--primary-action utrecht-button--rvo-md"
type="button">{% trans %}Yes{% endtrans %}</button>
<button class="utrecht-button utrecht-button--secondary-action utrecht-button--rvo-md"
onclick="amt.closeModal('delete-modal')"
type="button">{% trans %}No{% endtrans %}</button>
</p>
</div>
</div>
</div>
<div class="rvo-max-width-layout rvo-max-width-layout--lg rvo-max-width-layout-inline-padding--none">
{% trans %}Data will be stored for at least 45 days before permanent deletion.{% endtrans %}
</p>
<p class="utrecht-button-group">
<button hx-headers='{"X-CSRF-Token": "{{ csrftoken }}"}'
hx-delete="/algorithm/{{ algorithm.id }}"
class="utrecht-button utrecht-button--primary-action utrecht-button--rvo-md"
type="button">{% trans %}Yes{% endtrans %}</button>
<button class="utrecht-button utrecht-button--secondary-action utrecht-button--rvo-md"
onclick="amt.closeModal('delete-modal')"
type="button">{% trans %}No{% endtrans %}</button>
</p>
</div>
</div>
</div>
<div class="rvo-max-width-layout rvo-max-width-layout--lg rvo-max-width-layout-inline-padding--none">
<!-- algorithm header -->
{{ tabs.show_algorithm_header() }}
<!-- tabs container -->
<div>
<ul class="rvo-tabs rvo-ul rvo-ul--no-margin rvo-ul--no-padding rvo-ul--icon rvo-ul--icon-option-2"
role="tablist"
aria-label="Tabs">
{% for tab_item in tab_items %}
<li role="presentation" class="rvo-tabs__item">
<a data-navigation="tab:{{ tab_item.get_url() }}"
class="rvo-link rvo-tabs__item-link rvo-link--no-underline {% if tab_item.active %}rvo-tabs__item-link--active rvo-link--active{% else %}rvo-link--normal{% endif %}"
role="tab"
aria-selected="true"
href="{{ tab_item.get_url() }}">{{ tab_item.display_text }}</a>
</li>
{% endfor %}
</ul>
<ul class="rvo-tabs rvo-ul rvo-ul--no-margin rvo-ul--no-padding rvo-ul--icon rvo-ul--icon-option-2"
role="tablist"
aria-label="Tabs">
{% for tab_item in tab_items %}
<li role="presentation" class="rvo-tabs__item">
<a data-navigation="tab:{{ tab_item.get_url() }}"
class="rvo-link rvo-tabs__item-link rvo-link--no-underline {% if tab_item.active %}rvo-tabs__item-link--active rvo-link--active{% else %}rvo-link--normal{% endif %}"
role="tab"
aria-selected="true"
href="{{ tab_item.get_url() }}">{{ tab_item.display_text }}</a>
</li>
{% endfor %}
</ul>
</div>
<div class="margin-top-large">{% block detail_content %}Placeholder{% endblock %}</div>
</div>
</div>
{% endblock %}
138 changes: 69 additions & 69 deletions amt/site/templates/algorithms/details_compliance.html.j2
Original file line number Diff line number Diff line change
@@ -1,75 +1,75 @@
{% extends 'algorithms/details_base.html.j2' %}
{% import "macros/form_macros.html.j2" as macros with context %}
{% block detail_content %}
<div class="rvo-accordion">
{% for (requirement, completed_measures_count, measures) in requirements_and_measures %}
<details class="rvo-accordion__item">
<summary style="scroll-margin-top: 75px"
id="{{ requirement.urn | replace(':', '_') }}"
class="rvo-accordion__item-summary margin-bottom-large">
<h3 class="utrecht-heading-3 rvo-accordion__item-title rvo-heading--no-margins rvo-heading--mixed">
<span class="utrecht-icon rvo-icon rvo-icon-delta-omlaag rvo-icon--md rvo-icon--hemelblauw rvo-accordion__item-icon--closed"
role="img"
aria-label="Delta omlaag"></span>
<span class="utrecht-icon rvo-icon rvo-icon-delta-omhoog rvo-icon--md rvo-icon--hemelblauw rvo-accordion__item-icon--open"
role="img"
aria-label="Delta omhoog"></span>
{{ requirement.name }}
</h3>
<div class="rvo-accordion-teaser">
<div class="rvo-layout rvo-margin-block-start--sm rvo-margin-block-end--sm ">{{ requirement.description }}</div>
<div class="rvo-layout-row rvo-layout-gap--sm">
{% if completed_measures_count == 0 %}
<div class="rvo-status-indicator rvo-status-indicator--hemelblauw"></div>
{% elif completed_measures_count < measures | length %}
<div class="rvo-status-indicator rvo-status-indicator--oranje"></div>
{% else %}
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
{% endif %}
{{ completed_measures_count }} / {{ measures | length }} {% trans %}measure executed{% endtrans %}
</div>
</div>
</summary>
{% for measure in measures %}
<div class="rvo-accordion__content">
<div class="rvo-layout-row rvo-layout-gap--sm rvo-layout-align-items-start rvo-layout-margin-horizontal--xl">
{% if measure.state == "to do" %}
<div class="rvo-status-indicator rvo-status-indicator--oranje-300"></div>
{% elif measure.state == "in progress" %}
<div class="rvo-status-indicator rvo-status-indicator--hemelblauw"></div>
{% elif measure.state == "in review" %}
<div class="rvo-status-indicator rvo-status-indicator--oranje"></div>
{% elif measure.state == "done" %}
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
{% elif measure.state == "not implemented" %}
<div class="rvo-status-indicator rvo-status-indicator--hemelblauw-300"></div>
{% else %}
{# This should not happen, red could be for overdue.#}
<div class="rvo-status-indicator rvo-status-indicator--rood"></div>
{% endif %}
<div class="rvo-layout-column">
<h4 class="utrecht-heading-4 rvo-heading--no-margins">{{ loop.index }}. {{ measure.name }}</h4>
<p class="rvo-text">{{ measure.value }}</p>
{% if permission(permission_path, 'Update', permissions) == True %}
<a class="rvo-link rvo-link--normal rvo-link--with-icon"
hx-trigger="click"
hx-target="#dynamic-modal-content"
hx-get="/algorithm/{{ algorithm_id }}/measure/{{ measure.urn }}?requirement_urn={{ requirement.urn }}"
hx-swap="innerHTML"
onclick="amt.openModal('modal')">
<span class="utrecht-icon rvo-icon rvo-icon-pijl-naar-rechts rvo-icon--md rvo-icon--hemelblauw rvo-link__icon--before"
role="img"
aria-label="Home"></span>
{% trans %}Edit{% endtrans %}
</a>
{% endif %}
<div class="margin-top-middle">{{ macros.user_avatars(measure_task_functions[measure.urn]) }}</div>
</div>
</div>
<div class="rvo-accordion">
{% for (requirement, completed_measures_count, measures) in requirements_and_measures %}
<details class="rvo-accordion__item">
<summary style="scroll-margin-top: 75px"
id="{{ requirement.urn | replace(':', '_') }}"
class="rvo-accordion__item-summary margin-bottom-large">
<h3 class="utrecht-heading-3 rvo-accordion__item-title rvo-heading--no-margins rvo-heading--mixed">
<span class="utrecht-icon rvo-icon rvo-icon-delta-omlaag rvo-icon--md rvo-icon--hemelblauw rvo-accordion__item-icon--closed"
role="img"
aria-label="Delta omlaag"></span>
<span class="utrecht-icon rvo-icon rvo-icon-delta-omhoog rvo-icon--md rvo-icon--hemelblauw rvo-accordion__item-icon--open"
role="img"
aria-label="Delta omhoog"></span>
{{ requirement.name }}
</h3>
<div class="rvo-accordion-teaser">
<div class="rvo-layout rvo-margin-block-start--sm rvo-margin-block-end--sm ">{{ requirement.description }}</div>
<div class="rvo-layout-row rvo-layout-gap--sm">
{% if completed_measures_count == 0 %}
<div class="rvo-status-indicator rvo-status-indicator--hemelblauw"></div>
{% elif completed_measures_count < measures | length %}
<div class="rvo-status-indicator rvo-status-indicator--oranje"></div>
{% else %}
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
{% endif %}
{{ completed_measures_count }} / {{ measures | length }} {% trans %}measure executed{% endtrans %}
</div>
</div>
</summary>
{% for measure in measures %}
<div class="rvo-accordion__content">
<div class="rvo-layout-row rvo-layout-gap--sm rvo-layout-align-items-start rvo-layout-margin-horizontal--xl">
{% if measure.state == "to do" %}
<div class="rvo-status-indicator rvo-status-indicator--oranje-300"></div>
{% elif measure.state == "in progress" %}
<div class="rvo-status-indicator rvo-status-indicator--hemelblauw"></div>
{% elif measure.state == "in review" %}
<div class="rvo-status-indicator rvo-status-indicator--oranje"></div>
{% elif measure.state == "done" %}
<div class="rvo-status-indicator rvo-status-indicator--groen"></div>
{% elif measure.state == "not implemented" %}
<div class="rvo-status-indicator rvo-status-indicator--hemelblauw-300"></div>
{% else %}
{# This should not happen, red could be for overdue.#}
<div class="rvo-status-indicator rvo-status-indicator--rood"></div>
{% endif %}
<div class="rvo-layout-column">
<h4 class="utrecht-heading-4 rvo-heading--no-margins">{{ loop.index }}. {{ measure.name }}</h4>
<p class="rvo-text">{{ measure.value }}</p>
{% if permission(permission_path, 'Update', permissions) == True %}
<a class="rvo-link rvo-link--normal rvo-link--with-icon"
hx-trigger="click"
hx-target="#dynamic-modal-content"
hx-get="/algorithm/{{ algorithm_id }}/measure/{{ measure.urn }}?requirement_urn={{ requirement.urn }}"
hx-swap="innerHTML"
onclick="amt.openModal('modal')">
<span class="utrecht-icon rvo-icon rvo-icon-pijl-naar-rechts rvo-icon--md rvo-icon--hemelblauw rvo-link__icon--before"
role="img"
aria-label="Home"></span>
{% trans %}Edit{% endtrans %}
</a>
{% endif %}
<div class="margin-top-middle">{{ macros.user_avatars(measure_task_functions[measure.urn]) }}</div>
</div>
</div>
</div>
{% endfor %}
</details>
{% endfor %}
</div>
<script type="text/javascript">amt.showRequirementDetails();</script>
</details>
{% endfor %}
</div>
<script type="text/javascript">amt.showRequirementDetails();</script>
{% endblock %}
Loading
Loading