Commit graph

8779 commits

Author SHA1 Message Date
Paul Chavard
e19af241ca feat(graphql): expose pays, region and departement options in schema 2023-01-18 13:46:40 +01:00
Paul Chavard
c04e39a74d fix(graphql): annotationDescriptors should not be exposed as opendata 2023-01-18 13:46:40 +01:00
Paul Chavard
cdb3ce65cb feat(graphql): expose more information on demarche descriptor 2023-01-18 13:46:40 +01:00
Paul Chavard
ed1754e1fb refactor(graphql): make champ descriptor an interface 2023-01-18 13:30:02 +01:00
Damien Le Thiec
3a8a50a216
Allow prefill pays type de champs (#8344)
* Allow prefill pays type de champs

* Avoid conditional prefil params for pays champ

* Clean pays data with batch update

* Fix bug and add test batch update pays value

* Improve performance batch_update_pays

* Fix associated country code problem

* Fix after party task name

* Format country name if needed in batch update
2023-01-18 12:52:38 +01:00
SebastienGt
bd42e93bc6 Correction pour flash.now 2023-01-18 10:03:55 +01:00
SebastienGt
1fd26fad54 Correction 2023-01-18 10:03:55 +01:00
SebastienGt
05d0870cce Correction 2023-01-18 10:03:55 +01:00
SebastienGt
981ae0625f Correction 2023-01-18 10:03:55 +01:00
SebastienGt
b14167837c Decalage notice 2023-01-18 10:03:55 +01:00
SebastienGt
0cb7bd2424 Merging 2023-01-18 10:03:55 +01:00
SebastienGt
0507bb673d Simplification du code en supprimant if 2023-01-18 10:03:55 +01:00
Sebastien
c37ed7a7a1 Adding console output when saving failed 2023-01-18 10:03:55 +01:00
Colin Darie
deb40caae1 feat(manager): schedule a dolist report from manager 2023-01-18 09:56:40 +01:00
Colin Darie
1947fcf72b feat(manager): allow to add a footer below index without always overriding index 2023-01-18 09:56:40 +01:00
Colin Darie
784b0458fe feat(dolist): consolidate dispatched events with delivered emails 2023-01-18 09:56:40 +01:00
Sébastien Carceles
5c7b2ba1f3
feat(dossier): prefill drop down list champ (#8361)
* feat(dossier): prefill drop down list champ

* decorate the types de champ to avoid if / else

In order to avoid doing if this a drop down ? / else at several places,
we decorate the types de champ and let the decorator give the possible
and example values.

* show all possible values when there are too many

* allow to prefill 'other' option

* review: remove duplicate

* review: refactor for readability

* validate that value is in options

* review: exclude disabled options
2023-01-18 09:47:22 +01:00
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