Commit graph

8762 commits

Author SHA1 Message Date
Paul Chavard
2f17793900 feat(autosubmit): data-no-autosubmit can disable only some event types
this is useful on inputs with datalist for example where we want to only autosubmit on change
2023-01-18 09:26:47 +01:00
Paul Chavard
e4eb54e87a fix(autosubmit): addEventListener with capture for focus events 2023-01-18 09:25:41 +01:00
simon lehericey
8e75b6ff77 fix(send_dossier): avoid leaking instructeur emails 2023-01-17 16:57:56 +01:00
Colin Darie
ef3546e9f1 fix(email-event): apparently mail subject could be null 2023-01-17 16:46:54 +01:00
Colin Darie
13479fc88e
fix(admin): display of procedure admins count 2023-01-17 16:02:08 +01:00
Colin Darie
6615165b2e refactor(mailer): extract dolist logic into its concern 2023-01-17 14:26:11 +01:00
Colin Darie
ce7e674159 feat(mailer): make errors interceptable by jobs so they will retry
Comme on intercepte chaque `StandardError` pour le monitoring des mails
en erreur, l'erreur n'était plus visible par le job, et les emails
étaient perdus.

A la place on re-raise une autre erreur pour que le job échoue afin de
retry plus tard. Pour ne pas être "avalée" par le rescue_from,
cette erreur doit héritée d'`Exception` plutôt que `StandardError`.

NB: il faudrait parvenir à écrire un test pour vérifier ce comportement.

Pour être vérifié en dev, il faut activer `raise_delivery_errors`
comme en production.
2023-01-17 14:26:11 +01:00
Paul Chavard
dad393355b chore(db): remove unused columns 2023-01-17 12:49:22 +01:00
Julie Salha
a2fe2bf4c6 fix error linter continous integration(2) 2023-01-17 12:41:29 +01:00
Julie Salha
fb09c49871 fix error linter continous integration 2023-01-17 12:41:29 +01:00
Julie Salha
96fbf70696 update styles number label 2023-01-17 12:41:29 +01:00
Julie Salha
deddd1fcbe update styles hero text responsive 2023-01-17 12:41:29 +01:00
Julie Salha
15f3fd4e73 remove br tags 2023-01-17 12:41:29 +01:00
Paul Chavard
b5c189de63 fix(graphql): n+1 on single dossier loading 2023-01-17 11:23:21 +01:00
Paul Chavard
7f9414012e refactor(turbo): use @coldwired/actions 2023-01-16 21:40:10 +01:00
Paul Chavard
5f192f93e0 refactor(js): make generic format controller 2023-01-16 21:23:33 +01:00
Paul Chavard
5ccf57b488 fix(js): use on instead of addEventListener to ensure cleanup 2023-01-16 16:37:36 +01:00
Paul Chavard
d16c490779 feat(stimulus): allow on with target 2023-01-16 16:37:36 +01:00
Paul Chavard
a0878ffde5 feat(turbo): prevent scroll on form submits 2023-01-16 15:59:43 +01:00
Paul Chavard
a9d4ff85e6 refactor(js): more autosubmit controllers 2023-01-16 15:59:43 +01:00
Paul Chavard
44488c7014 feat(dossier): use select in filters bygroupe instructeur 2023-01-16 14:00:08 +01:00
Hadrien Blanc
2d19444b93
add 'pas' on the link title 2023-01-16 13:15:04 +01:00
Lisa Durand
eadd84bfb4 authorize follow and unfollow for all dossier states 2023-01-16 11:14:29 +01:00
Lisa Durand
db3085fa33 design : make filter buttons tertiary and dropdown secondary 2023-01-16 11:14:29 +01:00
Lisa Durand
06c6a4ab0c add action 'unfollow' to page 'suivis' 2023-01-16 11:14:29 +01:00
Lisa Durand
2f666b487e add action 'repasser en construction' to page 'suivis' 2023-01-16 11:14:29 +01:00
Paul Chavard
f971a42e7d fix(js): fix submitter attributes not recognised by safari 2023-01-12 17:58:23 +01:00
Damien Le Thiec
5e26acb0e1
Make date and datetime prefillable (#8304)
* Make date and datetime prefillable

* Format in ISO8601 format
2023-01-12 17:42:02 +01:00
Damien Le Thiec
d5bfe84381
Nettoyage des dossiers préremplis abandonnés (#8341)
* Clean prefilled dossiers
2023-01-12 16:14:42 +01:00
François Vantomme
e794d4f77b
fix(procedure): deal nicely with custom NEW_MAX_DUREE_CONSERVATION 2023-01-12 14:37:54 +01:00
François Vantomme
d60d626a91
fix(procedure): use NEW_MAX_DUREE_CONSERVATION as number field max limit 2023-01-12 14:37:37 +01:00
Paul Chavard
7f2a7e18d3 chore(npm): update build dependencies 2023-01-12 12:27:14 +01:00
Paul Chavard
c7c6d50df6 refactor(js): use autosubmit controller in procedure/all pages 2023-01-12 12:01:19 +01:00
Paul Chavard
289d48f697 refactor(js): use autosubmit controller in filter_component 2023-01-12 11:58:46 +01:00
Paul Chavard
5d7284b8da refactor(js): use autosubmit controller in notified_toggle_component 2023-01-12 11:58:46 +01:00
Paul Chavard
88866d0413 refactor(autosubmit): split and improuve autosubmit and turbo controller 2023-01-12 11:58:46 +01:00
Paul Chavard
3e0adc15db refactor(demarches): use turbo-frame 2023-01-12 11:30:14 +01:00
Martin
e22038784d typo(page.dossier-envoye): typo 2023-01-12 11:01:06 +01:00
Paul Chavard
e8b10fd320 fix(procedure): return most recent demarche for a given path 2023-01-12 10:23:12 +01:00
Paul Chavard
b663939674 feat(graphql): add demarcheCloner mutation 2023-01-11 23:38:12 +01:00
Paul Chavard
3f2a91b855 fix(graphql): properly handle demarche and demarche_descriptor resolution 2023-01-11 23:38:12 +01:00
Paul Chavard
5641c2b078 fix(groupe_instructeur): only show to administrators the number of visible files 2023-01-11 21:49:08 +01:00
Martin
822eda7c42 correctif(safe_mailer): fix bug sur de la synthax 2023-01-11 20:29:51 +01:00
Colin Darie
01f227e1c7 fix(mailer): dolist header in devise mailer 2023-01-11 18:52:14 +01:00
Martin
3e6b82ed9e amelioration(safe_mailer): ajoute au manager la fonction pour configurer le routage des mails sur un fournisseur unique
Update app/mailers/devise_user_mailer.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-01-11 17:32:24 +01:00
Martin
d535735155 amelioration(devise_mailer): oriente les mails de devise vers un fournisseur quand cela est configuré 2023-01-11 17:13:05 +01:00
Martin
2f43ffc940 data(safe_mailer): ajout d'un object permetant d'orienter les mails vers un unique fournisseur au cas ou l'autre soit down 2023-01-11 17:13:05 +01:00
Martin
733ba01695 amelioration(balancer_delivery_method): implemente le fait de forcer la methode de delivery au niveau de notre balancer de fournisseur demail 2023-01-11 17:13:05 +01:00
LeSim
02f411b3b5
Merge pull request #8407 from tchak/chore-update-dependencies
chore(npm): update dependencies
2023-01-11 16:53:24 +01:00
Lisa Durand
8ba13cb685 humanize raison sociale from api_entreprise in adapter 2023-01-11 14:42:38 +01:00
simon lehericey
528b2c2b88 fix(procedure): valid juridique on create and publication 2023-01-11 14:05:17 +01:00
simon lehericey
9043bed3a0 refactor(procedure_presentation): add required tags 2023-01-11 14:05:17 +01:00
Colin Darie
e63e4fc975 fix(sentry/rna): add error context when RNA schema failed 2023-01-11 12:30:02 +01:00
Colin Darie
820cb4bd27 fix(rna): some associations don't have date_publication
https://sentry.io/organizations/demarches-simplifiees/issues/3698792231/events/fde901fac5a44129adcafc891d59d086/?project=1429550
2023-01-11 12:30:02 +01:00
Paul Chavard
e6d5033184 clean(js): remove console 2023-01-11 12:11:55 +01:00
Paul Chavard
f17ae44952 fix(dossier): disable buttons when selection is canceled 2023-01-11 11:50:25 +01:00
François Vantomme
08d276472b refactor(links): use localized FAQ URLs 2023-01-11 11:28:03 +01:00
François Vantomme
fe518fed8c refactor(links): move FAQ from footer to common scope 2023-01-11 11:28:03 +01:00
François Vantomme
faa5dda761 refactor(links): use FAQ URL locale everywhere 2023-01-11 11:28:03 +01:00
simon lehericey
bd3fbbce49 add schema and annotation 2023-01-11 11:19:24 +01:00
Colin Darie
05b517a847
fix(mailer): observers on balancer and balanced delivery methods
- Les observers doivent être déclarés *avant*
  le chargement de nos delivery methods (Sendinblue & Dolist),
  sinon ils seront ignorés par ces derniers

- dans le balancer, on ne peut pas appeler `.deliver` une seconde fois,
  sinon les observers (et interceptors) sont invoqués deux fois.
2023-01-11 00:57:16 +01:00
Paul Chavard
afc1f12028 feat(graphql): implement add/remove instructeurs via API 2023-01-10 20:33:35 +01:00
Paul Chavard
0557b84eed feat(graphql): expose current_administrateur when using new tokens 2023-01-10 20:07:38 +01:00
Paul Chavard
af33d5d65c refactor(repetition): use row_id instead of row 2023-01-10 19:31:41 +01:00
Paul Chavard
77a0033b3e feat(batch_operation): enable only available operations 2023-01-10 19:03:32 +01:00
Lisa Durand
7abf51ca81 split filter in 2 partials too display filters tags on its own div to have more spaces 2023-01-10 18:05:23 +01:00
Lisa Durand
d856969790 add a bit of logic to display batch buttons : if more than 3 we group them in a dropdown 2023-01-10 18:05:23 +01:00
Martin
0ef46b6f07 amelioration(instructeurs/dossiers#show): supprime le double chargement des champs et annotations privées 2023-01-10 17:36:05 +01:00
François Vantomme
0e3fe055e4
fix(archive): typo on flash notice 2023-01-10 17:23:48 +01:00
Colin Darie
e501750fb4 chore(sentry): ignore error on password input with password manager 2023-01-10 16:22:43 +01:00
Colin Darie
d563a4fa66 feat(manager): email events with collection filters of delivery methods 2023-01-10 16:07:35 +01:00
Colin Darie
d58e6a2f9c refactor(email): remove pseudonymization, it will be done at dump-time 2023-01-10 16:07:35 +01:00
Colin Darie
d911bc02c0 refactor(mailer): set dolist header in DeviseUserMailer 2023-01-10 16:07:35 +01:00
Colin Darie
5ae5de0d9c refactor(email): log event when error occurs before recipients was set 2023-01-10 16:07:35 +01:00
Colin Darie
1f51267b25 chore(manager): link email users to events 2023-01-10 16:07:35 +01:00
Colin Darie
b9c1799e60 refactor(mailer): shared error concern 2023-01-10 16:07:35 +01:00
Colin Darie
812376cfb2 fix(manager): default resource order 2023-01-10 16:07:35 +01:00
Colin Darie
22e2749357 chore(manager): basic dashboard for EmailEvents 2023-01-10 16:07:35 +01:00
Colin Darie
0a22c1d2f0 chore(email): log smtp errors 2023-01-10 16:07:35 +01:00
Colin Darie
6cb2389eef chore(email): add an observer which log the emails dispatched 2023-01-10 16:07:35 +01:00
Colin Darie
07167cead9 chore(schema): create email_events 2023-01-10 16:07:35 +01:00
Colin Darie
0a890acc33 fix(conditional): huge perf improvement by caching champ visibility
Hyper nécessaire lorsqu'il y a des champs qui dépendent d'autres champs
en cascade.

Co-authored-by: simon lehericey <mail@simon.lehericey.net>
Co-authored-by: mfo <martin@sharypic.com>
2023-01-10 11:41:08 +01:00
Paul Chavard
5128b9a086 refactor(demarches): use turbo_stream template 2023-01-10 09:48:32 +01:00
Martin
0ce293d2e0 fix(instructeurs/dossier#show): missing preload on dossier 2023-01-09 14:29:47 +01:00
Lisa Durand
67c104c8eb affiner le scope 2023-01-09 11:58:51 +01:00
Lisa Durand
25a7fa5a34 add bulk action 'follow' 2023-01-09 11:58:51 +01:00
Sébastien Carceles
177dec2bdb
feat(dossier): add dossier id to prefill response (#8382) 2023-01-06 13:46:27 +00:00
Paul Chavard
416550c6ea refactor(batch): simplify stimulus controller 2023-01-06 14:25:46 +01:00
Paul Chavard
5a4cefc5c5 fix(dossier): fix rebase with drop down options 2023-01-06 14:15:46 +01:00
Sébastien Carceles
06b8a0f734
feat(dossier): prefill boolean champs (#8381) 2023-01-06 14:01:59 +01:00
Martin
1944624082 fix(PiecesJustificativesService.safe_attachment): utilise la nouvelle API pour comparer le resultat du scan antivirus 2023-01-06 10:54:27 +01:00
Paul Chavard
dfe65136be refactor(repetition): add row_id to champs 2023-01-05 18:04:54 +01:00
Paul Chavard
940f8c0474 fix(graphql): fix departements with alphanumeric codes 2023-01-05 17:33:03 +01:00
Lisa Durand
5a4a5d89fd remove highlight paragraph from the fluid container 2023-01-05 17:22:53 +01:00
Lisa Durand
b65a3d4baf puts filters in span to display correctly multiples filters 2023-01-05 17:22:53 +01:00
Lisa Durand
080747f60b reorganise multiple buttons on top of table from instructeur procedure view 2023-01-05 17:22:53 +01:00
Lisa Durand
4afb873afc feedbacks from Martin 2023-01-05 16:20:18 +01:00
Martin
3918757dc9 correctif(test): desormais l'association batch_operations.groupe_instructeurs passe par le dossier. Mise a jour des tests 2023-01-05 16:20:18 +01:00
Martin
018a94f43b correctif(batch_operation): empeche de changer l'etat d'un dossier en cas d'erreur. et s'assure de delinker le dossier en cas de dossier invalid 2023-01-05 16:20:18 +01:00
Lisa Durand
8df0147fd1 fix linter 2023-01-05 16:20:18 +01:00
Lisa Durand
7fcc892398 imrpove dropdown bulk action style 2023-01-05 16:20:18 +01:00
Lisa Durand
1ecdf5f544 remove manipulating checkbox with JS and set just one form instead of 2 2023-01-05 16:20:18 +01:00
Lisa Durand
59468fe351 add justificatif_motivation field to batch operation accepter 2023-01-05 16:20:18 +01:00
Lisa Durand
1bc0609543 add motivation field to batch operation accepter 2023-01-05 16:20:18 +01:00
Lisa Durand
d7ebb67889 implement first step - accepte without motivation and PJ 2023-01-05 16:20:18 +01:00
Paul Chavard
378f3c5fb0 use join table instead of arrays 2023-01-05 16:20:18 +01:00
Paul Chavard
26e02c7173 fix(template): trix will transform double spaces in &nbsp; 2023-01-05 13:23:24 +01:00
Sébastien Carceles
fa6fc077b4
normalize boolean values (#8320)
* extract parent for yes no and checkbox champs

* checkbox stores true / false instead of on / off

* normalize blank value to nil

* normalize invalid value to false

* after party task: normalize checkbox values

* after party task: normalize yes_no values
2023-01-05 11:18:27 +00:00
Sébastien Carceles
22ecbc2ffb
remove preremplir admin button (#8366) 2023-01-05 10:31:48 +01:00
Colin Darie
b89fc16999 style(instructeurs/expiration): convert banner to DSFR 2023-01-04 13:15:10 +01:00
Colin Darie
c05c765ba7 style(user/expiration): convert banner to DSFR 2023-01-04 13:15:10 +01:00
Colin Darie
6a9afdc2fc fix(dossier/i18n): correct pluralization of delay expiration button 2023-01-04 13:15:10 +01:00
Colin Darie
0b033a7025 refactor(email): improve wording of automatic deletion to user
Closes #7688
2023-01-04 13:15:10 +01:00
Colin Darie
7d16ae83e8 refactor(email): improve wording of near deletion to user
Closes #7688
2023-01-04 13:15:10 +01:00
Paul Chavard
c4a30084fe refactor(virus_scan): remove lock 2023-01-04 12:12:11 +01:00
Paul Chavard
6e18090fb3 refactor(virus_scan_result): use column instead of metadata on blob 2023-01-04 12:12:11 +01:00
Paul Chavard
d469bca0ae refactor(watermark): use column instead of metadata on blob 2023-01-04 12:07:08 +01:00
Sébastien Carceles
456be420fa
feat(demarche): describe dossier prefilling with POST (#8298)
* feat(demarche): describe dossier prefilling with POST

* show response example
2023-01-04 07:31:31 +00:00
Martin
c35d33a5a8 amelioration(role): utilise le role de status plutot que celui de alert afin d'eviter les confusion sur les role aria 2023-01-03 16:52:30 +01:00
Martin
a4d6692bc6 accessibilite(pages-authentification): evolutions des pages de connexion/creation de compte pour respecter le DSFR et supporter une meilleure accessibilite
Update app/components/dsfr/input_component/input_component.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>
2023-01-03 16:26:05 +01:00
Colin Darie
008e04e356 fix(home/i18n): cache key in views must depend of locale 2023-01-03 15:43:42 +01:00
mfo
5a0e1db0a4
Merge pull request #8350 from colinux/a11y-demande-dossier
fix(a11y): html structure in dossier summary
2023-01-03 15:40:24 +01:00
Martin
76301d4c32 correctif(api_entreprise_token): les nouveaux tokens stockent les roles dans sous la clé scopes et non plus roles 2023-01-03 15:32:50 +01:00
Sébastien Carceles
20136b7ac8
feat(demarche): create and prefill a dossier with POST request (#8233)
* add base controller for public api

* add dossiers controller with basic checks

* create the dossier

* ensure content-type is json

* prefill dossier with given values

* mark a dossier as prefilled

When a dossier is prefilled, it's allowed not to have a user.

Plus, we add a secure token to the dossier, which we will need later to set a
user after sign in / sign up.

* set user as owner of an orphan prefilled dossier

When a visitor comes from the dossier_url answered by the public api,
the dossier is orphan:
- when the user is already authenticated: they become the owner
- when the user is not authenticated: they can sign in / sign up / france_connect
and then they become the owner

So here is the procedure:
- allow to sign in / sign up / france connect when user is unauthenticated
- set dossier ownership when the dossier is orphan
- check dossier ownership when the dossier is not
- redirect to brouillon path when user is signed in and owner

* mark the dossier as prefilled when it's prefilled
(even with a GET request, because it will be useful later on, for
exmample in order to cleanup the unused prefilled dossiers)

* system spec: prefilling dossier with post request
2023-01-03 14:46:10 +01:00
Colin Darie
9d3b2f6027 fix(a11y): html structure in dossier summary
Closes #8162
2023-01-02 18:06:50 +01:00
Eric Leroy-Terquem
f82fba3e2f add folders number for instructor group 2023-01-02 15:43:13 +01:00
Kara Diaby
f7cb24ce40 Supprime le feature flag pour que tous les administrateurs puissent ajouter des tags sur les démarches 2023-01-02 11:13:31 +01:00
Damien Le Thiec
ffdb6c0104
Merge branch 'main' into improvement/link_to_dossier_description 2023-01-02 10:15:39 +01:00
Damien Le Thiec
775eb16d95 Add link to prefill description from procedure show 2022-12-29 16:11:59 +01:00
Damien Le Thiec
e6d4b3061e Improve text for prefill description page 2022-12-29 10:56:42 +01:00
mfo
acd461c110
Merge pull request #8342 from mfo/US/naf-can-be-nil
correctif(PersonneMoraleType): il arrive que le code naf d'une entreprise puisse ne pas exister [trop vieux pour etre mappable]
2022-12-28 16:02:42 +01:00
Martin
aeca2b28e4 correctif(PersonneMoraleType): il arrive que le code naf d'une entreprise puisse ne pas exister [trop vieux pour etre mappable] 2022-12-28 15:38:22 +01:00
mfo
1f5db1faf2
Merge pull request #8340 from mfo/US/fix-champs-pays
sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name
2022-12-28 09:51:18 +01:00
Martin
a2d3ec7a21 sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name 2022-12-27 16:28:34 +01:00
mfo
31735e16d8
Merge pull request #8339 from mfo/US/fix-departement-champs
Us/fix departement champs
2022-12-27 16:01:35 +01:00
Martin
186d4e6539 correctif(ChampDepartement): gere les departement a 3 codes 2022-12-27 14:55:57 +01:00
Paul Chavard
0e73415904 feat(revision): improuve changes dashboard 2022-12-27 11:06:51 +00:00
Paul Chavard
9b3fa4dd3c refactor(revision): changes should be domain objects 2022-12-27 10:58:53 +00:00
Paul Chavard
7aa6f172dc feat(revision): show number of pending dossiers for each revision 2022-12-27 10:58:53 +00:00
Martin
48c80e9387 correctif(api/v1): ajoute la methode manquante for_api sur le type de champs departement 2022-12-27 11:45:43 +01:00
Martin
3732c079a7 correctif(champ.normalize): enleve les null chars uniquement si il y en a. sinon on rappel value=() avec nos champs surchargeant ce setter 2022-12-27 11:43:34 +01:00
mfo
72791bd5b6
Merge pull request #8337 from mfo/US/instructeur#telecharger_pjs
correctif(instructeurs/dossier#telecharger_pjs): ne pas inclure les bills et horodatage quand on telecharge un dossier unitairement
2022-12-27 09:07:48 +01:00
Paul Chavard
0b10c73bcf feat(prefill): allow to prefill private annotations 2022-12-26 22:14:17 +00:00
Paul Chavard
4a4ce67ef6 fix(dossier): explicitly send draft notification email 2022-12-26 22:02:33 +00:00
Paul Chavard
fc4afb9793 fix(pays): some Île are written with î for some reason… 2022-12-26 21:54:45 +00:00
Martin
da8e876dd3 a11y(dossier.status): ajout de l'attribut role=alert aux status du dossier
fix(a11y): role status et non alert
2022-12-26 17:45:43 +01:00
mfo
99a652c297
Merge pull request #8267 from mfo/a11y/use-alert-for-dossier-state
accessibilite(page#dossiers): utiliser les role=alert sur le status des dossiers
2022-12-26 17:44:59 +01:00
Martin
69aed18b46 correctif(instructeurs/dossier#telecharger_pjs): ne pas inclure les bills et horodatage quand on telecharge un dossier unitairement 2022-12-26 17:11:10 +01:00
Damien Le Thiec
9e083ea3f7
Merge branch 'main' into feature/prefill_civility 2022-12-26 11:31:52 +01:00
mfo
62813f3d74
Merge pull request #8323 from tchak/fix-graphql-champs
feat(graphql): add pays champ to API
2022-12-22 13:51:02 +01:00