Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mise en production 03-03-2025 #780

Merged
merged 8 commits into from
Mar 3, 2025
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
16 changes: 6 additions & 10 deletions core/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,17 +150,13 @@ def __init__(self, *args, **kwargs):


class MessageForm(DSFRForm, WithNextUrlMixin, WithContentTypeMixin, forms.ModelForm):
recipients = ContactModelMultipleChoiceField(
queryset=Contact.objects.none(), label_suffix="", label="Destinataires :"
)
recipients = ContactModelMultipleChoiceField(queryset=Contact.objects.none(), label="Destinataires*")
recipients_structures_only = ContactModelMultipleChoiceField(
queryset=Contact.objects.none(), label_suffix="", label="Destinataires :"
)
recipients_copy = ContactModelMultipleChoiceField(
queryset=Contact.objects.none(), required=False, label="Copie :", label_suffix=""
queryset=Contact.objects.none(), label="Destinataires*"
)
recipients_copy = ContactModelMultipleChoiceField(queryset=Contact.objects.none(), required=False, label="Copie")
recipients_copy_structures_only = ContactModelMultipleChoiceField(
queryset=Contact.objects.none(), required=False, label="Copie :", label_suffix=""
queryset=Contact.objects.none(), required=False, label="Copie"
)
recipients_limited_recipients = forms.MultipleChoiceField(
choices=[("mus", "MUS"), ("bsv", "BSV")],
Expand Down Expand Up @@ -214,13 +210,13 @@ def _get_structures(self, obj):
def _get_recipients_label(self, obj):
structure_ids = ",".join([str(c.id) for c in self._get_structures(obj)])
return mark_safe(
f"Destinataires :<a href='#' class='fr-link destinataires-shortcut' data-structures='{structure_ids}'>Ajouter toutes les structures de la fiche</a>"
f"Destinataires*<a href='#' class='fr-link destinataires-shortcut' data-structures='{structure_ids}'>Ajouter toutes les structures de la fiche</a>"
)

def _get_recipients_copy_label(self, obj):
structure_ids = ",".join([str(c.id) for c in self._get_structures(obj)])
return mark_safe(
f"Copie :<a href='#' class='fr-link copie-shortcut' data-structures='{structure_ids}'>Ajouter toutes les structures de la fiche</a>"
f"Copie <a href='#' class='fr-link copie-shortcut' data-structures='{structure_ids}'>Ajouter toutes les structures de la fiche</a>"
)

def __init__(self, *args, sender, **kwargs):
Expand Down
3 changes: 3 additions & 0 deletions core/static/core/404.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body {
background-color: var(--background-default-grey);
}
6 changes: 4 additions & 2 deletions core/static/core/message.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
align-items: center;
justify-content: space-between
}

label[for=id_recipients]::after, label[for=id_recipients_structures_only]::after{
content: none !important;
}
.btn-full{
width: 100%;
display: block;
Expand All @@ -30,7 +32,7 @@
display: flex;
justify-content: end;
}
label[for=id_recipients], label[for=id_recipients_copy]
label[for=id_recipients], label[for=id_recipients_copy], label[for=id_recipients_structures_only], label[for=id_recipients_copy_structures_only]
{
display: flex;
justify-content: space-between;
Expand Down
46 changes: 46 additions & 0 deletions core/templates/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{% extends "core/base.html" %}
{% load static %}
{% block product %}
{% endblock product %}

{% block extrahead %}
<link rel="stylesheet" href="{% static 'core/404.css' %}">
{% endblock %}

{% block content %}
<main class="main-container">
<div class="fr-container">
<div class="fr-my-7w fr-mt-md-12w fr-mb-md-10w fr-grid-row fr-grid-row--gutters fr-grid-row--middle fr-grid-row--center">
<div class="fr-py-0 fr-col-12 fr-col-md-6">
<h1>Page non trouvée</h1>
<p class="fr-text--sm fr-mb-3w">Erreur 404</p>
<p class="fr-text--lead fr-mb-3w">La page que vous cherchez est introuvable. Excusez-nous pour la gène occasionnée.</p>
<p class="fr-text--sm fr-mb-5w">
Si vous avez tapé l'adresse web dans le navigateur, vérifiez qu'elle est correcte. La page n'est peut-être plus disponible.
Dans ce cas, pour continuer à utiliser Sèves, vous pouvez consulter la page d'accueil.
</p>
<ul class="fr-btns-group fr-btns-group--inline-md">
<li>
<a class="fr-btn" href="{% url 'index' %}">
Page d'accueil
</a>
</li>
</ul>
</div>
<div class="fr-col-12 fr-col-md-3 fr-col-offset-md-1 fr-px-6w fr-px-md-0 fr-py-0">
<svg xmlns="http://www.w3.org/2000/svg" class="fr-responsive-img fr-artwork" aria-hidden="true" width="160" height="200" viewBox="0 0 160 200">
<use class="fr-artwork-motif" href="{% static 'images/ovoid.svg' %}#artwork-motif"></use>
<use class="fr-artwork-background" href="{% static 'images/ovoid.svg' %}#artwork-background"></use>
<g transform="translate(40, 60)">
<use class="fr-artwork-decorative" href="{% static 'images/technical-error.svg' %}#artwork-decorative"></use>
<use class="fr-artwork-minor" href="{% static 'images/technical-error.svg' %}#artwork-minor"></use>
<use class="fr-artwork-major" href="{% static 'images/technical-error.svg' %}#artwork-major"></use>
</g>
</svg>
</div>
</div>
</div>


</main>
{% endblock %}
141 changes: 73 additions & 68 deletions core/templates/core/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,84 +47,89 @@

</a></div>
<div>
<a href="{% url 'fiche-liste' %}" class="fr-tag fr-icon-leaf-line fr-tag--icon-left">
{% block product_title %}
{% endblock product_title %}
</a></div>
{% block product %}
<a href="{% url 'fiche-liste' %}" class="fr-tag fr-icon-leaf-line fr-tag--icon-left">
{% block product_title %}
{% endblock product_title %}
</a>
{% endblock product %}
</div>
</div>
<div class="fr-header__tools">
<div class="fr-header__tools-links">
<ul class="fr-btns-group">
<button class="fr-btn fr-btn--header-blue fr-my-auto">
<span class="fr-icon-add-line" aria-hidden="true"></span>
<a href="{% url 'fiche-detection-creation' %}">Créer une fiche</a>
</button>
</li>
<li class="{% block highlight_menu_fiches %}{% endblock %}">
<a class="fr-btn" href="{% url 'fiche-liste' %}">Fiches</a>
</li>
<li>
<a class="fr-btn" href="https://doc.seves.beta.gouv.fr" target="_blank">Aide</a>
</li>
<li class="fr-nav__item">
{% if user.is_authenticated %}
<button class="fr-nav__btn" aria-expanded="false" aria-controls="menu-777"><span class="fr-icon-account-circle-line"></span>{{ user.email }}</button>
<div class="fr-collapse fr-menu" id="menu-777">
<ul class="fr-menu__list">
<li>
<form action="{% url 'oidc_logout' %}" method="post">
{% csrf_token %}
<input type="submit" value="Se déconnecter" class="fr-nav__link">
</form>
</li>
{% if request.user|has_group:"access_admin" %}
<li class="fr-nav__link"><a href="{% url 'handle-permissions' %}">Gestion des droits d'accès</a></li>
{% endif %}
</ul>
</div>
{% endif %}
</li>
</ul>
{% if user.is_authenticated %}
<ul class="fr-btns-group">
<button class="fr-btn fr-btn--header-blue fr-my-auto">
<span class="fr-icon-add-line" aria-hidden="true"></span>
<a href="{% url 'fiche-detection-creation' %}">Créer une fiche</a>
</button>
</li>
<li class="{% block highlight_menu_fiches %}{% endblock %}">
<a class="fr-btn" href="{% url 'fiche-liste' %}">Fiches</a>
</li>
<li>
<a class="fr-btn" href="https://doc.seves.beta.gouv.fr" target="_blank">Aide</a>
</li>
<li class="fr-nav__item">
{% if user.is_authenticated %}
<button class="fr-nav__btn" aria-expanded="false" aria-controls="menu-777"><span class="fr-icon-account-circle-line"></span>{{ user.email }}</button>
<div class="fr-collapse fr-menu" id="menu-777">
<ul class="fr-menu__list">
<li>
<form action="{% url 'oidc_logout' %}" method="post">
{% csrf_token %}
<input type="submit" value="Se déconnecter" class="fr-nav__link">
</form>
</li>
{% if request.user|has_group:"access_admin" %}
<li class="fr-nav__link"><a href="{% url 'handle-permissions' %}">Gestion des droits d'accès</a></li>
{% endif %}
</ul>
</div>
{% endif %}
</li>
</ul>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="fr-header__menu fr-modal" id="modal-499" aria-labelledby="button-500">
<div class="fr-container">
<button class="fr-btn--close fr-btn" aria-controls="modal-499" title="Fermer"> Fermer</button>
<div class="fr-header__menu-links"></div>
<div class="fr-header__menu fr-modal" id="modal-499" aria-labelledby="button-500">
<div class="fr-container">
<button class="fr-btn--close fr-btn" aria-controls="modal-499" title="Fermer"> Fermer</button>
<div class="fr-header__menu-links"></div>
</div>
</div>
</header>
{% if messages %}
<div class="alert-container">
{% for message in messages %}
{% if "core" not in message.extra_tags and "blocking" not in message.extra_tags %}
<div class="fr-alert fr-alert--{{ message.level_tag }}">
<h3 class="fr-alert__title">{{message}}</h3>
<button class="fr-btn--close fr-btn btn--close-js" title="Masquer le message">
Masquer le message
</button>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</header>
{% if messages %}
<div class="alert-container">
{% for message in messages %}
{% if "core" not in message.extra_tags and "blocking" not in message.extra_tags %}
<div class="fr-alert fr-alert--{{ message.level_tag }}">
<h3 class="fr-alert__title">{{message}}</h3>
<button class="fr-btn--close fr-btn btn--close-js" title="Masquer le message">
Masquer le message
</button>
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}

{% for message in messages %}
{% if "blocking" in message.extra_tags %}
{% include "core/_modale_erreur_bloquante.html" %}
{% endif %}
{% endfor %}

{% block content %}{% endblock %}
{% for message in messages %}
{% if "blocking" in message.extra_tags %}
{% include "core/_modale_erreur_bloquante.html" %}
{% endif %}
{% endfor %}

{% block content %}{% endblock %}

<script type="module" src="{% static 'dsfr.module.min.js' %}"></script>
<script type="text/javascript" nomodule src="{% static 'dsfr.nomodule.min.js' %}"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/public/assets/scripts/choices.min.js"></script>
<script type="text/javascript" src="{% static 'core/base.js' %}"></script>
{% block scripts %}{% endblock %}
</body>
<script type="module" src="{% static 'dsfr.module.min.js' %}"></script>
<script type="text/javascript" nomodule src="{% static 'dsfr.nomodule.min.js' %}"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/public/assets/scripts/choices.min.js"></script>
<script type="text/javascript" src="{% static 'core/base.js' %}"></script>
{% block scripts %}{% endblock %}
</body>

</html>
16 changes: 8 additions & 8 deletions static/dsfr.min.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions static/dsfr.module.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion static/dsfr.module.min.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions static/dsfr.nomodule.min.js

Large diffs are not rendered by default.

Loading