Skip to content

[mantis-330/331] Refonte de la désinscription de permanence#128

Merged
Mandrak-Kimigo merged 1 commit into
stagingfrom
mantis-330
Jun 28, 2026
Merged

[mantis-330/331] Refonte de la désinscription de permanence#128
Mandrak-Kimigo merged 1 commit into
stagingfrom
mantis-330

Conversation

@Mandrak-Kimigo

@Mandrak-Kimigo Mandrak-Kimigo commented Jun 28, 2026

Copy link
Copy Markdown
Member

Contexte

Deux problèmes liés sur le flux de désinscription d'un bénévole à une permanence :

  • mantis-330 : la page /distribution/unsubscribeFromRole imposait la saisie
    d'un motif envoyé à tous les membres du groupe, créant une friction inutile.
  • mantis-331 : le mail de désinscription était envoyé systématiquement, même
    quand le rappel des rôles vacants (cron) n'avait pas encore été déclenché —
    rendant la notification redondante et prématurée.

Solution

camap-hx

controller/Distribution.hx

  • doUnsubscribeFromRole redirige vers /distribution/volunteersCalendar
    (URL legacy conservée pour compatibilité).

controller/api/Distributions.hx

  • Nouvel endpoint POST /api/distributions/unsubscribeFromRole/{distribId}/{roleId} :
    effectue la désinscription sans motif requis.

service/VolunteerService.hx

  • removeUserFromRole : suppression du paramètre reason.
  • Nouvelle condition d'envoi du mail : uniquement si now > alertDate
    (c.-à-d. après la date à laquelle le cron « rôles vacants » se déclenche).
    Avant cette date, pas d'envoi — le cron prendra le relais.
  • Simplification : un seul jeu de destinataires (tous les membres).

lang/master/tpl/mail/volunteerUnsuscribed.mtt

  • Suppression du paragraphe « a indiqué la raison suivante ».
  • Nouveau libellé : « [Nom] s'est désisté(e) du rôle [Rôle]. »

camap-ts

modules/volunteersCalendar/requests.tsx

  • Hook useRestUnsubscribeFromRole (appel REST POST).

modules/volunteersCalendar/components/VolunteersCalendarDistributionRole.tsx

  • Le bouton « Se désinscrire » ouvre une Dialog MUI de confirmation
    (titre : « Permanence [rôle] du [date] », boutons Oui / Annuler)
    au lieu de naviguer vers la page Haxe supprimée.

modules/volunteersCalendar/VolunteersCalendar.module.tsx

  • Passage de roleName et d'un callback onUnsubscribeSuccess
    (reset état + re-fetch du calendrier).

public/locales/fr/volunteers-calendar.json

  • Clés de traduction pour la Dialog (unsubscribeDialogTitle,
    unsubscribeDialogMessage, yes, cancel).

Comment tester

  1. Se connecter en tant que bénévole inscrit à une permanence.
  2. Ouvrir /distribution/volunteersCalendar.
  3. Cliquer « Se désinscrire » → vérifier l'affichage de la Dialog avec le bon rôle et la bonne date.
  4. « Annuler » → la Dialog se ferme, rien ne change.
  5. « Oui » → désinscription effectuée, calendrier rafraîchi.
  6. Accéder à /distribution/unsubscribeFromRole/{id}/{id} → redirection vers le calendrier.

Mail — cas 1 (désinscription avant la date d'alerte)

  • Permanence dans 10 jours, vacantVolunteerRolesMailDaysBeforeDutyPeriod = 7
  • Se désinscrire → aucun mail envoyé.

Mail — cas 2 (désinscription après la date d'alerte)

  • Permanence dans 5 jours → mail envoyé à tous les membres, sans mention de raison.

Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com

… MUI de confirmation

Dans VolunteersCalendarDistributionRole, le bouton "Se désinscrire" ouvre
une Dialog MUI au lieu de naviguer vers la page Haxe supprimée.

La Dialog affiche le rôle et la date/heure de la permanence, demande
confirmation, appelle le nouvel endpoint REST, puis rafraîchit le calendrier.
@Mandrak-Kimigo Mandrak-Kimigo changed the title [mantis-330] Remplacer la page de désinscription de permanence par une Dialog de confirmation [mantis-330] Remplacer la page de désinscription de permanence par un Dialog de confirmation Jun 28, 2026
@Mandrak-Kimigo Mandrak-Kimigo changed the title [mantis-330] Remplacer la page de désinscription de permanence par un Dialog de confirmation [mantis-330/331] Refonte de la désinscription de permanence Jun 28, 2026
@InterAMAP44 InterAMAP44 marked this pull request as ready for review June 28, 2026 14:27
@InterAMAP44 InterAMAP44 self-requested a review as a code owner June 28, 2026 14:27
@Mandrak-Kimigo Mandrak-Kimigo merged commit 579f515 into staging Jun 28, 2026
2 checks passed
Mandrak-Kimigo added a commit that referenced this pull request Jul 12, 2026
* fix double paste in mail interface

* fix links do not work in outgoing message

* fix a style in email
fix p formatting in email

* [mantis-340] Féminisation des métiers dans la liste des producteurs

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* add fix-* workflow

* [mantis-330] Remplacer la navigation vers la page Haxe par une Dialog MUI de confirmation (#128)

Dans VolunteersCalendarDistributionRole, le bouton "Se désinscrire" ouvre
une Dialog MUI au lieu de naviguer vers la page Haxe supprimée.

La Dialog affiche le rôle et la date/heure de la permanence, demande
confirmation, appelle le nouvel endpoint REST, puis rafraîchit le calendrier.

* [mantis-170] Messagerie : reformulation et réordonnancement des listes de destinataires (#129)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* wip line breaks

* put caret in editor when focusing with tab

* clear form on send

* [mantis-338] Export CSV des distributions producteur

Ajoute un bouton "Exporter les distributions (CSV)" sur le dashboard
producteur, avec un sélecteur de date de départ.

Le CSV présente en lignes les produits (par AMAP puis nom de produit)
et en colonnes les dates de distribution, avec les quantités commandées.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* [mantis-338] Simplifier le format des cellules CSV

- Remplace formatSmartQt par formatNumber : les cellules affichent
  uniquement la quantité numérique (ex: "30,02" au lieu de
  "30,02Kg. Petit poulet ( < 1.6kg )")
- Retire les champs produit inutiles de la query GQL (qt, unitType,
  bulk, variablePrice)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* mantis-338 : export CSV des distributions producteur

DatePicker à droite du bouton d'export

* Fix/messagerie (#131)

* fix double paste in mail interface

* fix links do not work in outgoing message

* fix a style in email
fix p formatting in email

* wip line breaks

* put caret in editor when focusing with tab

* clear form on send

* fix gras, italic, souligné dans les mails reçus

* fix taille de l'image dans le mail

* fix impossible d'editer un message réutilisé

* fix les saut de lignes n'apparaissent pasdans les mails

---------

Co-authored-by: Renaud Bardet <renaud.bardet@lonestone.io>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants