Commit graph

8868 commits

Author SHA1 Message Date
Colin Darie
efea44b9ba fix(combobox): form submission when form has combobox and input file without file selected 2023-01-31 09:44:41 +01:00
Paul Chavard
ca05fb753b fix(only_present_on_draft?): broken when type_de_champ is removed from later revisions 2023-01-31 09:26:50 +01:00
mfo
b1d94317b2
Merge pull request #8529 from colinux/fix-pdf-annotations-privees
fix(instructeurs): exports PDF avec annotations privées
2023-01-31 09:23:59 +01:00
Colin Darie
36d5569114 fix(instructeurs): pdf in exports include info administration 2023-01-30 18:38:54 +01:00
Colin Darie
ef864021f7 refactor(pj_service): explicit options with_{bills,champs_private} because expert & instructeurs does not need the same 2023-01-30 18:04:09 +01:00
Martin
3fbe44b09a correctif(typo): remplace le dernier usage de morph par replace 2023-01-30 16:38:53 +01:00
sebastiencarceles
bad7b24bf2 fix: add title to new tab link 2023-01-30 15:17:59 +01:00
Colin Darie
3402279b08 fix(menu_component): tag html options must be set as keyword args, not hash 2023-01-30 15:03:16 +01:00
Sébastien Carceles
d3e0046e9b
prefill: open possible values in a new tab (#8524) 2023-01-30 14:55:46 +01:00
Martin
dbe64cf0c8 correctif(date_champ): renforce la validation avec le parsing de la date plutot qu'une approche par regexp 2023-01-30 13:01:24 +01:00
Julie Salha
1175edd64e fix PR index 2023-01-30 12:46:04 +01:00
Julie Salha
a59f3a142e fix PR index 2023-01-30 12:46:04 +01:00
Julie Salha
160520c406 contact standardize links 2023-01-30 12:46:04 +01:00
Colin Darie
3265fff30e fix(dropdown): wait "other" input to be disabled before autosave
Fix le workflow suivant pour un champ drop down avec option "autre" :

- on choisit la valeur "autre" avec une valeur => ça autosave la bonne valeur
- on choisit finalement une autre valeur proposée => l'autosave envoyait
  la nouvelle valeur, et toujours la valeur "other" car l'input n'était pas encore
  `disabled`. Par conséquent la valeur other overridait la valeur choisie
  et ça provoquait des erreurs en cascade, notamment dans le conditionnel.
2023-01-30 12:16:25 +01:00
Colin Darie
c15ad573bc feat(dropdown/a11y): "other" input with label and autofocus 2023-01-30 12:16:25 +01:00
Paul Chavard
6cacfbdf32 refactor(dossier): refactor rebase 2023-01-30 12:01:11 +01:00
Paul Chavard
2f4e85f163 fix(dossier): set rebased_at only on changed champs 2023-01-30 12:01:11 +01:00
Paul Chavard
626b28ca16 perf(tags parser): improuve parser perf 2023-01-30 11:52:35 +01:00
Paul Chavard
d82620d1ff fix(attestation template): validate on edit form load 2023-01-30 11:52:35 +01:00
Colin Darie
ec1ae25bb4 fix(stimulus): on handler having target 2023-01-30 11:34:24 +01:00
Eric Leroy-Terquem
1b67f93c66 feat(avis): add reminded_at field to avis 2023-01-30 11:13:23 +01:00
Paul Chavard
298721f90d fix(dossier): fix clone with data 2023-01-30 10:58:26 +01:00
Julie Salha
61042cd51e fix PR 2023-01-30 10:24:22 +01:00
Julie Salha
d059e3d5ff sign in remove tags used only for presentation 2023-01-30 10:24:22 +01:00
Julie Salha
59980fa3dd update html tags card-title 2023-01-30 10:07:20 +01:00
Julie Salha
2a9a79a673 footer remove br tags 2023-01-26 17:41:02 +01:00
Colin Darie
923ee59e92 refactor(instructeurs/perf): don't load anymore geo areas for each champ because of header
Economise 1 requête par champ sur chaque page instructeur d'un dossier
à cause du header juste pour savoir s'il faut afficher
le bouton d'export GeoJSON.
2023-01-26 14:57:45 +01:00
Julie Salha
5f3ac1c61c update structure search engine 2023-01-26 14:11:21 +01:00
Martin
1b1bd5b57d fixup! amelioration(app/views/instructeurs/procedures/_dossiers_filter.html.haml): passe le popover des filtres des dossiers sur le nouveau menu 2023-01-26 11:13:23 +01:00
Martin
927d6791e7 amelioration(app/views/users/dossiers/show/_print_dossier.html.haml): passe le dropdown de telechargement d'un dossier en un simple bouton 2023-01-26 11:13:23 +01:00
Martin
6bdbf565cc amelioration(app/views/users/dossiers/_identity_dropdown.html.haml): passe le menu de gestion d'identité d'un dossier usager au nouveau menu 2023-01-26 11:13:23 +01:00
Martin
b3e3f083b8 amelioration(app/views/shared/help/_help_dropdown_procedure.html.haml
): passe le menu d'aide sur une procedure par un usager au nouveau menu
2023-01-26 11:13:23 +01:00
Martin
34c5bb70e7 amelioration(app/views/shared/help/_help_dropdown_instructeur.html.haml): passe le menu d'aide instructeur au nouveau menu 2023-01-26 11:13:23 +01:00
Martin
3dc4a51bf3 amelioration(app/views/shared/help/_help_dropdown_dossier.html.haml): passe le menu d'aide sur un dossier au nouveau menu 2023-01-26 11:13:23 +01:00
Martin
2c8781ff98 amelioration(app/views/invites/_dropdown.html.haml): passe le popover d'invitation sur le nouveau menu 2023-01-26 11:13:23 +01:00
Martin
e53d350a6f amelioration(app/views/instructeurs/procedures/show.html.haml): passe le popover de la personnalisation du tableau des dossiers sur le nouveau menu 2023-01-26 11:13:23 +01:00
Martin
1095957fb9 amelioration(views/instructeurs/procedures/_dossier_actions.html.haml): passe le popover de gestion d'un dossier sur la vue des dossiers sur le nouveau menu 2023-01-26 11:13:23 +01:00
Martin
6ff81a6680 amelioration(views/instructeurs/dossiers/_state_button.html.haml): passe le popover d'instruction sur le nouveau menu 2023-01-26 11:13:23 +01:00
Martin
2805714931 amelioration(instructeurs/dossiers/_header_actions): passe les menu d'impression et de telechargement sur le nouveau menu 2023-01-26 11:13:23 +01:00
Martin
9a12b97424 amelioration(expert/avis/header): passe d'un dropdown avec un element pour telecharger le dossier au composant dsfr de telechargement de fichier 2023-01-26 11:13:23 +01:00
Martin
cd75c7a1de amelioration(export): passe les exports sur le nouveau dropdown 2023-01-26 11:13:23 +01:00
Martin
2be0f5aa99 amelioration(menu): extraction des menu dans un composant ruby pour ne pas dupliquer les changements aria partout ds la codebase 2023-01-26 11:13:23 +01:00
Paul Chavard
508cdec33f fix(morph): ids should not start with numbers 2023-01-26 10:42:22 +01:00
Colin Darie
51f2ad6248 fix(scss): form borders & padding 2023-01-26 10:39:13 +01:00
Colin Darie
5bff5542f1 refactor(spinner): dependent-conditions on champ wrapper instead of each champ 2023-01-26 09:06:30 +01:00
Colin Darie
26236a11ba feat(autosave): conditional spinner on all manager champs 2023-01-26 09:06:30 +01:00
Colin Darie
c6bdfc7401 feat(autosave): don't show loader when response is very fast 2023-01-26 09:06:30 +01:00
Colin Darie
587a4c4d95 style(spinner): replace legacy spinner 2023-01-26 09:06:30 +01:00
Colin Darie
3a48f201ee style(autosave/conditional): new a11y spinner proposition 2023-01-26 09:06:30 +01:00
Colin Darie
51c1736d00 refactor(conditional): extract in a ChampConditionalConcern with tests 2023-01-26 09:06:30 +01:00
Colin Darie
7c13449b4f feat(conditional): show loader during autosave when other champs are dependent of it 2023-01-26 09:06:30 +01:00
Colin Darie
81f00774af feat(logic): operators sources 2023-01-26 09:06:30 +01:00
Paul Chavard
5b9e534b3f chore(turbo): morph all the things 2023-01-25 13:45:26 +01:00
Julie Salha
4fc6cb0c34
Merge branch 'main' into a11y-8181-messaging-input-control 2023-01-25 12:20:01 +01:00
Julie Salha
43797029af
Merge branch 'main' into a11y-8151-update-style-link-sens-message 2023-01-24 16:34:33 +01:00
Julie Salha
2d61d94a46 add label textarea message 2023-01-24 16:31:46 +01:00
Julie Salha
a52159e104
Merge branch 'main' into a11y-8224-update-styles-actions-button 2023-01-24 15:48:52 +01:00
Julie Salha
3177faf854
Merge branch 'main' into a11y-8151-update-style-link-sens-message 2023-01-24 15:48:15 +01:00
Julie Salha
82f049b49c update style link dsfr 2023-01-24 15:00:26 +01:00
Kara Diaby
b18d76dff6 Ne prend pas en compte les tags sur les démarches en brouillon 2023-01-24 14:53:27 +01:00
Julie Salha
4cd9f641c4 update styles actions buttons list folders 2023-01-24 14:32:00 +01:00
Sébastien Carceles
49ce255e29
feat(dossier): prefill region champ (#8442)
* make regions champ prefillable

* add possible and example value

* add external_id and value validation
2023-01-24 11:25:17 +00:00
Martin
4990c448b1 amelioration(mail.prioritaire): en plus des mails de device, ajoute la gestion du routage des autres mails critique 2023-01-24 11:49:53 +01:00
Colin Darie
d7f170b57a fix(combobox): let direct upload finish before submitting form
Quand un form pour lequel on intercepte le submit a un direct upload,
on laisse le direct upload gérer le submit manuellement pour attendre la
fin de l'upload ; autrement le form est parfois soumis sans la référence
au fichier, ce qui provoque des erreurs rails `InvalidSignature`.
2023-01-24 09:51:05 +01:00
mfo
84a667b8bd
Merge pull request #8454 from tchak/feat-epci
feat(types de champ): add EPCI champ
2023-01-23 16:56:18 +01:00
Sébastien Carceles
92c769de4f
fix(prefill): code pays display (#8477)
* show translated text AND possible values

* show less possible values

* show countries possible values
2023-01-23 14:08:20 +00:00
Martin
a73c3d8bdf fix(attestation): re-essaie une fois de telecharger le logo/signature au moment de generer l'attestation. sinon on peut se retrouver avec des dossier qui restent en status en construction alors qu'ils devraient etre automatiquement soit en instruction, soit accepte 2023-01-23 14:24:07 +01:00
Martin
4b895b71c4 fix(user/dossiers#show): ne fait pas apparaitre les champs conditionnel non visible dans l'export pdf d'un dossier 2023-01-23 14:02:29 +01:00
mfo
1926aa283d
Merge pull request #8425 from adullact/fix/procedure-custom-retention
Fix du support d'une durée personnalisée de conservation des dossiers
2023-01-23 12:11:29 +01:00
Damien Le Thiec
962016e32e
Schema graph_ql (#8406)
* First draft schema graph_ql

* Add tests for json schema procedures
2023-01-23 11:31:06 +01:00
Sébastien Carceles
68ddae7382
feat(demarche): prefilling stats (#8436)
* force json content type for POST / PATCH / PUT

* add specs about stats dossiers funnel

* new endpoint to render stats about a procedure
2023-01-20 13:28:02 +00:00
Paul Chavard
a4cbbe721e feat(types de champ): add EPCI champ 2023-01-20 11:32:36 +01:00
Paul Chavard
f38ee8f03f feat(dossier): implement refresh_after_update on champs 2023-01-20 11:05:25 +01:00
Paul Chavard
8f1ae99413 fix(graphql): remove deprecated options from introspection query 2023-01-20 09:54:50 +01:00
Martin
ffd6a10618 clean(api/v2/base_controller): remove potential confusion 2023-01-19 18:09:38 +01:00
Martin
52380d5249 fix(api): on fixe avec avec des tests le prob de token 2023-01-19 17:40:19 +01:00
simon lehericey
84d08d4d24 fix(expert_export): an expert export excludes annotation and avis 2023-01-19 12:09:16 +01:00
Paul Chavard
b40b6267ad chore(layout): remove unused file 2023-01-19 11:56:46 +01:00
Marc Bouvier
8688671439 add strike banner 2023-01-19 11:56:46 +01:00
Sébastien Carceles
0046338e6a
fix(prefill): don't mark the dossier as prefilled when it's not (#8464)
A dossier should not be marked as prefilled when it's not, meaning
when no prefill params are given.
2023-01-19 10:51:56 +00:00
Martin
8528939b75 correctif(champs/repetitions#remove): les row id etant des ulid commence par un int. utiliser l'ulid comme selecteur css n'est pas valide. il faut donc avoir un selecteur CSS 'safe', et envoyer le row_id 2023-01-19 10:48:01 +01:00
Martin
3dc26efc61 infra(monitoring): ajoute le webhook pour les notifier des incidents cote sib 2023-01-19 09:50:25 +01:00
Colin Darie
00643b968d chore(serializer): add sentry tags to have more details when serialization failed 2023-01-18 19:23:25 +01:00
Colin Darie
b549a0ba83 fix(instructeurs): notify that dossier can be terminer if a siret champ is in degraded mode 2023-01-18 19:23:25 +01:00
Colin Darie
428dd9bf1a fix(dossier): we can't terminer any dossier having etablissements in degraded mode
Closes #8449
2023-01-18 19:23:25 +01:00
Kara Diaby
eac5a42a32 model 2023-01-18 18:46:42 +01:00
Kara Diaby
04b86e9c55 controller 2023-01-18 18:46:42 +01:00
Kara Diaby
b81c36c6b8 layout 2023-01-18 18:46:42 +01:00
Paul Chavard
b5dc71e975 fix(graphql): demarche with pj should return schema 2023-01-18 18:06:10 +01:00
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