Commit graph

9459 commits

Author SHA1 Message Date
Colin Darie
1e9d5b753c refactor(footer): licence sentence in partial 2022-10-11 09:50:21 +02:00
Colin Darie
36589c186c style(colors): fix exact colors for some DSFR components like footer links 2022-10-11 09:50:21 +02:00
Colin Darie
cf4ac28735 style(stats): button with more space + dsfr 2022-10-11 09:50:21 +02:00
Colin Darie
2d7eca9dd2 feat(combo): debounce only with address / autocomplete binded on API 2022-10-10 21:09:30 +02:00
Paul Chavard
402d0dd3db
Revert "refactor(react): useDeferredValue"
This reverts commit cd4d7b5d36.
2022-10-10 17:36:33 +02:00
simon lehericey
157c3778df refactor(dossier_preloader): add option to laod pj_template 2022-10-10 12:31:40 +02:00
simon lehericey
7e03f0c825 refactor(dossier_preloader): add load_one api 2022-10-10 12:31:40 +02:00
simon lehericey
5920168077 refactor(dossier_preloader): preload piece_justificative_template 2022-10-10 12:31:40 +02:00
simon lehericey
1f95f68fcc refactor(dossier_preloader): assign champ.parent 2022-10-10 12:31:40 +02:00
simon lehericey
5df76d9fec refactor(dossier_preloader): remove weird set_inverse_instance 2022-10-10 12:31:40 +02:00
simon lehericey
f32b05e8b4 perf(dossier controller): use DossierPreloader 2022-10-10 12:31:40 +02:00
Martin
c921e6e1ee fix(ProcedureExportService): downloadable_sorted_batch is scoped by export, no need to re-filter them via downloadablable_sorted_batch otherwise export for supprimes_recemment does not includes dossier.supprimes_recemment 2022-10-10 11:11:21 +02:00
Eric Leroy-Terquem
1177d861f4 add validation on routing_criteria_name 2022-10-10 09:48:11 +02:00
Martin
1f8bf201a2 feat(procedure_serializer): just add an empty string for direction 2022-10-07 18:39:17 +02:00
Martin
6752da40a9 test(procedure.direction): can we drop this column ? 2022-10-07 18:39:17 +02:00
simon lehericey
ceaf8ebbe7 fix: orphan tdc due to reset_draft 2022-10-07 17:44:30 +02:00
krichtof
44018a86de a procedure without zone is finally valid 2022-10-07 16:59:12 +02:00
simon lehericey
f54407aa1e fix: last_week_overview 2022-10-07 13:56:05 +02:00
simon lehericey
e86375046b fix: label in linked_drop_down 2022-10-07 13:56:05 +02:00
simon lehericey
3dc0ed7695 fix: label in multiple_drop_down_list 2022-10-07 13:56:05 +02:00
simon lehericey
87d0334c1c fix: label in champ component 2022-10-07 13:56:05 +02:00
Christophe Robillard
272c8cae09 cannot publish a procedure if no zones 2022-10-07 10:48:35 +02:00
Christophe Robillard
bdcb451d3c procedure publiee must have one zone at least 2022-10-07 10:48:35 +02:00
Christophe Robillard
2985295a00 use normal font weight for checkbox labels 2022-10-07 10:48:35 +02:00
Christophe Robillard
a6928e7ca2 add ZonesComponent 2022-10-07 10:48:35 +02:00
Christophe Robillard
4d2c37ffdf extract checkboxes zones to dedicated page 2022-10-07 10:48:35 +02:00
Christophe Robillard
94ca93e130 can choose multiple zones 2022-10-07 10:48:35 +02:00
Christophe Robillard
bffd9d61a9 add habtm between procedures and zones 2022-10-07 10:48:34 +02:00
simon lehericey
0e75f9960b fix: send_dossier_decision preview 2022-10-06 17:43:09 +02:00
simon lehericey
9aeaddcb40 perf: remove one query on invite dropdown 2022-10-06 17:17:27 +02:00
Martin
a256dfbaa0 fix(spec): missed a failed spec previously. sorry 2022-10-06 15:34:29 +02:00
mfo
8a3550cda4
Merge pull request #7860 from mfo/US/procedure-duree-up-to-manager
feat(procedure.max_duree_conservation_dossiers_dans_ds): make it more flexible
2022-10-06 11:36:50 +02:00
mfo
e76b97fcb5
Merge pull request #7862 from mfo/US/cleanup-other-col
clean(procedure.columns): :durees_conservation_required, :cerfa_flag, :test_started_at
2022-10-06 11:36:00 +02:00
Martin
883ba8717f clean(procedure.columns): :durees_conservation_required, :cerfa_flag, :test_started_at 2022-10-05 18:03:49 +02:00
Martin
405a885160 feat(procedure.max_duree_conservation_dossiers_dans_ds): make it more flexible 2022-10-05 17:27:09 +02:00
Damien Le Thiec
abbbef1461 Fix tests 2022-10-05 13:07:39 +02:00
Damien Le Thiec
a3468fca27
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:54:31 +02:00
Damien Le Thiec
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:38:24 +02:00
krichtof
92807edd03 fix zone labels when building a new procedure 2022-10-05 12:37:08 +02:00
Damien Le Thiec
93e89c8968 Fix small bugs rna controller and add tests 2022-10-05 12:31:34 +02:00
Paul Chavard
432c4690b5 feat(tags): replace regexp based parser with a parser combinator 2022-10-05 11:25:37 +02:00
Damien Le Thiec
776736fe5a Fix rights view RNA champ data 2022-10-05 09:46:15 +02:00
Eric Leroy-Terquem
ff2e9f0816 add feature flag 2022-10-05 09:21:08 +02:00
Eric Leroy-Terquem
acd874ccdf reorder inside categories 2022-10-05 09:21:08 +02:00
Eric Leroy-Terquem
6925ca66e6 add grouped options for select 2022-10-05 09:21:08 +02:00
Damien Le Thiec
0d9f02c88d First draft autofetch data for RNA 2022-10-04 22:11:01 +02:00
Damien Le Thiec
ecd54de854 Extend RNA adapter while keeping depreciated version 2022-10-04 19:59:39 +02:00
Damien Le Thiec
e694ff1f60 Fix update external id after validation 2022-10-04 17:19:16 +02:00
Martin
54a47fadae fix(sentry/3422144920): old email using TargetUserLink creates confusing errors 2022-10-04 11:41:32 +02:00
Paul Chavard
78d4abfb3d chore(js): remove CheckConditionsController 2022-10-04 10:59:23 +02:00
Kara Diaby
057c951408 fixe une typo remontée par le support 2022-10-04 12:11:19 +04:00
Martin
7125e8538a clean(engagement): remove last pieces of engagement champs 2022-10-04 07:17:47 +02:00
simon lehericey
77289b7a80 perf(admin_procedure_controller): same with publication page 2022-10-03 20:49:38 +02:00
simon lehericey
7af248b4bf perf(admin_procedure_show): use partial with collection 2022-10-03 20:49:38 +02:00
simon lehericey
e043725d51 refactor(admin_procedure_controller): simplify AR include 2022-10-03 20:49:38 +02:00
simon lehericey
adbb655a4a perf(procedure edition): validate only once to avoid reload tdc with n+1 2022-10-03 20:49:38 +02:00
simon lehericey
122c8107a5 fix(web_graphql): fix graphql web playground authorization 2022-10-03 18:08:03 +02:00
simon lehericey
6a5a82ce06 fix(instructeur dashboard): dossiers filtered on multiple states 2022-10-03 15:18:46 +02:00
Martin
19bac6339c fix(multiple_drop_down_list): iterate over selected options not to_s 2022-09-30 12:24:00 +02:00
Martin
aceb8996c1 feat(instructeur/procedure#show): enhance sort by notifications as planned by UX
Update app/javascript/controllers/checkbox_controller.ts

Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-09-30 10:29:51 +02:00
Christophe Robillard
da0738c661 unschedule export demarches opendata 2022-09-30 07:26:48 +02:00
Paul Chavard
462cc41caa refactor(block): use block? instead of repetition? 2022-09-29 17:49:14 +02:00
simon lehericey
7a9c5e8d19 refactor(ujs): turbo use an id for turbo_stream.update id not a class 2022-09-29 17:04:15 +02:00
Paul Chavard
b0aa777315 refactor(ujs): france_connect controller to use turbo 2022-09-29 16:51:54 +02:00
Paul Chavard
921f38833d refactor(ujs): experts_procedures controller to use turbo 2022-09-29 16:51:54 +02:00
Paul Chavard
099eecaa6c refactor(ujs): adapt safari-11-empty-file-workaround to turbo 2022-09-29 16:51:54 +02:00
Paul Chavard
5de74ae322 refactor(ujs): remove dead code 2022-09-29 16:51:53 +02:00
Paul Chavard
582ba7a16e refactor(ujs): remove ujs spinner 2022-09-29 16:51:53 +02:00
Paul Chavard
a5d78fea1a refactor(ujs): remove old ujs helpers 2022-09-29 16:51:53 +02:00
simon lehericey
7d547e5e11 fix(linked_drop_down): in repetiton the second choice is saved
the filter was not applied in repetition block so an additional empty input was send which overrided the real value
2022-09-29 14:50:02 +02:00
Paul Chavard
df47f4a7ab feat(graphql): new tokens should carry administrateur_id 2022-09-29 11:58:58 +02:00
DanteZ5
3826121751 switch from id to class 2022-09-28 17:19:17 +02:00
DanteZ5
a22851cc35 fix linter SingleLinePerSelector 2022-09-28 17:19:17 +02:00
DanteZ5
7e29fe40f6 fix-ux(issue#7774) : indicateur menu email navbar 2022-09-28 17:19:17 +02:00
Colin Darie
da22c29688 feat(procedure): warn administrator that notice links are not shareable
Closes #7681
2022-09-28 17:01:25 +02:00
Colin Darie
6a943ad13f feat(champ_pj): warn administrators about ephemeral template links
Closes #7681
2022-09-28 17:01:25 +02:00
Colin Darie
0f6a611b6f chore(scss): remove obsolete css about old PJ UI 2022-09-28 17:01:25 +02:00
Martin
d7cce3c982 fix(instructeur/procedures#show): Procedure presentation filterable state field is in conflict with projected state field. quick fix, maybe will refactor both to align them 2022-09-28 15:28:51 +02:00
Paul Chavard
224f045a1a fix(profile): fix css 2022-09-28 12:02:06 +02:00
Kara Diaby
e1999d5729 fix checkbox mandatory champ 2022-09-28 10:53:24 +02:00
Kara Diaby
c35a3d17de fix dsfr footer visitor 2022-09-28 10:36:21 +02:00
simon lehericey
dd7af753fe only display not_available error message 2022-09-28 10:06:32 +02:00
simon lehericey
8efd305256 add upper_tdcs to condition_form 2022-09-28 10:06:31 +02:00
simon lehericey
7e1963865e compatibility from left 2022-09-28 10:06:31 +02:00
simon lehericey
43f926a1de to_s 2022-09-28 10:06:31 +02:00
simon lehericey
f98d1463a6 compatible_type 2022-09-28 10:06:31 +02:00
simon lehericey
cd2b08e39b options 2022-09-28 10:06:31 +02:00
simon lehericey
12b6a0d6d6 errors 2022-09-28 10:06:31 +02:00
simon lehericey
70022450cf type 2022-09-28 10:06:31 +02:00
Martin
17ed80b18a clean(Champs::Engagement): migrate to Champs::Checkbox, some for TypeDeChamp 2022-09-27 19:09:28 +02:00
Martin
ba6c5b4db7 feat(instructeur/procedure#index): enhance filter to support processed_at and state [plus en_instruction_at/since]
feat(filter): enable filter on dossiers.state, dossiers.processed_at(since), dossiers.en_instruction_at(since)
2022-09-27 17:19:54 +02:00
Colin Darie
e18dbb976f fix(graphql/serializer): PersonneMorale#date_creation may be null
Ça fix le passage du dossier dans un dossier "terminé" pour un dossier
dont un champ avec SIRET correspond à un établissement sans date de creation
connue.
2022-09-26 18:05:04 +02:00
Christophe Robillard
ddd5f6ece2 make label method name more explict 2022-09-26 16:58:53 +02:00
Christophe Robillard
f452e1014a make label_at more concise 2022-09-26 16:58:53 +02:00
Christophe Robillard
240f1b249f makes the NA label for zone more explicit 2022-09-26 16:58:53 +02:00
Christophe Robillard
9a9330159c choose zone options with correct label
label of the zone is the one available when the procedure has been published (or at the creation if the procedure has not been published)
2022-09-26 16:58:53 +02:00
Christophe Robillard
62f19aba8a get all available zones at specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
9773977496 know if a zone exist at a specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
59cce4203a get zone label at specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
a504e82021 add zone label 2022-09-26 16:58:53 +02:00
simon lehericey
2e33438131 fix(conditional): add missing locals 2022-09-26 10:21:15 +02:00
simon lehericey
bae60339a7 fix: wording 2022-09-26 10:21:15 +02:00
simon lehericey
726a0f20c9 fix(conditional): update breadcrump when condition change 2022-09-26 10:21:15 +02:00
simon lehericey
b6686828db fix(conditional): update error summary when condition change 2022-09-26 10:21:15 +02:00
simon lehericey
eb71207457 fix(conditional): change number input to text input, to display original text not empty in the error message 2022-09-26 10:21:15 +02:00
simon lehericey
f53e8608ae refactor(conditional): error message system 2022-09-26 10:21:15 +02:00
simon lehericey
ab42b27176 refactor(logic): add comments 2022-09-26 10:21:15 +02:00
simon lehericey
fcb9b55bc4 feat(conditional): add include operator 2022-09-26 10:21:15 +02:00
Martin
d9432ccd3b fix(etablissement.as_degraded_mode): backfill missing data via a cron 2022-09-23 15:12:25 +02:00
Kara Diaby
83efa7eab3 fix title order 2022-09-23 08:41:25 +02:00
Kara Diaby
611cc23920 layout 2022-09-23 08:41:25 +02:00
mfo
7bd288e04a
Merge pull request #7796 from betagouv/fix-cron-declarative-procedure-incomplete-etablissement
fix(cron/procedure-declarative): don't auto accept a dossier still in degraded mode
2022-09-22 18:26:36 +02:00
Martin
daeab50321 fix(data): backfill etablissement as degraded mode 2022-09-22 18:02:47 +02:00
Damien Le Thiec
00ccca88ac Update graphQL Schema 2022-09-22 17:30:51 +02:00
Damien Le Thiec
bd0df2b60b Clean rna champ_row 2022-09-22 17:14:05 +02:00
Damien Le Thiec
542c5b518f Improve and connect RNA Adapter 2022-09-22 17:13:53 +02:00
Colin Darie
6a4a9c8e03 fix(cron/procedure-declarative): don't auto accept a dossier still in degraded mode 2022-09-22 16:26:14 +02:00
Colin Darie
9b929c86ea
Merge pull request #7760 from betagouv/dsfr-dossier-top-form
DSFR: convert dossier top form elements
2022-09-21 16:44:51 +02:00
Colin Darie
39322e6dff feat(instructeurs): warn about acceptation/reject unavailable due to incomplete etablissement 2022-09-21 16:00:59 +02:00
Colin Darie
fe2b3ec936 feat(instructeurs/dossier): explicit error about impossible transition due to incomplete etablissement 2022-09-21 16:00:59 +02:00
Colin Darie
e7de19b24d fix(dossier): avoir final state if etablissement is still in degraded mode
Maintenant qu'on autorise un dossier pour entreprise a être créé en mode "dégradé",
(avec établissement incomplet suite à API Entreprise/INSEE down…),
on empêche de l'accepter/refuser/classer sans suite tant qu'on a pas
vérifié son SIRET.

Fix https://sentry.io/organizations/demarches-simplifiees/issues/2839832517/?project=1429550&query=is%3Aunresolved
2022-09-21 16:00:59 +02:00
Colin Darie
53cd041060 refactor(dsfr): components import order accordingly to their README 2022-09-21 15:47:35 +02:00
Colin Darie
55fd4307a1 refactor(header/notice): convert JS to stimulus 2022-09-21 15:47:35 +02:00
Colin Darie
4d5f03b99c style(header): remove fr-header__with-notice-info when notice is closed 2022-09-21 15:47:35 +02:00
Colin Darie
7e6624753a refactor(dossier/pdf): use new france_connect_informations helper 2022-09-21 15:47:35 +02:00
Colin Darie
fcb478eb53 refactor(fc_info): use Dsfr::Notice for france connect informations 2022-09-21 15:47:35 +02:00
Colin Darie
ab82128585 feat(dsfr): new NoticeComponent 2022-09-21 15:47:35 +02:00
Colin Darie
a5e1d8865b style(france_connect_account): convert notice about FC user to DSFR 2022-09-21 15:47:35 +02:00
Colin Darie
80daf3ede1 style(dsfr): dossier form header + notice link 2022-09-21 15:47:35 +02:00
Colin Darie
13beb2bfa5 fix: AgentConnect button visibility 2022-09-21 15:34:31 +02:00
Paul Chavard
16bba911ba Revert "Merge pull request #7637 from tchak/chore-add-missing-foreign-keys"
This reverts commit b21ee46dc2, reversing
changes made to dd85b5c35c.
2022-09-21 15:20:42 +02:00
Damien Le Thiec
2141dd501e Create RNA component 2022-09-21 15:18:23 +02:00
Damien Le Thiec
d8afe81034 Setup RNA champ 2022-09-21 15:18:08 +02:00
Damien Le Thiec
606ac48964 Add new RNA Type de champ 2022-09-21 15:17:23 +02:00
Colin Darie
7e1c542807 fix: FranceConnect button was not visible anymore, convert to DSFR 2022-09-21 09:28:54 +02:00
Colin Darie
cffa8d0b69 style(dsfr/link): doc for explicitly disabling href underlined enabled by dsfr 2022-09-21 09:28:54 +02:00
Paul Chavard
84b9644bcd fix(db): add missing foreign keys 2022-09-20 15:16:52 +02:00
Kara Diaby
ba58558146 fix accessibiliy problems 2022-09-19 13:34:43 +02:00
Kara Diaby
2c4a8e81ba footer layout 2022-09-19 13:34:43 +02:00
Kara Diaby
f3549a7a4d Modify CSS overide and import footer from DSFR 2022-09-19 13:34:43 +02:00
simon lehericey
9d2d19800d feat(champ siret): save etablissement in degraded mode if api down and allow submission 2022-09-19 12:12:05 +02:00
simon lehericey
c7d54fc750 feat(champ siret): display an acknowledgment if siret exist 2022-09-19 11:50:33 +02:00
Martin
eae05b0a6f feat(export.xslx): add code commune to geo_area.label 2022-09-17 08:59:06 +02:00
simon lehericey
0f318a1f7f feat(api_entreprise): display partial information when degraded_mode 2022-09-16 14:43:18 +02:00
Colin Darie
95a4e8a907
feat(api_entreprise): create etablissement with fallback when API is down
On créé l'établissement uniquement avec le SIRET, sans que ce soit bloquant
pour compléter le dossier. On demande à l'utilisateur de vérifier
lui-même la concordance du SIRET avec son entreprise.

Cf #7766
2022-09-16 10:43:59 +02:00
Colin Darie
3cd02ceae3
fix(etablissement): improve annuaire_link, with SIRET & as search
Dans certaines circonstances le SIREN pouvait être vide alors qu'on a
toujours le SIRET. Aussi, on se base sur la recherhce qui redirige vers
le bon namespace car il n'y a pas forcément que des entreprises : certaines
sont listées sous "etablissement".
2022-09-16 10:43:59 +02:00
Colin Darie
2bacd175df
feat(dsfr): import icons sets 2022-09-16 10:43:59 +02:00
Colin Darie
46b69da396
style(dsfr/callout): more theming for callout component 2022-09-16 10:43:59 +02:00
Colin Darie
c4f6305b3a fix(dossiers/api_down): specific error when API Entreprise is globally down. 2022-09-15 18:53:41 +02:00
Colin Darie
d1c06aa92e feat(api_entreprise): add service api_up?, connected to their status page 2022-09-15 18:46:53 +02:00
sebastiencarceles
90d795d1e0 fix: remove instructeur when admin is removed 2022-09-13 09:44:49 +02:00
sebastiencarceles
9aaef79a3d review: use salt to generate key 2022-09-13 07:47:30 +02:00
sebastiencarceles
f154bb56e6 confirm adding a new admin to a procedure
For clarity and a better understanding, use a dedicated controller
to allow the current admin to confirm adding an administrateur
to a procedure.
2022-09-13 07:45:07 +02:00
sebastiencarceles
4123709e72 build and render secured URL to invite admin
For clarity and a better understanding, use a dedicated controller to
build and render the confirmation URL to share in order to add a new
administrateur.
2022-09-13 07:45:07 +02:00
Martin
f47f74fac7 fix(typo): views/administrateurs/_groups_header.haml 2022-09-12 10:26:20 +02:00
mfo
cdf9fe6099
Merge pull request #7752 from mfo/helpcout/1988749
fix(upload.custom-types): army has a custom format for crypted zip. not recognized as an application/octet-stream by the browser. html5[accept] attributes allows to use extensions. So we allow this extension
2022-09-12 10:23:37 +02:00
Martin
67856c2f13 fix(upload.custom-types): army has a custom format for crypted zip. not recognized as an application/octet-stream by the browser. html5[accpet] attributes allows to use extensions. So we allow this extension 2022-09-09 15:54:13 +02:00
Martin
f08d4e9dc0 fix(breadcrumb): extends breadcrumb libelle truncation from 4 to 10 words 2022-09-09 13:08:24 +02:00
mfo
062477dede
Merge pull request #7750 from betagouv/fix_cursor_on_textarea
fix(style): applique un cursor text au textarea
2022-09-09 12:17:35 +02:00
simon lehericey
7449551d3f fix(style): set cursor text on textarea 2022-09-09 12:09:31 +02:00
Martin
93e3f5877e fix(champ_label_component): add missing helpers 2022-09-09 12:02:04 +02:00
simon lehericey
c43bf2e5c9 fix(conditional): only parse user input as int if compared with a number 2022-09-09 11:28:32 +02:00
simon lehericey
478a7e68ab refactor(logic): reuse compatible_type 2022-09-09 10:55:42 +02:00
mfo
44f366d7f4
Merge branch 'main' into helpscout/1987597382 2022-09-08 12:03:01 +02:00
Paul Chavard
d6f5be622c feat(dossier): autosave en construction 2022-09-08 11:26:29 +02:00
Paul Chavard
d35ceb7214 fix(champs): finish EditableChampComponent refactor 2022-09-08 11:26:29 +02:00
Martin
cbe77dd2f6 bug(instructeurs/dossiers#telecharger_pjs): zipline does not play well with not available active storage attachments 2022-09-08 11:05:24 +02:00
Colin Darie
e744c9d575
fix(home): signin button should not open on new window (regression) 2022-09-07 19:14:55 +02:00
Colin Darie
b8885140a4
fix(dsfr): checkbox/radio visibility on old firefox
Firefox < 80 ne supporte pas `appearance: auto` injecté par le DSFR,
ce qui rend les checkbox & radio transparentes (invisibles).
2022-09-07 19:14:55 +02:00
simon lehericey
4cd0261099 remove new header baseline 2022-09-07 18:04:25 +02:00
Colin Darie
c927f2c250 refactor(dsfr/card): rename CardComponent => CardVerticalComponent 2022-09-07 17:56:19 +02:00
Colin Darie
e0a15e9821 chore(patron): add Dsfr::CardComponent, but still media query issue 2022-09-07 17:56:19 +02:00
Colin Darie
5f08df7561 refactor(dsfr/button): remove useless & verbose Dsfr::ButtonComponent, in favor of good link_to / f.submit 2022-09-07 17:56:19 +02:00
Colin Darie
5f760585ad refactor(dsfr): CardComponent with footer_buttons slot 2022-09-07 17:56:19 +02:00
Colin Darie
b769def337 refactor(landings): with DSFR button & card components 2022-09-07 17:56:19 +02:00
Colin Darie
0e28a3870a refactor(dsfr/button_component): more modular & signature more like link_to 2022-09-07 17:56:19 +02:00
Colin Darie
abcfc4a64a fix(home/administration): button hover visibility since dsfr + bottom cards 2022-09-07 17:56:19 +02:00
Colin Darie
b4fc46ba32 fix(home): buttons hover visibility since dsfr 2022-09-07 17:56:19 +02:00
Martin
f674f6981b feat(DSFR.ie11): enable legacy mode with our own packaging system 2022-09-07 17:41:56 +02:00
simon lehericey
ac0ac171ad perf(dossier): remove unused row validation
Gain, one request per champ not child
2022-09-07 15:00:40 +02:00
Paul Chavard
c05bc61c99 fix(revisions): improuve changes information display 2022-09-07 13:52:44 +02:00
sebastiencarceles
c203a7a3fd remove the confusing help ('nom@site.com')
closes #7727
2022-09-07 08:04:26 +02:00
sebastiencarceles
b643660017 'Choix parmi une liste' becomes 'Choix unique'
closes #7374
2022-09-06 11:26:30 +02:00
Martin
abbef510c6 fix(breadcrumb): update turbo usage with new breadcrumb "api" 2022-09-06 10:09:12 +02:00
Martin
ecbe51f928 feat(a11y): avoid wrong heading level 2022-09-06 10:09:12 +02:00
Martin
795f6ab29b fix(header): add missing i18n 2022-09-06 10:09:12 +02:00
Martin
fb0e863efd feat(header): migrate help button to dsfr 2022-09-06 10:09:12 +02:00
Martin
df3ef23f7e fix(spec): 1. visit new_user_session_path instead of navigating to it. 2. change way to submit search according to dsfr html. 3. avoid nav without aria label. 4. various lint fixes 2022-09-06 10:09:12 +02:00
Martin
a48a8b6081 feat(title): avoid title issues 2022-09-06 10:09:12 +02:00
Martin
af00936aac ui(header): refine to fit with olivier design 2022-09-06 10:09:12 +02:00
Martin
73f94b9635 feat(header): switch to DSFR translate component and dropdown component 2022-09-06 10:09:12 +02:00
Martin
96cdae0dd5 feat(DSFR.header): switch to DSFR header 2022-09-06 10:09:12 +02:00
Martin
549eda6fe3 feat(DSFR.breadcrumb): switch to DSFR breadcrumb style since it is part of new service UI 2022-09-06 10:09:12 +02:00
Colin Darie
3cb25e8393 fix(geopoint_field): no geoportail link without coordinates 2022-09-06 09:23:52 +02:00
Colin Darie
3c9b41e233 fix(manager/services): d'ont search in etablissement_adresse (this is not a schema field) 2022-09-06 09:23:52 +02:00
Colin Darie
3cda6b7d62 chore(graphql): expose service#siret 2022-09-06 09:23:52 +02:00
Colin Darie
91c735a219 chore(service): SIRET is required 2022-09-06 09:23:52 +02:00
Colin Darie
9d59a50cd4 chore(manager/services): show etablissement adresse & geopoint 2022-09-06 09:23:52 +02:00
Colin Darie
67cbc61e1e chore(services): update etablissement adresse & geocode when siret changes 2022-09-06 09:23:52 +02:00
Colin Darie
8762acc0b5 chore(services): fetch etablissement adresse from API Entreprise 2022-09-06 09:23:52 +02:00
Colin Darie
7d39cc6b3e chore(schema): +services#etablissement_{infos,geopoint}
- `etablissement_infos` est une représentation partielle en jsonb
de ce qui est renvoyé par l'API Entreprise.
(On ne conserve que l'adresse pour le moment, utilisée pour le geocodage)
- `etablissement_geopoint` est le point (x,y) issu du géocodage de
l'établissement
2022-09-06 09:23:52 +02:00
Colin Darie
b75cff2fc3 refactor: API Entreprise instancified, more flexible for various input params
En fonction des resources, l'API est appelée :

- dans le contexte d'une Procedure ou non
- avec ou sans token injecté
- avec ou sans siret/siren
- avec ou sans user
2022-09-06 09:23:52 +02:00
Colin Darie
c02f68083c feat(manager/service): show SIRET number 2022-09-06 09:23:52 +02:00
Colin Darie
fd18f8b5f8 feat(services): serializer with siret 2022-09-06 09:23:52 +02:00
Colin Darie
ad52710c3c fix(siret): don't add twice invalid format errors 2022-09-06 09:23:52 +02:00
Colin Darie
64ce2719ed feat(services): accept an optional SIRET
Closes #7359
2022-09-06 09:23:52 +02:00
Colin Darie
a4d9a45280 chore(schema): +services#siret 2022-09-06 09:23:52 +02:00
Colin Darie
a9aab27589 fix(contact-admin): add missing invisible captcha 2022-09-05 17:41:17 +02:00
Colin Darie
be965e4fdd fix(api_entreprise): don't fail with entreprise without date_creation 2022-09-05 15:52:06 +02:00
Colin Darie
4e3b063b87
feat(carte/export): list geo labels 2022-09-05 11:02:51 +02:00
simon lehericey
d612c39438 fix(admin procedure preview): redirect is procedure invalid 2022-09-05 10:18:33 +02:00
simon lehericey
e9677c37a1 fix(admin procedure preview): remove preview and continue buttons where procedure invalid 2022-09-05 10:17:05 +02:00
Martin
6114d1ea2f fix(helpscout#1994272872): pdf export contains ? with telecharger_psj. 2022-09-05 09:54:22 +02:00
Paul Chavard
ab3404714a fix(css): rename css file to fix legacy browsers 2022-09-02 19:07:10 +02:00
simon lehericey
8c884b4869 fix(migration): fix avis email notification migration 2022-09-02 17:23:04 +02:00
Kara Diaby
f7039bbb0a layout 2022-09-02 16:23:27 +02:00
Kara Diaby
f8d4644f73 models 2022-09-02 16:23:27 +02:00
Kara Diaby
98f4250214 controller 2022-09-02 16:23:27 +02:00
Martin
4537d2149d fix(service#index): caption absolute positionning does works well with long captions 2022-09-02 10:29:00 +02:00
Martin
ae1e8caf31 fix(dsfr): removed image on link 2022-09-02 09:36:58 +02:00
Martin
7a3dddf9de fix(dsfr): side effect 2022-09-01 17:12:22 +02:00
simon lehericey
bad058891b feat(conditional): block actions and hide revision details if procedure invalid 2022-09-01 15:07:18 +02:00
simon lehericey
f4b465a03f add errors_summary component 2022-09-01 15:07:18 +02:00
Martin
17c7ae1904 fix(a11y): input issue 2022-09-01 14:54:38 +02:00
Paul Chavard
afefa2bfb4 fix(dossier): fix user form component migration errors 2022-09-01 12:43:24 +02:00
simon lehericey
994d73b426 move trad 2022-09-01 09:48:27 +02:00
simon lehericey
a3e8c09e71 component all the champ 2022-09-01 09:48:27 +02:00
Paul Chavard
ebfed21fa8 chore(npm): update dependencies 2022-09-01 09:32:50 +02:00
Colin Darie
b4f791b1f1 fix(rgaa): missing title on signin (8.6) 2022-08-31 17:46:04 +02:00
Colin Darie
ba70cae75a fix(a11y/html): email input with autocomplete=email 2022-08-31 17:46:04 +02:00
Colin Darie
4535810ed4 fix(a11y/html): add role=main on main content 2022-08-31 17:46:04 +02:00
Colin Darie
f4c76ca677 fix(a11y/flash): add role=alert or status to flash messages 2022-08-31 17:46:04 +02:00
Colin Darie
3148266b49 refactor(rgaa/contact): inject invisible_captcha styles into head instead of div 2022-08-31 17:46:04 +02:00
Colin Darie
aab3e3a4be fix(rgaa/layout): invalid button > label 2022-08-31 17:46:04 +02:00
Colin Darie
69fe333aad refactor(rgaa/contact): question type as radio buttons for better rgaa compliance
On suit les recommandations de l'audit RGAA 2021, mais il y aurait encore
peut-être à redire…
2022-08-31 17:46:04 +02:00
Colin Darie
4f8391bc7c fix(rgaa/html): locale dropdown with valid html 2022-08-31 17:46:04 +02:00
Colin Darie
baf88f97e3 fix(rgaa/contact): replace misuse of dl/dd with ul/li
(Critère 9.3)
2022-08-31 17:46:04 +02:00
Colin Darie
cc93beb89e chore(rgaa/images): empty alt / aria hidden for non informative image 2022-08-31 17:46:04 +02:00
Colin Darie
88ceae8b7e chore(views): remove obsolete partial 2022-08-31 17:46:04 +02:00
Colin Darie
b1e9dffbc6 chore(rubocop): enable on .prawn files 2022-08-31 16:52:00 +02:00
Colin Darie
d30f51af79 fix(dossier/attestation_pdf): don't overlap DS name over logo
Le logo contient déjà le nom "demarches-simplifiees.fr", donc inutile
de le redupliquer en texte.
A la place on reprend le layout utilisé sur d'autres PDF.

Closes #7698
2022-08-31 16:52:00 +02:00
Martin
cc2b9b95bf clean(import): dsfr 2022-08-31 15:18:21 +02:00
Martin
14625c29d1 fix(lint): fixlint 2022-08-31 14:56:01 +02:00
Martin
f3ad8e2ead clean(service.edit.html.haml): extract other services 2022-08-31 14:56:01 +02:00
Martin
39b328a984 ui(Administrateur::Procedure::Service): use ds-fr table and some ui refinements 2022-08-31 14:56:01 +02:00
Martin
2649cc477f feat(Administrateur::Procedure::Service.form): resize inputs 2022-08-31 14:56:01 +02:00
Martin
edbff1ceb2 feat(Administrateur::Procedure::Service.form): add back link 2022-08-31 14:56:01 +02:00
Martin
d2b42dda2e feat(Administrateur::Procedure::Service.form): enhance wording and styl 2022-08-31 14:56:00 +02:00
Martin
f086302455 feat(Administrateurs::Procedure::Service#form): wrap explanation within DSFR::CallOut 2022-08-31 14:56:00 +02:00
Martin
289b8f78b8 feat(Administrateur::Services#index): rework list of services 2022-08-31 14:56:00 +02:00
Martin
a2311b1b75 perf(dsfr): only include what alert and its dependencies as refered in README of each components 2022-08-31 14:56:00 +02:00
Martin
17d8c7a371 feat(Administrateurs::Procedure::Service#edit): update UI with new warning as well as DSFR ui
feat(Administrateur::Procedure::Service#edit): add warning message a la DSFR
2022-08-31 14:56:00 +02:00
Martin
1bdbf2a7d7 feat(DesignSysteme): add DSfr and switch to Marianne font 2022-08-31 14:56:00 +02:00
Martin
5f2b290407 feat(Procedure.clone): reset subject.duree_conservation_dossiers_dans_ds when procedure.duree_conservation_etendue_par_ds was extended. only extends it on demand otherwise admin could clone old procedure with higher duree_conservation_dossiers_dans_ds 2022-08-31 14:56:00 +02:00
Martin
51680b11c2 feat(Adminstrateur::Procedures#clone): redirect to home of procedure with special info regarding procedure presentation & service 2022-08-31 14:56:00 +02:00
Martin
6e31decc2d feat(Procedure.clone): stop cloning procedure service which is confusing for some administrateurs 2022-08-31 14:56:00 +02:00
Paul Chavard
d1ae98b9a7 feat(css): add dsfr 2022-08-31 14:53:50 +02:00
Colin Darie
4ece7c2494 fix(champ): remove null byte before save
Les null bytes peuvent être injectés lors de c/c depuis certains documents,
et ne sont pas sauvegardables en base, rendant la sauvegarde d'un dossier impossible.

Closes #7656

https://sentry.io/organizations/demarches-simplifiees/issues/3194932607/activity/?project=1429550&query=is%3Aunresolved
2022-08-31 11:39:34 +02:00
Christian
63a4a13323 Graphql: Fix champs sort in repetition 2022-08-31 11:15:28 +02:00
Martin
69ef1d508d fix(brouillon.edit.form): when their is a type de champs repetition having a child being mandatory ; the form being not validatable the browser does not block the submission 2022-08-24 15:18:05 +02:00
Martin
1a1f44c5e6 fix(rubocop): filter does not exists on strong parameter... 2022-08-24 15:03:36 +02:00
Martin
2f5528398f feat(manager#outdated_procedure): allow super admin to enable procedure_expires_when_termine_enabled for old procedure
revew(typo): various typo, tx christophe :-)

fix(spec): due to typo fixes
2022-08-24 13:10:48 +02:00
Martin
748b8c9d64 fix(instructeurs/archives#create): missing renaming during refacto 2022-08-23 15:31:17 +02:00
Martin
e35da17ce8 bug(instructeurs/archives#create): month should not be nil 2022-08-23 15:31:17 +02:00
Christophe Robillard
d4cdf1fb96 add dolist link to manager 2022-08-23 15:05:20 +02:00
Christophe Robillard
efbec80af8 update saml controller and views
because of using another gem (saml_idp)
2022-08-23 15:05:20 +02:00
mfo
5fb2c45540 review(i18n): fix typo and enhance wording. 2022-08-23 13:28:10 +02:00
Martin
d30492a222 tech(clean): better naming 2022-08-23 13:28:10 +02:00
Martin
45e0c15eb0 feat(PurgeManagerAdministrateurSessionsJob): also purge instructeur assign_tos 2022-08-23 13:28:10 +02:00
Martin
dc524cf615 fix(spec): broken spec due to TDD and refacto on former code 2022-08-23 13:28:10 +02:00
Martin
711b2ee2e4 feat(ExportComponent): only render it when connected instructeur/administrateur is not from manager 2022-08-23 13:28:10 +02:00
Martin
25c0e91d87 feat(Administrateurs::GroupeInstructeur): ensure admin from super admin can not add an instructeur 2022-08-23 13:28:10 +02:00
Martin
d1544bc4ae feat(Administrateurs::ProcedureAdministrateurs): ensure admin from super admin can not add administrateur 2022-08-23 13:28:10 +02:00
Martin
d1297bc1f5 tech(rubocopify): ... just clean up ... 2022-08-23 13:28:10 +02:00
Martin
5e8210b8f8 feat(Administrateur::ExportsController#*): prevent SuperAdmin to ask/download export 2022-08-23 13:28:10 +02:00
Martin
bfd0f3379f feat(Instructeur::ArchivesController#*): prevent SuperAdmin to index/download archives 2022-08-23 13:28:10 +02:00
Martin
c2e0994e11 feat(Administrateur::ArchivesController#*): prevent SuperAdmin to index/download archives 2022-08-23 13:28:10 +02:00
Martin
ef67958324 feat(manager): add #add_administrateur_with_confirmation and #confirm_add_administrateur so SuperAdmin requires another SuperAdmin approval to add an administrator to a procedure. Add #add_administrateur_and_instructeur for SuperAdmin willing to be administrateur/instructeur for 24 2022-08-23 13:28:10 +02:00
Martin
f0a4cbb61e feat(assign_tos): add manager column to assign_tos table. Same idea as administrateur_procedures.manager which flag a link between procedure/administrateur coming from a SuperAdmin [target: able to avoid SuperAdmin sec issues] 2022-08-23 13:28:10 +02:00
Martin
ed20951f14 fix(conditional): within section (dark blue bg) ; use white text 2022-08-23 09:23:42 +02:00
simon lehericey
adf194cc08 fix(editeur_de_champ): can join an pj template 2022-08-11 15:01:48 +02:00
Kara Diaby
58f2f6bd9d Manager : permet au super admin de se retirer d'une démarche 2022-08-11 10:58:58 +02:00
simon lehericey
650c36e3e2 feat(conditional): add not eq operator 2022-08-10 11:59:09 +02:00
simon lehericey
00d0813292 ensure the mandatory star hint is always displayed 2022-08-09 10:29:41 +02:00
simon lehericey
898badb579 a champ is mandatory when visible with a mandatory tdc 2022-08-09 10:25:47 +02:00
Christophe Robillard
e087582f57 Can get dossier vide if procedure is closed 2022-08-05 16:00:08 +02:00
Paul Chavard
a24885c2ee feat(champ): can condition on other option 2022-08-04 15:28:54 +02:00
Paul Chavard
bbca7344e5 fix(conditional): mandatory champs inside hidden repetition should not be validated 2022-08-04 14:48:40 +02:00
Colin Darie
adced0f33a fix(revision): fix stable siblings order when there are multiple identical position
Ça arrive parfois dans les tests, et potentiellement en prod :
après avoir créé un nouveau `revision_type_de_champ`,
on se retrouve très momentanément avec 2
RTDC ayant le même position en attendant le renumérotation peu près.

https://github.com/betagouv/demarches-simplifiees.fr/blob/main/app/models/procedure_revision.rb#L55

Ceci conduisait à une renumérotation erronnée quand la db renvoyait
le nouveau RTDC créé *avant* les précédents.
2022-08-03 18:29:48 +02:00
Paul Chavard
cf315b7246 fix(autosave): on check condition requests do not send file inputs 2022-08-03 12:04:39 +02:00
Paul Chavard
fdbcdfd043 fix(utils): explicitly exclude file type from text inputs 2022-08-03 12:04:39 +02:00
Colin Darie
4a1325eadf fix(view_component): replace form_with with unaffected buffer form_tag helper
form_with/form_for have buffer issues (at least with turbo).

form_tag seems not affected.
2022-08-03 11:57:26 +02:00
Colin Darie
bc7cdb6b8e fix(contact): translate captcha honeypot label 2022-08-03 11:57:26 +02:00
Colin Darie
11a9a6f53f feat(dossier_transfer/email): require email in browser side 2022-08-03 11:44:54 +02:00
Colin Darie
d53aba4d24 fix(dossier_transfer): require a valid email
Cf #7621
2022-08-03 11:44:54 +02:00
Colin Darie
a5d5f4307f fix(dossier_transfer): avoid all transfers without valid email
Cf #7621
2022-08-03 11:44:54 +02:00
Colin Darie
8dc966feb4 fix(dossier_transfer): requires an actual email
Closes #7621
2022-08-03 11:44:54 +02:00
Colin Darie
707ea37b33
chore(sentry): tag dossier & procedure ids on dossier endpoints 2022-08-03 10:34:10 +02:00
Colin Darie
e8210e6c2b fix(agent_connect): constant path
https://sentry.io/organizations/demarches-simplifiees/issues/3248516694/?project=1429550&query=is%3Aunresolved&statsPeriod=14d
2022-08-03 10:19:45 +02:00
Paul Chavard
f48048179c fix(conditional): enable conditional per procedure 2022-08-03 09:16:10 +02:00
Paul Chavard
435a635b3d fix(procedure_presentation): find last instance of type_de_champ through coordinates 2022-08-02 15:24:52 +02:00
Paul Chavard
48a4e8bec5 chore(db): remove already dropped ignored columns 2022-08-02 15:24:52 +02:00
Martin
7f1018c5b0 feat(Users::CommencerController#commencer): ensure to redirect to replaced_by_procedure when it exisits 2022-08-02 13:08:36 +02:00
Colin Darie
4284f14ad8 fix(services): can destroy with discarded procedures
Closes #7626
2022-08-02 11:45:16 +02:00
Kara Diaby
ec3118e82c Add concern for Datagouv schedulable jobs 2022-07-29 12:25:27 +02:00
Kara Diaby
a156529394 modify export descriptif demarches job 2022-07-29 11:17:22 +02:00
Kara Diaby
d18d89b41b modify Lib Datagouv API 2022-07-29 11:17:22 +02:00
Kara Diaby
181e237cf0 add generation csv service 2022-07-29 11:17:22 +02:00
Kara Diaby
882ee74f88 Comptes créés avec FC par mois : CRON Job 2022-07-29 11:17:22 +02:00
Kara Diaby
dc1d0ce071 Démarches supprimées par mois : CRON Job 2022-07-29 11:17:22 +02:00
Kara Diaby
4a29162c6c Démarches closes par mois : CRON Job 2022-07-29 11:17:22 +02:00
Kara Diaby
999059269e Instructeurs connectés par mois : CRON Job 2022-07-29 11:17:21 +02:00
Kara Diaby
8e9d1eeb6f Nombre de comptes créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
b48a48980a Nombre de dossiers créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
9fa54c3cc8 Nombre de démarches créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
e0dc36926e Nombre d'instructeurs créés par mois : CRON 2022-07-29 11:17:21 +02:00
Kara Diaby
a0a3c6c0ee Administrateurs crées par mois : CRON Job 2022-07-29 11:17:20 +02:00
Paul Chavard
782af3322a fix(patron): when rendering “patron” champs should have dossier 2022-07-28 12:10:32 +02:00
Paul Chavard
31d80d80bd fix(dossier): prevent users from removing mandatory fiels after submission 2022-07-28 11:19:47 +02:00
Paul Chavard
b616a4c1e9 fix(stats): remove Helpscout from stats page 2022-07-27 18:26:25 +02:00
Colin Darie
197fa54ea4 fix(archives): purge stuck pending archives
Cf 0cb096b3d6440a4da05ca2902ed6fa72a93e6579
2022-07-27 15:26:59 +02:00
Colin Darie
f1957e51f8 fix(exports): purge stuck (pending) exports, not generated or failed
Avec l'autre PR, ça reproduit le comportement d'avant, c'est à dire
que quoiqu'il arrive un export est purgé :
- soit 16h après sa génération (on a 16h pour le télécharger)
- soit 12h après sa création, et qu'il est bloqué

Auparavant, tous les exports étaient purgés au bout de 3h quelle que soit
le statut.
2022-07-27 15:26:59 +02:00
Colin Darie
bd788ec6bf fix(manager/archives): status => job_status
Closes #7614
2022-07-27 15:26:59 +02:00
Colin Darie
4699d15853 fix(archives): don't fail when there are no weight estimation
A priori ça peut arriver lorsqu'il n'y a pas de dossier terminé sur une procédure

Closes #7615
2022-07-27 15:12:18 +02:00
Christophe Robillard
c8abe092c1 display alert message when no email is given for an invite
no exception is raised anymore in this case
2022-07-27 15:05:00 +02:00
Colin Darie
d4f8f05dec fix(admin/attestation): page layout because of too larger input#size attribute 2022-07-27 14:26:00 +02:00
Paul Chavard
8cba80116e fix(types_de_champ): fix exception on validation errors 2022-07-26 18:17:48 +02:00
Colin Darie
67d2cb2061 chore(schema): add exports#job_status
Same behavior as Archive

On destroy tous les exports existants qui n'ont pas cette notion de status.
2022-07-26 17:53:24 +02:00
Colin Darie
6845b2ed08 fix(export): fix PurgeStaledExportsJob regression with stale scope
cc #7547
2022-07-26 14:26:22 +02:00
Paul Chavard
c2091e0978 refactor(vite): use turbo-polyfills 2022-07-26 13:07:24 +02:00
Paul Chavard
0f9983e93a feat(types_de_champ): allow siret in repetition blocks 2022-07-26 12:59:58 +02:00
Paul Chavard
03fbe506f6 perf(graphql): benchmark demarches_publiques query 2022-07-26 12:54:10 +02:00
simon lehericey
369141c7f7 Fix(procedure library): replace infinite list by a basic search 2022-07-26 12:38:05 +02:00
Paul Chavard
4276745338 fix(autosave): morph instead of replace to preserve controller instances 2022-07-26 11:15:10 +02:00
Paul Chavard
01c0b4350b fix(autosave): error.message can be readonly 2022-07-26 11:02:15 +02:00
Colin Darie
cdbee11c2e chore(patron): drop down list with other input 2022-07-25 13:45:37 +02:00
Colin Darie
9597b3b4b7 style(champ): remove placeholder of drop down other input, since it's not recommended anymore 2022-07-25 12:37:38 +02:00
Colin Darie
865c8c5af0 fix(champ): let auto input width in "other input" dropdown.
On unset explicitement l'attribut `size` pour ne pas que l'helper
`text_field` réutilise la valeur de maxlength et vienne faire déborder
l'input.
2022-07-25 12:36:37 +02:00
Colin Darie
2364e2dda5 feat(graphql): expose entreprise etat_adminitratif 2022-07-25 10:58:02 +02:00
Colin Darie
11cd73b4ac feat(export/csv): list etablisement entreprise_etat_administratif 2022-07-25 10:58:02 +02:00
Colin Darie
e53b6e4e77 feat(export/pdf): list entreprise etat_administratif in "demandeur" section 2022-07-25 10:58:02 +02:00
Colin Darie
22fed3d9de feat: show entreprise etat "en activité" | "fermé in entreprise summary
Closes #7505
2022-07-25 10:58:02 +02:00
Colin Darie
f05e9331a7 chore(entreprises): save etat_administratif from API 2022-07-25 10:58:02 +02:00
Colin Darie
e1d3d1f844 chore(schema): add entreprise_etat_administratif to etablissements 2022-07-25 10:58:02 +02:00
Martin
3e56fdd1d7 fix(export): when it takes more than 3 hours, exports are purge before being generated. make it possible to have an export that takes more than 3 hours and share this behaviour with kind of same class archive 2022-07-25 10:48:54 +02:00
simon lehericey
0d3856e84a fix(conditional): handle incorrect user input 2022-07-22 15:55:43 +02:00
Christophe Robillard
e3206f3eec rename datagouv env var 2022-07-21 21:54:15 +02:00
Christophe Robillard
906dd4b509 remove useless DATAGOUV_TMP_DIR env 2022-07-21 21:54:15 +02:00
Christophe Robillard
0e3e6eb62a add schedulable? class method to cron jobs 2022-07-21 21:54:15 +02:00
Christophe Robillard
bed6167010 use specific namespace for datagouv cron jobs 2022-07-21 21:54:15 +02:00
Christophe Robillard
b6c96301ef export and publish opendata demarches 2022-07-21 21:54:15 +02:00
Christophe Robillard
77a9a2ba12 can upload file to datagouv 2022-07-21 21:54:15 +02:00
Christophe Robillard
d294feabe3 gzip demarches publiques export 2022-07-21 21:27:27 +02:00
Paul Chavard
d9eea35ae8 fix(dossier): decoralate dropdown behaviour from autosave 2022-07-21 18:40:16 +02:00
Paul Chavard
7425744f9f refactor(procedure): move cards to components 2022-07-21 18:07:56 +02:00
Paul Chavard
8532c71036 perf(dossier.pdf): use DossierPreloader to generate pdf 2022-07-21 15:02:29 +02:00
Paul Chavard
3e40b6d7bc fix(graphql): handle annotations inside blocks 2022-07-21 14:54:14 +02:00
Paul Chavard
260d8d2fec perf(graphql): add graphql benchmark 2022-07-21 12:29:08 +02:00
Paul Chavard
902dc678de perf(graphql): improuve dossier loading 2022-07-21 12:29:08 +02:00
Paul Chavard
042703cead refactor(dossier): extract dossier preloader 2022-07-21 12:29:08 +02:00
Paul Chavard
1fe82a956e fix(dossier.pdf): load all types_de_champ (including repetitions) 2022-07-21 11:56:23 +02:00
simon lehericey
5d5f46b4d8 instances : prawn does not like svg
win 10% on pdf generation
2022-07-20 15:48:16 +02:00
simon lehericey
821fd2394b small refactor 2022-07-20 15:48:16 +02:00
simon lehericey
ca8dc34196 preload all tdc once for all 2022-07-20 15:48:16 +02:00
simon lehericey
4dbd44d72a includes stuff 2022-07-20 15:48:16 +02:00
simon lehericey
b9ad3bbce1 extract procedure 2022-07-20 15:48:16 +02:00
simon lehericey
9c73bf1932 batch it 2022-07-20 15:48:16 +02:00
Martin
87af7f3261 feat(exports): implement admin export 2022-07-20 14:08:33 +02:00
simon lehericey
72583f846b champ value return nil if champ is hidden 2022-07-20 11:23:57 +02:00
Paul Chavard
e85fe71887 fix(champ): allow to submit when secondary options are empty 2022-07-20 10:49:07 +02:00
Paul Chavard
9fec11bfd0 refactor(dossier): use size and empty? instead of count 2022-07-19 11:11:46 +02:00
Paul Chavard
1657605ef1 fix(dossier): do not include preview dossiers in dossiers counts 2022-07-19 11:11:46 +02:00
Martin
850f9375b7 fix(ujs-error-handling): sometimes body is not yet ready,other calls regarding ajax namespace are wired on document, copy/paste 2022-07-19 10:52:55 +02:00
Martin
5932f2a1f6 fix(MutationObserver): IE 11 kind of silent error: https://stackoverflow.com/questions/50593385/mutationobserver-syntax-error-on-ie-11 2022-07-19 10:52:55 +02:00
simon lehericey
2d26ba3507 fix: binary operator computes false by default 2022-07-19 10:11:24 +02:00
Paul Chavard
0578f4f305 fix(champ): use safe_join in champ helpers
fix #7411
2022-07-18 16:29:41 +02:00
Paul Chavard
a45b76e63a fix(gon): matomo key can be a number 2022-07-18 16:08:42 +02:00
simon lehericey
c0e8a07868 perf: 500 queries -> 250 procedure show (id: 34908) 2022-07-18 14:28:35 +02:00
simon lehericey
9cfa6205b5 perf: editor public 250 queries -> 15 queries 2022-07-18 14:28:35 +02:00
mfo
4b6ae888d2 Update app/views/administrateurs/procedures/_informations.html.haml
Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-07-18 14:08:53 +02:00
Martin
8ca3a9760b feat(procedure/_information): show new policy regarding data retention [translated so other instances can adapt their support strategy] 2022-07-18 14:08:53 +02:00
Martin
05b6b462b6 feat(new_max_duree_conservation): make it configurable for other instances 2022-07-18 14:08:53 +02:00
Martin
24c8dc5829 feat(procedure.duree_conservation_dossiers_dans_ds): decrease max duree_conservation_dossiers_dans_ds from 36 to 12 2022-07-18 14:08:53 +02:00
Colin Darie
dea1ce40a9 feat(dossier): allows user to edit identity from a brouillon dossier
Closes #7386
2022-07-18 09:57:19 +02:00
Colin Darie
d3232a28cd chore(api_entreprise): intercept token expiration for a more contextual frontend message
Auparavant le service échouait silencieusement et ne retournait rien,
ce qui dans les implémentations du front aboutissait au message que
l'établissement/l'entreprise n'a pas été trouvé.

Un type d'erreur spécifique sur l'expiration du token permet d'afficher
le message lié à un problème temporaire de récupération d'infos.
2022-07-18 09:57:19 +02:00
Colin Darie
1c96ca59dd style(combo): better inputs sizes for pays/regions/departement/communes champs 2022-07-18 09:48:35 +02:00
Colin Darie
71e7f51753 style(champ): remove generic placeholders because new DSFR don't like placeholders in input 2022-07-18 09:48:35 +02:00
Colin Darie
bf20bcf476 style(champ): fix date input width on mobile 2022-07-18 09:48:35 +02:00
Colin Darie
7f7e192df9 style(champs): each composite inputs on its own line (cnaf, dgfip…) with standard width 2022-07-18 09:48:35 +02:00
Colin Darie
ac9313ac69 style: better invitation email width 2022-07-18 09:48:35 +02:00
Colin Darie
44823ddd32 style(champs): reduce width of small inputs
Closes #7427
Cf #7387

Quelques considérations :

- l'attribut `size` ne correspond pas exactement au nombre de caractères
  qui peut être saisi (à moins d'utiliser une font monospace). On doit
  donc utiliser une valeur légèrement supérieure pour être sûr que
  les combinaisons navigateurs/police/taille soient suffisantes.

- on essaye d'harmoniser un peu les largeurs possibles, donc on utilise
  un size=20 qui correspond bien à plusieurs champs concernés

- délicat d'harmoniser avec max-width car les champs de type number &
  date ajoutent des outils/icones à droite de l'input

J'en ai profité pour définir de vrais placeholders pour les champs de
type number.
2022-07-18 09:48:35 +02:00
Colin Darie
b68a62f6b3 fix: CSS warning: float elements ignore display: inline-block 2022-07-18 09:48:35 +02:00
Paul Chavard
98a0bc8c71 refactor(condition): use dom_id with stable_id 2022-07-13 15:38:43 +02:00
Paul Chavard
0adfd92213 refactor(condition): use standard revision change ops 2022-07-13 15:32:25 +02:00
simon lehericey
2cad0e11d3 display condition change between version 2022-07-13 15:10:23 +02:00
simon lehericey
00c4076b32 conditions_component use stable_id 2022-07-13 12:38:52 +02:00
Paul Chavard
d00a91aea5 feat(dossier): check conditions on en construction dossier 2022-07-13 10:49:17 +02:00
Paul Chavard
e82f0fd0c8 feat(dossier): exclude conditionally invisible fields from instructeur interface 2022-07-12 17:33:42 +02:00
Paul Chavard
0f9d8b6a39 feat(dossier): exclude conditionally invisible fields from mandatory check 2022-07-12 17:33:42 +02:00
Paul Chavard
120b593015 feat(dossier): toggle conditional champs visibility 2022-07-12 17:33:42 +02:00
simon lehericey
53fe3c3dd8 fix: remove condition from annotations and children 2022-07-12 14:17:05 +02:00
simon lehericey
6f7fb9841c fix: make edition annotation work again 2022-07-12 14:17:05 +02:00
Paul Chavard
24aae95c63 fix(react): prevent warning about controlled inputs 2022-07-12 11:47:33 +02:00
Paul Chavard
a4681d8832 refactor(autosave): improuve events handling 2022-07-12 11:47:33 +02:00
Colin Darie
d805114a72 Revert "feat(revision): list updated placeholder option for generic type de champ"
This reverts commit fe0282e904.

Continue 2bd33ada45b036f73f3fc78150621092e0667693
2022-07-12 11:37:58 +02:00
Colin Darie
8c08d0295b Revert "feat(champ): customizable placeholders for text & textarea champs"
This reverts commit 9e26ee932e.

Finalement les champs génériques ne doivent pas avoir de placeholder
personnalisable, ce sera uniquement via la description.
2022-07-12 11:37:58 +02:00
Paul Chavard
1c8efea465 fix(preview): gon should not crash on preview pages 2022-07-12 11:16:41 +02:00
simon lehericey
9bd1d97ed7 add feature flag 2022-07-12 10:44:40 +02:00
simon lehericey
c4c0c275e1 fix: coordinate_and_tdc return nil if not found 2022-07-12 10:44:40 +02:00
simon lehericey
bd708a12a0 fix: missing traduction in conditions errors 2022-07-12 10:44:40 +02:00
simon lehericey
0179a0a826 update conditions_controller 2022-07-12 10:44:40 +02:00
simon lehericey
faa2797d80 fix: champ_value for tdc destroyed 2022-07-12 10:44:40 +02:00
simon lehericey
2fee0ddfd4 feature: type_de_champ_controller 2022-07-12 10:44:40 +02:00
simon lehericey
2da0aa6525 refactor: add draft helper 2022-07-12 10:44:40 +02:00
simon lehericey
c80a820054 expose properties after_all 2022-07-12 10:44:40 +02:00
simon lehericey
5bee34cc34 refactor: before_action 2022-07-12 10:44:40 +02:00
simon lehericey
2df9d8ba98 use condition_condition_component in editor 2022-07-12 10:44:40 +02:00
simon lehericey
256d4e4fda refactor: reorder -> renumber 2022-07-12 10:44:40 +02:00
simon lehericey
64d82798a6 fix create_tdc after_stable_id 2022-07-12 10:16:22 +02:00
Paul Chavard
9867bc3947 fix(a11y): manu buttons should have unique ids 2022-07-12 08:43:17 +02:00
Paul Chavard
ad0e57a372 fix(a11y): search input should have a label 2022-07-12 08:43:17 +02:00
Paul Chavard
b8db929e62 fix(a11y): add id to drop_down_other 2022-07-12 08:43:17 +02:00
Colin Darie
ce67dd2d70 feat(admin): list procedures with updated_at & auto_archive_on
Closes #7392
2022-07-11 17:22:11 +02:00
Colin Darie
fe0282e904
feat(revision): list updated placeholder option for generic type de champ 2022-07-11 17:16:20 +02:00
Colin Darie
9e26ee932e
feat(champ): customizable placeholders for text & textarea champs
Closes #7429
2022-07-11 17:16:20 +02:00
Colin Darie
e26cee8d9d
style(champ): add default placeholders for text & textarea champs
cc #7429
2022-07-11 17:16:20 +02:00
Colin Darie
8c9464670c
style: normalize placeholder appearance between browsers
There was not enough contrast on Webkit browsers against value color,
so we're using good Firefox default opacity for everyone.
2022-07-11 17:16:19 +02:00
Colin Darie
e0c5608218
refactor(iban): i18n extraction of input title attribute 2022-07-11 17:16:19 +02:00
Colin Darie
9768f4e1c9
style(champ): add placeholders for email, iban, phone, siret champs
Closes #7428
2022-07-11 17:16:19 +02:00
Martin
4c0aac8e0c fix(linked_dropdown/dropdown): for dropdown_list, drop blank option because rails add it when the field is required. kind of same behaviour for linked_dropdown_list [but requires to manage it on the front too] 2022-07-11 14:47:26 +02:00
Martin
8eceee54ff fix(targeted_user_link): on invitation user are not always already created 2022-07-11 14:37:01 +02:00
Paul Chavard
4d48055158 feat(tags): expose used_type_de_champ_tags 2022-07-07 23:23:17 +02:00
simon lehericey
0ffa23c259 move under types_de_champ_editor namespace 2022-07-07 11:18:47 +02:00
simon lehericey
5ea8842294 more renaming 2022-07-07 10:57:12 +02:00
simon lehericey
4ac66f2b99 simplify negation and alert 2022-07-07 10:57:12 +02:00
simon lehericey
3fc3bb6d54 simplify fargets_for_select 2022-07-06 20:27:14 +02:00
simon lehericey
dfd63d4f75 renaming 2022-07-06 20:27:14 +02:00
simon lehericey
62b5bd974e add comments 2022-07-06 20:27:14 +02:00
simon lehericey
01bc7aa29e make it world wide 2022-07-06 20:27:14 +02:00
simon lehericey
bf0f43f0ec fix: component preview 2022-07-06 20:27:14 +02:00
simon lehericey
1131a5c83e condition component error 2022-07-06 20:27:14 +02:00
simon lehericey
cecf210503 style add row button 2022-07-06 20:27:14 +02:00
simon lehericey
bf27a5ffc4 style delete row button 2022-07-06 20:27:14 +02:00
simon lehericey
30859774e4 condition component manage invalid target 2022-07-06 20:27:14 +02:00
simon lehericey
db4b7fc344 condition component manage invalid value 2022-07-06 20:27:14 +02:00
simon lehericey
03e9e95d56 condition component manage invalid operator 2022-07-06 20:27:14 +02:00
simon lehericey
e2a236b73d add condition_component 2022-07-06 20:27:14 +02:00
simon lehericey
61839ef1ac add logic condition_split 2022-07-06 20:27:14 +02:00
Christophe Robillard
25a1129ae4 use internal_use instead of require_admin for graphql context 2022-07-06 17:59:03 +02:00
Christophe Robillard
e2348aa8f1 rename publiques scope to opendata 2022-07-06 17:59:03 +02:00
Christophe Robillard
49a77ddffe [graphql] fine tune config to avoid timeout error 2022-07-06 17:59:03 +02:00
Christophe Robillard
886f595350 [graphql] add dossiersCount field
visible only for admin
2022-07-06 17:59:03 +02:00
Christophe Robillard
7684e97494 export demarches publiques 2022-07-06 17:59:03 +02:00
Christophe Robillard
fa1cbdc848 require admin context for demarchesPubliques field 2022-07-06 17:59:03 +02:00
Christophe Robillard
78d772441b [graphql] add demarchesPubliques to query 2022-07-06 17:59:03 +02:00
Christophe Robillard
b56706b6b8 add scope publiques for procedures 2022-07-06 17:59:03 +02:00
Christophe Robillard
7a06230912 [graphql] add cadre juridique and deliberation fields 2022-07-06 17:59:03 +02:00
Christophe Robillard
cb7e8d8a6e [graphql] Fix service field which can be nil
In `app/models/procedure.rb`, belongs_to service relation is optional.
To be consistent, service field in graphql has can be nil.
2022-07-06 17:59:03 +02:00
Paul Chavard
fb37f8c5a8 fix(dossier): fix some reset draft changes edge cases 2022-07-06 16:52:12 +02:00
simon lehericey
1751ddf713 add condition controller 2022-07-06 16:35:23 +02:00
simon lehericey
42488419b5 add condition form model 2022-07-06 16:35:23 +02:00
Paul Chavard
f5e75d5e8e chore(stimulus): stimulus controllers can be lazy loaded 2022-07-06 14:26:17 +02:00
Paul Chavard
9b45dcea3f feat(demarche): add possibility to reset draft revision 2022-07-06 14:18:01 +02:00
Martin
ddd67f1df2 fix(sentry/3394049118): apparently there is an attached_file without content_type nor file_size validation... 2022-07-06 13:53:16 +02:00
simon lehericey
b715d1f495 Revert "Add id to term"
This reverts commit 87385d03fd.
2022-07-06 09:44:54 +02:00
simon lehericey
350d32c369 in serialization rename op to term 2022-07-05 14:47:49 +02:00
simon lehericey
87385d03fd Add id to term 2022-07-05 14:47:49 +02:00
Paul Chavard
2c3503d7d0 test(js): add vitest 2022-07-05 13:38:00 +02:00
simon lehericey
d8454d9d47 remove text from managed_type_de_champ 2022-07-05 12:07:06 +02:00
simon lehericey
c631c5cd82 Logic add_empty_condition_to 2022-07-05 12:07:06 +02:00
simon lehericey
df7acf70c8 and empty_operator compute always true 2022-07-05 12:07:06 +02:00
simon lehericey
6e8206b8b4 add unmanaged champ value type 2022-07-05 12:07:06 +02:00
simon lehericey
144b522773 empty operator is no longer an error 2022-07-05 12:07:06 +02:00
simon lehericey
976e760045 empty has nil value 2022-07-05 12:07:06 +02:00
simon lehericey
04965ac35a improve constant and empty to_s 2022-07-05 12:07:06 +02:00
simon lehericey
dda5bc35ed extract champ value type 2022-07-05 12:07:06 +02:00
simon lehericey
809319f593 exposed champ value managed tdc 2022-07-05 12:07:06 +02:00
simon lehericey
a475515f3e use params[:stable_id] 2022-07-05 11:53:18 +02:00
simon lehericey
7b02fa9353 typeDeChampIdValue -> typeDeChampStableIdValue 2022-07-05 11:53:18 +02:00
simon lehericey
5ebaf59fdb parent_id -> parent_stable_id 2022-07-05 11:53:18 +02:00
simon lehericey
1342356651 after_id -> after_stable_id 2022-07-05 11:53:18 +02:00
Paul Chavard
3c46447851 chore(vite): add a coment with link to original legacy plugin code 2022-07-04 19:32:18 +02:00
Paul Chavard
9a6a8411d3 feat(export): add déparctement info to commune champ export 2022-07-04 16:30:16 +02:00
Martin
7fb85c97cb feat(Administrateur::ArchivesControllers): add archives #index and #create for admin 2022-07-04 14:18:46 +02:00
simon lehericey
b4732053ea fix weird outline in focus 2022-07-04 10:02:54 +02:00
simon lehericey
f8c7003192 fix drop down other 2022-07-01 16:05:31 +02:00
Paul Chavard
72636f3332 fix(vite): porte vite fallback logic from vite legacy plugin 2022-07-01 10:25:24 +02:00
Paul Chavard
23fe07bfbd Revert "Merge pull request #7511 from betagouv/US/fix-dynamic-imports-on-ff-60-69"
This reverts commit d2fd5b83a9, reversing
changes made to 183dc4eb2b.
2022-07-01 10:07:39 +02:00
Martin
3c8a78dc7f polyfills: fails ont custom relative path to polyfills/dataset 2022-07-01 09:54:46 +02:00
Martin
f85c97f96e fix(js): dynamic import with import keyword does not work on ffx[60,68] 2022-07-01 09:54:46 +02:00
Paul Chavard
45472f2fe7 chore(axe-core): add a11y reports in dev environement 2022-06-30 10:54:32 +02:00
Paul Chavard
0e803b1f81 fix(vite): temporary use legacy build in all browsers 2022-06-30 10:34:06 +02:00
Paul Chavard
4844f27404 Revert "Merge pull request #7509 from betagouv/US/fix-dynamic-imports-on-ff-60-69"
This reverts commit 8e13015e85, reversing
changes made to 3a16905d79.
2022-06-30 09:34:08 +02:00
Martin
a736c8300a fix(js): dynamic import with import keyword does not work on ffx[60,68] 2022-06-30 07:27:24 +02:00
simon lehericey
683cb54cca Revert "Merge pull request #7506 from betagouv/brutally_fix_dynamic_import"
Bad idea, new browser do not get js anymore because of the nomodule attribute
2022-06-29 17:30:15 +02:00
Martin
54cc9de51e feat(dubious): add RIB & IBAN and fix NRIPP istead of NIRPP 2022-06-29 17:07:00 +02:00
simon lehericey
ff592989c6 use vite_legacy_javascript to fix dynamic import for 60 <= ff < 66 2022-06-29 16:27:41 +02:00
Martin
4ec61e58ac feat(EditComponent): add max_file_size and content_types to upload buttons inspired by dsfr 2022-06-28 17:44:35 +02:00
Martin
ea71908850 fix(ChampEditor): add missing drop_down_other for type_de_champ.drop_down_list_with_other? 2022-06-27 17:19:10 +02:00
Martin
22ab2a258c fix(Rails.ujs): missing Rails.start 2022-06-27 14:06:47 +02:00
Paul Chavard
19da848206 chore(dossier): remove dead code 2022-06-27 12:23:44 +02:00
Paul Chavard
1ab609d108 refactor(react): eager load react components 2022-06-23 15:22:55 +02:00
Paul Chavard
2979d6ac2c chore(vite): do not use legacy build in development 2022-06-23 15:22:55 +02:00
Paul Chavard
eba1973d5f refactor(stimulus): eager load stimulus controllers 2022-06-23 15:22:55 +02:00
Paul Chavard
ea18c2b9ba chore(build): use vitejs 2022-06-23 15:22:54 +02:00
Paul Chavard
7217fdef88 fix(graphql): DemarcheDescriptorType can ba a revision or a procedure 2022-06-23 14:52:21 +02:00
Christophe Robillard
fa3c6c3b61 opendata active only if feature flag 2022-06-23 14:11:09 +02:00
Christophe Robillard
6dd27ec7ed reset opendata to true when procedure is cloned by another admin 2022-06-23 14:11:09 +02:00
Christophe Robillard
45d48bd269 administrators can specifiy if demarche's descriptive is opendata 2022-06-23 14:11:09 +02:00
Christophe Robillard
ea59f5f260 add opendata boolean attribute for procedure
when opendata is set to true, it means that descriptive's procedure can be
public
when opendata is set to false, ti means that descriptive's can not be
public, because the procedure is only available for public servants, not
citizens.
2022-06-23 14:11:09 +02:00
Kara Diaby
7695ad47cf ETQ Usager, je veux entrer mon Iban de manière plus simple (avec espaces) 2022-06-22 15:07:31 +02:00
Martin
ab4d4c83a8 feat(GroupeInstructeurs.closed): add closed option to GroupeInstructeur in order to prevent usagers to submit dossier 2022-06-20 16:32:06 +02:00
Martin
274b5eab2e feat(invite): wrap invitation with targeted_user_links 2022-06-17 16:44:37 +02:00
simon lehericey
9596dac508 force resync types_de_champ and types_de_champ_public/private 2022-06-17 14:54:21 +02:00
simon lehericey
0db27b8718 validate conditions on revision 2022-06-17 14:54:21 +02:00
simon lehericey
758933f6f9 tdc can have condition 2022-06-17 14:53:28 +02:00
simon lehericey
9f49e8c2ea add ensure_compatibility_from_left 2022-06-17 14:53:27 +02:00
simon lehericey
5ac3049033 add champ_value for dropdown 2022-06-17 14:53:27 +02:00
simon lehericey
809d991819 add champ_value 2022-06-17 14:53:27 +02:00
simon lehericey
daaa54b6f0 add n_ary operators 2022-06-17 14:53:27 +02:00
simon lehericey
698eff0a50 add equal operator 2022-06-17 14:53:27 +02:00
simon lehericey
ebe95b83fa add compatibility checks 2022-06-17 14:53:27 +02:00
simon lehericey
a98a6d6d1e add binary operators 2022-06-17 14:53:27 +02:00
simon lehericey
6ebfc505c4 add empty 2022-06-17 14:53:27 +02:00
simon lehericey
58da4805fa add constant 2022-06-17 14:53:27 +02:00
Paul Chavard
6ec6aebd53 fix(graphql): cleanup deprecation messages 2022-06-17 12:33:35 +02:00
Paul Chavard
350ed3a11a feat(graphql): expose revision on demarche descriptor type 2022-06-17 12:33:35 +02:00
Paul Chavard
bbc44fe339 fix(export): no crash on empty repetitions 2022-06-17 11:33:48 +02:00
Paul Chavard
6801b04b7b feat(type_de_champ): type_de_champ editor in stimulus/turbo 2022-06-17 11:04:09 +02:00
Paul Chavard
1573d20ee9 types_de_champ controller to use turbo 2022-06-17 11:04:09 +02:00
Paul Chavard
cf81e8ecd5 feat(turbo): add turbo:morph helper 2022-06-17 11:04:09 +02:00
Paul Chavard
65bd996f2a refactor(types_de_champ_editor): remove old react editor 2022-06-17 11:04:09 +02:00
Fabrice Gangler
aaa84e177d FIX: remove an unwanted character in footer
Refs: #7463
2022-06-17 10:39:26 +02:00
Paul Chavard
564daeffe8 perf(dossier): improuve dossier preloading perf 2022-06-14 09:04:26 +01:00
Martin
56f7133799 fix(procedure_presentation): can not present a 'virtual field' like depose_since
fix(data): add migration to remove fields depose_since from existing procedure presentation
2022-06-14 09:02:37 +02:00
Martin
8b487c847b fix(instructeurs/avis#revive): ArgumentError on AvisMailer.avis_invitation 2022-06-14 08:41:09 +02:00
mfo
011fcd40d8
Merge pull request #7457 from betagouv/US/fix-webhook
fix(WebHookJob): missing find procedure
2022-06-10 17:30:28 +02:00
Martin
165db34c4a fix(WebHookJob): missing find procedure 2022-06-10 17:28:07 +02:00
Martin
b84c2966c4 fix(DeclarativeProceduresJob.perform_now): avoid to crash other demarche when one fail 2022-06-10 14:59:36 +02:00
Kara Diaby
d58ecb3fcc Lors de la restauration d'une démarche supprimée, met sur les dossiers liés hidden_by_administration_at à nil 2022-06-10 12:33:47 +02:00
Paul Chavard
95a1ea1047 feat(procedure_presentation): add since date filters 2022-06-09 13:01:22 +01:00
Kara Diaby
5f1f8b299a layout 2022-06-08 14:38:17 +02:00
Kara Diaby
d2bd2ffcbe controller 2022-06-08 14:38:17 +02:00
Kara Diaby
60eed4ec01 model 2022-06-02 15:48:11 +02:00
Martin
7ed9d586cf fix(drop_down_list): ensure to skip disabled input when sending data via autosave 2022-06-02 09:06:37 +02:00
Martin
422990f664 fix(6.2.1): home, for each text link with a link title (title attribute), is the content of this attribute relevant?
fix(9.2.1): add nav to footer as it is a navigation area

fix(8.9.1): sign_in, do not use %hr within %p which implicitely close the %p leading to an empty %p after that

fix(9.2.1): sign in, missing %nav element
2022-06-01 17:20:34 +02:00
Martin
d39b3b09ed fix(webhook.perform): ensure to enqueue job with current state/updated_at for consistency reason 2022-06-01 15:54:55 +02:00
Kara Diaby
df2b4408c2 procedure.service.nom instead of organisation if service exists 2022-06-01 15:11:26 +02:00
Pierre de La Morinerie
c1616adf8c app: remove procedure-estimated-fill-time feature-flag
The feature is now enabled for every procedure.

Ref #7338
2022-06-01 11:11:55 +02:00
Paul Chavard
462b2618a4 feat(procedure): move new children to new parent in transaction 2022-06-01 09:33:39 +02:00
Pierre de La Morinerie
1a34a357a3 views: fix exception when creating a procedure with estimate enabled 2022-05-31 17:21:04 +02:00
Pierre de La Morinerie
71d33a7004 helpers: fix name of procedure_estimated_fill_duration feature-flag 2022-05-31 15:26:59 +02:00
Pierre de La Morinerie
2b90d7cc01 helpers: allow champ without persisted dossier
This fixes the /patron page. I also added an end-to-end test
to avoid breaking this page in the future.
2022-05-31 15:12:29 +02:00
Martin
cb890343ff feat(targeted_user_link): add targeted user link to wrap expert invitation in order to avoid access issue when the expert is connected with another account
feat(user.merge): ensure to merge user.targeted_user_link

Update app/models/targeted_user_link.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

Update app/models/targeted_user_link.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

Update app/models/targeted_user_link.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

feat(db/create_targeted_user_links): ensure not null with fk
2022-05-31 14:50:31 +02:00
Paul Chavard
c0a253078c fix(revision): fix clone démarches with repetitions 2022-05-31 13:28:56 +02:00
Paul Chavard
a36672239d refactor(revision): rename find_or_clone_type_de_champ 2022-05-31 08:58:53 +02:00
Paul Chavard
6f98def288 refactor(revision): remove old code 2022-05-31 08:58:53 +02:00
Paul Chavard
906eea188e refactor(stimulus): use stimulus in message forms 2022-05-30 18:21:32 +02:00
Martin
25a0daf0a2 fix(avis#instruction): use safer claiment.email with a simple helper 2022-05-30 15:42:36 +02:00
Kara Diaby
1c271fef83 layout 2022-05-30 14:40:49 +02:00
Kara Diaby
37272f90a0 controller 2022-05-30 14:40:49 +02:00
Kara Diaby
8df81b365e layout 2022-05-26 12:45:05 +02:00
Kara Diaby
36aff57f24 model 2022-05-26 12:45:05 +02:00
Kara Diaby
3c5808fe03 controller 2022-05-26 12:45:05 +02:00
Pierre de La Morinerie
c738d7d07f js: display estimated duration in champ editor 2022-05-25 21:50:49 +02:00
Pierre de La Morinerie
3bd637fc56 js: add estimateFillDuration query 2022-05-25 21:50:49 +02:00
Pierre de La Morinerie
6596ea0bab js: support payload-less requests 2022-05-25 21:50:49 +02:00
Pierre de La Morinerie
ac6ae94c93 controllers: add a TypesDeChamp#estimate_fill_duration action 2022-05-25 21:50:49 +02:00
Christophe Robillard
f14cd7b022 remove warning mail for dubious procedures 2022-05-25 14:44:53 +02:00
Christophe Robillard
fd98247b48 [manager] add list of dubious procedures 2022-05-25 14:44:53 +02:00
Pierre de La Morinerie
8936461d5b app: cache the duration estimate for published procedures 2022-05-25 10:39:18 +02:00
Pierre de La Morinerie
3e91a16895 app: display estimated fill duration on procedure description 2022-05-25 10:39:15 +02:00
Pierre de La Morinerie
3b57d98692 model: add estimated_fill_duration to type_de_champ 2022-05-25 10:37:59 +02:00
Pierre de La Morinerie
62d5778790 views: shorten administrateur breadcrumb 2022-05-25 10:37:59 +02:00
Paul Chavard
5ddda15961 refactor(invites): use turbo 2022-05-24 18:44:51 +02:00
Pierre de La Morinerie
4fcb85fd65 app: remove procedure_dossier_papertrail feature flag
The feature is now enabled for all procedures.
2022-05-24 17:32:11 +02:00
Paul Chavard
e257a05150 feat(dossier): preview should save dossier 2022-05-24 17:02:05 +02:00
simon lehericey
8ce080bd3e updated_at pb 2022-05-24 15:38:50 +02:00
simon lehericey
db5d291acd complete spec and alternative implem 2022-05-24 15:38:50 +02:00
simon lehericey
abc3681053 delegate stable_id to tdc 2022-05-24 15:38:50 +02:00
simon lehericey
e7078279b8 rename published to target to be coherent 2022-05-24 15:38:50 +02:00
simon lehericey
75ec99e709 comments 2022-05-24 15:38:50 +02:00
Paul Chavard
0817731d6a refactor(dossier): rebase to use new revisions 2022-05-24 15:38:50 +02:00
Martin
30327174fb feat(manager): add depose_at, en_construction_at, en_instruction_at, processed_at to manager 2022-05-24 15:33:13 +02:00
Paul Chavard
88eb14c623 feat(autosave): submit on input events 2022-05-24 15:05:14 +02:00
Martin
51f0be1034 clean(deadcode): remove dead methods 2022-05-24 14:23:40 +02:00
Martin
0eccb08f8b fix(root): do not forget to move claimant_id when merging instructeur 2022-05-24 14:23:40 +02:00
Paul Chavard
b635952b2f refactor(revision): types_de_champ for export 2022-05-23 18:36:18 +02:00
Paul Chavard
50aa50b047 refactor(type_de_champ): use children_of when serializing type_de_champ 2022-05-23 18:22:42 +02:00
Paul Chavard
8c6feb1e1f feat(graphql): expose repasser_en_construction and repasser_en_instruction 2022-05-23 18:12:33 +02:00
Paul Chavard
ee50b8ad25 refactor(graphql): fix types_de_champ usage 2022-05-23 18:03:55 +02:00
Paul Chavard
99a8786dd5 fix(expert): expert should be allowed to delete messages 2022-05-20 15:47:48 +02:00
simon lehericey
c5a0fd4349 use children_of on validation repetition is not empty 2022-05-20 09:24:05 +02:00
Paul Chavard
a6cf311f56 Revert "if is not only in draft, its gonna be cloned anyway"
This reverts commit 71e9240a7d.
2022-05-18 22:53:39 +02:00
simon lehericey
74653631c3 few comments 2022-05-18 22:23:31 +02:00
simon lehericey
71e9240a7d if is not only in draft, its gonna be cloned anyway 2022-05-18 22:23:31 +02:00
simon lehericey
20288fbb7d revise_type_de_champ -> replace_tdcs_and_children_by_clones 2022-05-18 22:15:22 +02:00
simon lehericey
e7524b3f0d extract var 2022-05-18 21:59:31 +02:00
Paul Chavard
0e335f58ac fix(revision): update children coordinate instead of duplicating 2022-05-18 19:39:20 +02:00
Pierre de La Morinerie
49410ff5f7 models: update database comments 2022-05-18 15:39:33 +02:00
simon lehericey
419d853d1d add target_revision on rebase 2022-05-18 15:18:17 +02:00
simon lehericey
8bd3de2050 remove use of repetition.types_de_champ (except rebase) 2022-05-18 15:18:17 +02:00
Martin
58d205a022 fix(dossier_vide.pdf.prawn): avoid overlap on for multiline label on label 2022-05-18 15:13:15 +02:00
simon lehericey
1921661fad simplify children_of 2022-05-18 12:30:58 +02:00
simon lehericey
633f0d1ce5 remove_repetition 2022-05-18 12:12:25 +02:00
simon lehericey
4d97f6aa8c types_de_champ_for_revision 2022-05-18 11:40:34 +02:00
Paul Chavard
6c2a3bafa4 refactor(dossier): champs order by coordinate 2022-05-18 11:20:50 +02:00
simon lehericey
09744839f1 in manager dossier 2022-05-18 10:43:08 +02:00
simon lehericey
be33c0ce7b extract coordinate_and_tdc 2022-05-18 10:11:31 +02:00
simon lehericey
7f23449f24 remove set_position 2022-05-18 10:11:31 +02:00
Paul Chavard
0dfc015690 feat(dossiers): bring back export all dossiers 2022-05-17 18:34:00 +02:00
Paul Chavard
e33022ffc7 refactor(dossier): export to use turbo-poll 2022-05-17 16:08:47 +02:00
Paul Chavard
e9b02642c5 refactor(attachment): attachments controller to use turbo 2022-05-17 16:08:47 +02:00
Paul Chavard
32bd1b6d9f refactor(attachment): remove unused helpers 2022-05-17 16:08:47 +02:00
Paul Chavard
bc77390cfe refactor(attachment): use new components 2022-05-17 16:08:47 +02:00
Paul Chavard
2ce389d474 refactor(dossier): add Dossier::ExportComponent 2022-05-17 16:08:47 +02:00
Paul Chavard
7e1c793728 refactor(attachment): add Attachment::ShowComponent 2022-05-17 16:08:47 +02:00
Paul Chavard
d6384caf10 refactor(attachment): add Attachment::EditComponent 2022-05-17 16:08:47 +02:00
Paul Chavard
57c55107c0 feat(turbo): longer dely before hiding flash messages 2022-05-17 16:08:47 +02:00
Paul Chavard
df914d273f feat(turbo): add turbo-poll controller 2022-05-17 16:08:47 +02:00
Paul Chavard
2eb7da5227 fix(dossier): redirect on not found dossiers 2022-05-17 11:42:10 +02:00
Paul Chavard
b6ea44f7e7 refactor(revision): remove type_de_champ#revision_id 2022-05-17 11:31:49 +02:00
Pierre de La Morinerie
51512ff733 views: clarify why contact informations are important 2022-05-17 10:45:34 +02:00
Pierre de La Morinerie
c0b96bfecb views: improve Service breadcrumbs
- Make the procedure name shorter
- Capitalize the words
2022-05-17 10:45:34 +02:00
Paul Chavard
e8c875a461 fix(fetch): prevent double parsing of fetch error messages 2022-05-17 10:38:19 +02:00
Pierre de La Morinerie
0063b68689 mailers: add deposit receipt to initiated_mail
See #6146
2022-05-17 10:25:13 +02:00
Martin
bb96d49743 fix(recherche#index): move paginate outside of table row loop 2022-05-16 15:56:02 +02:00
Paul Chavard
6d0b3d93ed fix(autosave): prevent autosave if current champ is detached from the form 2022-05-16 14:07:02 +02:00
Paul Chavard
246db0e1cf fix(menu-button): should be a button 2022-05-16 09:44:30 +02:00
Paul Chavard
e193c652e7 fix(recherche): expert actions should be a menu-button 2022-05-16 09:44:10 +02:00
Paul Chavard
95bd13872b refactor(dossier): change state with turbo 2022-05-13 17:38:09 +02:00
Paul Chavard
8d9929aa9f fix(revision): (re)move child type de champ should clone parent for now 2022-05-13 17:17:24 +02:00
Paul Chavard
85c20784a2 refactor(revision): delete unused code 2022-05-13 17:17:23 +02:00
Paul Chavard
d7678c4389 Revert "Merge pull request #7295 from tchak/rollback-attempt"
This reverts commit 24b37c230d, reversing
changes made to 08b90b9173.
2022-05-13 17:17:23 +02:00
Martin
a7bb6f1627 feat(links): add link to www.solidarite-numerique.fr 2022-05-13 15:25:04 +02:00
Martin
da57a1dc9e fix(commencer#commencer): broken due to missing interpolated variable in i18n 2022-05-13 13:15:31 +02:00
Kara Diaby
e99bd5f558 models 2022-05-13 10:31:51 +02:00
Kara Diaby
897d5571f7 layout 2022-05-13 10:31:51 +02:00
mfo
c6ef17341b
Merge branch 'main' into sentry/3267070633 2022-05-12 16:41:33 +02:00
Martin
0826baeba3 bug(commencer#commencer): raise when procedure does not have a service
fix(commencer#commencer): use alternate message when procedure does not have a service
2022-05-12 16:41:11 +02:00
Paul Chavard
6adb3f7a3a fix(revision): fix migrate_parent! 2022-05-12 10:40:41 +02:00
Paul Chavard
edf0cbf320 bring back find_type_de_champ_by_stable_id old implementation 2022-05-11 20:29:01 +02:00
Paul Chavard
4c26e34c79 Revert "Merge pull request #7270 from betagouv/remove_type_de_champ_v2"
This reverts commit 41b6f8f51b, reversing
changes made to 79d5946ab6.
2022-05-11 20:03:42 +02:00
Paul Chavard
08caa122dd Revert "Merge pull request #7280 from betagouv/move_type_de_champ_v2"
This reverts commit 08b90b9173, reversing
changes made to bc9a90bd08.
2022-05-11 20:03:33 +02:00
simon lehericey
5d6dd853d4 refactor reorder: add order_place only in children 2022-05-11 16:54:26 +02:00
simon lehericey
df91fd1180 move_type_de_champ new style 2022-05-11 16:54:26 +02:00
Paul Chavard
2e8bc7e1d0 fix(js): polyfill Node.isConnected for IE 2022-05-11 16:23:42 +02:00
Paul Chavard
771a92a5e2 refactor(menu-button): use menu button controller 2022-05-11 16:23:42 +02:00
Paul Chavard
b076ecaf96 feat(a11y): implement accessible menu button 2022-05-11 16:23:42 +02:00
simon lehericey
b6c2aa30f4 reorder the siblings after deletion 2022-05-11 15:59:17 +02:00
simon lehericey
5dd8bbe797 fix remove type de champ 2022-05-11 15:59:17 +02:00
Paul Chavard
10f6378cf0 fix(upload): silence common client errors in sentry 2022-05-11 13:44:50 +02:00
Paul Chavard
142e6c032c cleanup(dossier): remove legacy menu 2022-05-11 11:01:25 +02:00
Paul Chavard
531464fab1 fix(js): bring back js request for now 2022-05-11 09:34:19 +02:00
Paul Chavard
c9b8d43acd feat(autosave): use new autosave controller 2022-05-10 18:10:20 +02:00
Paul Chavard
3fea34732e feat(autosave): add stimulus autosave-status controller 2022-05-10 18:10:20 +02:00
Paul Chavard
adb19a941f feat(autosave): add stimulus autosave controller 2022-05-10 18:10:20 +02:00
Paul Chavard
525eebf600 feat(js): implement auto upload class 2022-05-10 18:10:20 +02:00
Paul Chavard
b29116817b refactor(js): improuve uploader 2022-05-10 18:10:20 +02:00
Paul Chavard
ce58ab98c1 refactor(js): move around stimulus initializers 2022-05-10 18:10:20 +02:00
Paul Chavard
39761f45a0 cleanup(js): remove old autosave/autoupload code 2022-05-10 18:10:20 +02:00
Paul Chavard
3d8980f686 feat(httpRequest): add error body parsing 2022-05-10 18:10:20 +02:00
Paul Chavard
12884e0242 cleanup(js): remove unused utils 2022-05-10 18:10:20 +02:00
Paul Chavard
59c6fd1763 refactor(ts): improuve utils types 2022-05-10 18:10:20 +02:00
Paul Chavard
9b01b2cff9 feat(stimulus): add onGlobal helper 2022-05-10 18:10:20 +02:00
Kara Diaby
513f749e72 layout 2022-05-10 16:16:16 +02:00
Kara Diaby
d187b7e881 model 2022-05-10 16:16:16 +02:00
Kara Diaby
990fc04b03 controller 2022-05-10 16:16:16 +02:00
Martin
bf277d4802 bug(export): expect dossiers_for_export not to include dossiers brouillon
fix(export.dossiers_for_export): add missing visible_by_administration
2022-05-10 16:09:12 +02:00
simon lehericey
d2509e7492 add procedure_revision children_of 2022-05-10 14:52:57 +02:00
Paul Chavard
c5addb4829 fix(turbo): use link_to instead of submit button 2022-05-10 13:39:33 +02:00
Paul Chavard
219fc2f3bc fix(turbo): patch turbo to make link_to work without global turbo enabled 2022-05-10 13:39:33 +02:00
Paul Chavard
83afe1ad8c fix(multiselect): allow to have options with the same label 2022-05-10 13:30:40 +02:00
Pierre de La Morinerie
2bd4599190 views: truncate procedure title in Experts breadcrumbs 2022-05-10 12:55:16 +02:00
Pierre de La Morinerie
3bdbf7bb4c views: align Expert header actions to the right 2022-05-10 12:54:02 +02:00
Pierre de La Morinerie
41cf700c15 spec: fix avis/instruction view spec
Due to a faulty naming convention, the test was not executed.
2022-05-10 12:51:27 +02:00
Martin
75da4d8c8d Revert "migration(fix.data): when a repetable revision_types_de_champ points to a non active revision type de champs, relink it to the actuel revision_type_de_champs pointing to the stable id of its parent.type_de_champ.stable_id"
This reverts commit 19360e7aac.
2022-05-09 18:45:35 +02:00
Martin
19360e7aac migration(fix.data): when a repetable revision_types_de_champ points to a non active revision type de champs, relink it to the actuel revision_type_de_champs pointing to the stable id of its parent.type_de_champ.stable_id 2022-05-09 18:01:02 +02:00
simon lehericey
4ec5b418cb fix create_new_revision 2022-05-06 12:37:59 +02:00
simon lehericey
5040b877d1 remove unused franceconnect.js 2022-05-06 11:50:32 +02:00
Paul Chavard
9e0b3b642f cleanup(sendinblue): remove sendinblue tracking 2022-05-06 11:14:44 +02:00
Paul Chavard
842506f993 refactor(revision): rename revision methods params to reflect usage of stable_id 2022-05-06 11:08:58 +02:00
Paul Chavard
98814c3812 refactor(revision): test for type_de_champ having a unique revision 2022-05-06 11:08:51 +02:00
simon lehericey
ce0a592f3c simplify find_type_de_champ_by_id 2022-05-06 10:34:40 +02:00
Martin
ba7a316f5e fix(Dossier.for_export): instead of iterating champs to build an hash {stable_id: values} ; we iterate on the list of all type de champs, so when there is a type de champ with mutliple values for export, we build the column with the nil value 2022-05-06 09:38:45 +02:00
Kara Diaby
5f6f19871f tests 2022-05-06 09:04:15 +02:00
Kara Diaby
39edea5541 Ajoute dans l'interface usager le contact du service de la démarche en cas de cloture ou suppression 2022-05-05 15:22:34 +02:00
Paul Chavard
dcd9e44ce7 fix(dossier): on dossier update render empty js response 2022-05-05 13:39:24 +02:00
Martin
3737311390 feat(procedure.procedure_expires_when_termine_enabled): enable by default, allow contributor to choose the default settings of this flag using an env var during migration. ie: DEFAULT_PROCEDURE_EXPIRES_WHEN_TERMINE_ENABLED=true|false
feat(administrateurs/procedures#show): warning/alert when procedure_expires_when_termine_enabled is not true on current procedure

feat(administrateur/procedure#update): after an update redirect to procedure show: suggested by: https://ux.stackexchange.com/questions/55291/after-updating-form-should-redirect-back-to-form-itself-or-to-the-show-page-or-b and confirmed by Olivier

clean(Flipper.archive_zip_globale): no more in use, so remove all occurences

Update app/views/administrateurs/procedures/_suggest_expires_when_termine.html.haml

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

Update app/views/administrateurs/procedures/_suggest_expires_when_termine.html.haml

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

Update app/views/administrateurs/procedures/_suggest_expires_when_termine.html.haml

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

Update spec/views/administrateurs/procedures/show.html.haml_spec.rb

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

fix(review): typo, why ena?, who knows

fix(env.example.optional): add missing DEFAULT_PROCEDURE_EXPIRES_WHEN_TERMINE_ENABLED
2022-05-05 13:07:11 +02:00
Paul Chavard
fa1bc0b88b fix(dossier): annotations privées form 2022-05-05 12:42:58 +02:00
Paul Chavard
4307445999 fix(js): prevent old Edge from crashing 2022-05-05 09:35:53 +02:00
Pierre de La Morinerie
63b1ff9e2d dossiers: fix wrong use of created_at in the deposit receipt 2022-05-04 17:41:21 +02:00
Pierre de La Morinerie
982a209e7d dossiers: use the depose_at date in the deposit recepit
A dossier has several submission dates:
- `depose_at` is the first date at which the dossier was submitted
- `en_construction_at` is the last date at which the dossier was
  submitted OR reverted from `en_instruction` to `en_construction`.

For now we prefer to display the earliest date:
- it gives more rights to the user,
- en_construction_at means the administration can reset at will the date
  printed on deposit receipts (by moving the dossier `en_instruction`
  and then back), which we don't want.
2022-05-04 17:41:21 +02:00
Pierre de La Morinerie
0ffdbbdc6d dossiers: display the procedure libelle properly on several lines
When the procedure libelle overflows on several lines, it should
push the next fields down (instead of overlapping them).
2022-05-04 17:34:13 +02:00
Pierre de La Morinerie
ff032fc5a7 dossiers: display a text box near an "Other" list field 2022-05-04 17:34:13 +02:00
Paul Chavard
1a9f2f0eef refactor(champ): improuve repetition champ 2022-05-04 17:18:52 +02:00
Pierre de La Morinerie
59d8479b85 dossiers: fix dossier_vide with drop_down_list
Previously a drop-down list with an ["Autre", "__other__"] value crashed
the PDF generation.
2022-05-04 16:34:37 +02:00
Pierre de La Morinerie
0e60830102 specs: add a test for dossier_vide.pdf.prawn 2022-05-04 16:34:37 +02:00
Paul Chavard
5f1fda1adc fix(graphql): stop crashing on dossiers with deleted users 2022-05-04 16:16:47 +02:00
Pierre de La Morinerie
7109e2d4e6 views: add a link to the deposit receipt 2022-05-04 16:09:52 +02:00
Pierre de La Morinerie
9bc5364ca2 app: add controller and view to generate a deposit receipt 2022-05-04 16:09:52 +02:00
Paul Chavard
4523c0590c fix(dossier): champs repetable in champs private 2022-05-04 15:57:25 +02:00
Martin
636f887698 fix(user.merge): when merging old_user having an instructeur with dossier_operation_logs containing the old_user.instructeur_id, should be able to merge to new instructeur
feat(user.merge): when user have an instructeur having dossier_opertions_logs containing instructeur_id
2022-05-04 14:24:11 +02:00
Paul Chavard
f8e3397f82 refactor(turbo): password complexity check use turbo 2022-05-04 14:11:43 +02:00
Paul Chavard
2db892d876 refactor(turbo): champ siret and dossier_link use turbo 2022-05-04 14:11:43 +02:00
Paul Chavard
1c2bd5543f refactor(turbo): champ carte use turbo 2022-05-04 14:11:43 +02:00
Paul Chavard
1500a1cf28 feat(turbo): add enable and disable mutations 2022-05-04 14:11:43 +02:00
Paul Chavard
cfb83bbdda feat(turbo): add on method to stimulus application controller 2022-05-04 14:11:43 +02:00
simon lehericey
1ef8d99e6e simplify a bit more 2022-05-04 13:16:12 +02:00
simon lehericey
37e01ea399 re introduce revision_types_de_champ 2022-05-04 13:16:12 +02:00
Martin
a0df24b631 clean(SMTP.balancing): remove some env vars 2022-05-03 16:46:35 +02:00
Paul Chavard
9b12178bbd refactor(champ): simplify piece justificative champ 2022-05-03 16:14:54 +02:00
Paul Chavard
2d1370d123 refactor(champ): simplify repetition champ 2022-05-03 16:14:54 +02:00
Paul Chavard
39ecc669b1 refactor(champ): simplify dossier link champ 2022-05-03 16:14:54 +02:00
Paul Chavard
4604be0796 refactor(champ): simplify carte champ 2022-05-03 16:14:54 +02:00
Paul Chavard
3384b535c5 refactor(champ): simplify siret champ 2022-05-03 16:14:54 +02:00
Paul Chavard
edba12705b feat(controller): add read_param_value helper 2022-05-03 16:14:54 +02:00
Paul Chavard
cfeef3bf5f refactor(champ): fix drop_down_list champ 2022-05-03 16:14:54 +02:00
Paul Chavard
b94bc8fd8a refactor(dossier): use champ id as champ attributes key 2022-05-03 16:14:54 +02:00
Paul Chavard
af363b721b refactor(js): use httpRequest instead of getJSON and ajax 2022-05-03 15:09:30 +02:00
Paul Chavard
229eb1a775 feat(js): add httpRequest 2022-05-03 15:09:30 +02:00
Paul Chavard
3f4004b188 fix(js): add DocumentFragment.children polyfill for IE 2022-05-03 12:38:17 +02:00
simon lehericey
da97ad1858 destroy all admins 2022-05-03 12:14:02 +02:00
simon lehericey
a2947751e2 add scope to query old admins 2022-05-03 12:14:02 +02:00
simon lehericey
ea361643be types_de_champ -> types_de_champs_public 2022-05-03 11:05:24 +02:00
simon lehericey
4b9ffe026b fix(manager): brouillon is not deleted 2022-05-03 07:51:23 +02:00
Paul Chavard
a16d07ef7c fix(js): fix IE 11 fucked template element support 2022-04-29 18:24:53 +02:00
Paul Chavard
1890c05974 fix(js): more polyfills for IE 2022-04-29 14:11:00 +02:00
simon lehericey
663f419404 fix typo in rgpd text 2022-04-29 11:57:38 +02:00
Christophe Robillard
5b0ce2bc6a ameliore la decouvrabilité du code
ajoute dans le pied de page le lien sur le repo github
2022-04-28 17:16:34 +02:00
simon lehericey
4090d1e900 Ajoute un lien dans le footer 2022-04-28 15:57:01 +02:00
simon lehericey
14f841cdf2 show dolist logs to manager 2022-04-28 15:48:54 +02:00
Paul Chavard
67ba8acff7 fix(react): too soon for strict mode 2022-04-28 14:45:35 +02:00
Martin
552208a03c fix(commencer/test): with procedure without service nor organisation, no more crashes
Update app/controllers/users/commencer_controller.rb

Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-04-28 14:19:55 +02:00
Martin
2529773515 bug(commencer/test): with procedure without service nor organisation, it crashes 2022-04-28 14:19:55 +02:00
Paul Chavard
1e928a277d chore(devise): drop unmaintained dependencie 2022-04-28 12:28:33 +02:00
Paul Chavard
26df3aaa58 refactor(dossier): remove preview special case 2022-04-28 12:20:41 +02:00
Paul Chavard
669b3ce5c3 refactor(siret): remove preview special case 2022-04-28 12:20:41 +02:00
Paul Chavard
5c77bc139a refactor(carto): remove preview special case 2022-04-28 12:20:41 +02:00
Paul Chavard
68ca9efba0 feat(dossier): use persisted dossier for preview 2022-04-28 12:20:41 +02:00
Paul Chavard
27f9a820cc feat(dossier): add preview flag 2022-04-28 11:52:38 +02:00
Paul Chavard
20a78f08c9 fix(js): add turbo and stimulus polyfills 2022-04-28 11:14:26 +02:00
Martin
3c0e3f725d feat(administrateur/procedures#publication): show dubious to administrateur
Update app/views/administrateurs/procedures/publication.html.haml

Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-04-27 15:13:22 +02:00
Martin
be090a1bec feat(administrateur/procedure#create): allow admin to add a lien to the DPO, allow user to consult link to dpo. enhance spec on _procedure_footer.html
Update spec/views/users/_procedure_footer.html.haml_spec.rb

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2022-04-27 15:09:02 +02:00
Martin
55d77e33ed feat(ApiEntreprise.recipient): always use SIRET of dinum
Update config/env.example

Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-04-27 14:30:50 +02:00
Paul Chavard
d2ab8b5593 feat(message): replace message partial with MessageComponent 2022-04-26 14:54:58 +02:00
Paul Chavard
91879b89ce fix(commentaire): unified destroy commentaire 2022-04-26 14:54:58 +02:00
Paul Chavard
009c44cc20 refactor(avis): remove unused controller action 2022-04-26 14:54:58 +02:00
Paul Chavard
86df16ebda feat(view_components): add view_components 2022-04-26 14:54:58 +02:00
Paul Chavard
02f977fd8d refactor(champs): refactor champs components to use typescript 2022-04-26 13:56:26 +02:00
Kara Diaby
b1ab0c6ed2 Ajoute un avertissement sur les champs de type Titre Identité 2022-04-26 08:33:30 +02:00
Martin
89d192bcfe feat(adminstrateurs#dossier_vide): add button to /dossier_vide so administrateur can have a pdf version of their form to send it in regards to RGPD 2022-04-25 15:00:48 +02:00
Martin
be43696650 feat(users/procedure/*): add link to texte_juridique or deliberation 2022-04-25 14:31:33 +02:00
simon lehericey
fe6f211cc9 ignore instructeur_id in dol 2022-04-25 14:07:23 +02:00
Paul Chavard
bca97268a8 fix(upload): errorFromDirectUploadMessage should take Error or string 2022-04-24 11:47:17 +02:00
Paul Chavard
23b60c87e9 fix(procedure): cloned procedure should not have auto_archive_on
fix #7149
2022-04-22 10:48:31 +02:00
Paul Chavard
62dca1c7b0 refactor(js): remove ds:page:update event 2022-04-22 10:24:39 +02:00
Paul Chavard
b585808924 refactor(js): add geo-area stimulus controller 2022-04-22 09:40:52 +02:00
Paul Chavard
22aefbaa4a refactor(js): remove geo-area event handlers 2022-04-22 09:40:17 +02:00
Paul Chavard
0dac59bffc refactor(js): use DOMContentLoaded instead of ds:page:update 2022-04-22 09:40:17 +02:00
Martin
79c473ecf9 fix(ProcedureExportService.to_zip): prebatch dossiers only for to_csv,to_xlsx,to_ods. also add spec around to_zip 2022-04-22 05:13:51 +02:00
Paul Chavard
cad63391db refactor(turbo): use turbo in procedure administrateurs controller 2022-04-21 19:41:27 +02:00
Paul Chavard
8d0383c6f8 refactor(turbo): use turbo in root controller 2022-04-21 19:41:27 +02:00
Paul Chavard
0bd71ad51a feat(turbo): add turbo event helpers 2022-04-21 19:41:27 +02:00
Paul Chavard
4624fa141f fix(turbo): use a safer render method 2022-04-21 19:41:27 +02:00
Paul Chavard
55d6b787c8 feat(js): add turbo 2022-04-21 19:41:27 +02:00
mfo
9e8da8dc06
Merge branch 'main' into US/sentry#3144617191 2022-04-21 17:52:08 +02:00
Martin
220db1f30e fix(sentry#3144617191): render filesize to follow archive nicely 2022-04-21 17:41:10 +02:00
Kara Diaby
95bdc4a22a layout 2022-04-21 11:34:40 +02:00
Paul Chavard
572e1dca8e fix(a11y): html lang should reflect locale
fix #7150
2022-04-21 10:28:23 +02:00
Paul Chavard
64c599e208 refactor(stimulus): initiate react components via stimulus 2022-04-20 14:08:47 +02:00
simon lehericey
9fd5219751 fix sort in procedure presentation 2022-04-15 12:21:39 +02:00
Paul Chavard
c96adbf2d2 chore(chartkick): upgrade to 4.1 and use built-in lazy loading 2022-04-15 12:12:18 +02:00
Paul Chavard
22f23c58c7 fix(dossiers): fix columns order 2022-04-14 17:04:42 +02:00
simon lehericey
23707d6033 ignore file not found error when cloning procedure 2022-04-14 13:46:16 +02:00
Paul Chavard
c671f25d34 fix(dossier): do not show unwanted closed procedure banners 2022-04-14 12:22:37 +02:00
Paul Chavard
83a8d87e95 i18n(procedure_presentation): translate fields 2022-04-14 11:38:01 +02:00
Kara Diaby
3f2ef985c7 layout 2022-04-14 10:22:37 +02:00
Kara Diaby
900b8f7be6 controller 2022-04-14 10:22:37 +02:00
Paul Chavard
433c01b1e6 Revert "Merge pull request #7137 from betagouv/faster_pdf"
This reverts commit 9da44bd913, reversing
changes made to ebac71796c.
2022-04-12 19:22:07 +02:00
Paul Chavard
38a6b2db63 fix(graphql): fix AddressTypeType 2022-04-12 19:12:50 +02:00
Paul Chavard
caace89d98 refactor(export): use predefined helpers 2022-04-12 14:54:54 +02:00
Paul Chavard
d14e132305 feat(export): add zip format support 2022-04-12 14:54:54 +02:00
Paul Chavard
2832ea0286 refactor(export): return blob from to_* methods 2022-04-12 14:54:54 +02:00
Paul Chavard
87e5e6faeb refactor(export): add procedure attr to export service 2022-04-12 14:54:54 +02:00
Paul Chavard
561b83781e refactor(archive): remove dependencie on archive from ArchiveUploader 2022-04-12 14:54:54 +02:00
Paul Chavard
cf8c084a59 refactor: extract download_and_zip in to a shared service 2022-04-12 14:54:54 +02:00
Paul Chavard
a194616772 refactor(export): remove unnecessary to_sym 2022-04-12 14:54:54 +02:00
Paul Chavard
b6bb9552e6 fix(graphql): detect custom champs in fragment definitions 2022-04-12 14:24:15 +02:00
simon lehericey
53de567b59 revert fix(user.merge) : waiting for ignore column instructeur_id in ruby code 2022-04-12 14:02:20 +02:00
simon lehericey
4bbe2db668 only export safe pj 2022-04-12 12:05:08 +02:00
simon lehericey
af27af7900 ! instances : prawn does not like svg
win 10% on pdf generation
2022-04-12 11:56:56 +02:00
simon lehericey
ba688a477a small refactor 2022-04-12 11:56:56 +02:00
simon lehericey
2269585188 preload all tdc once for all 2022-04-12 11:56:56 +02:00
simon lehericey
4c0b157383 includes stuff 2022-04-12 11:56:56 +02:00
simon lehericey
2c195e3ce2 extract procedure 2022-04-12 11:56:56 +02:00
simon lehericey
4d3412daf5 batch it 2022-04-12 11:56:56 +02:00
Martin
e83f5fe475 fix(user.merge): when merging old_user having an instructeur with dossier_operation_logs containing the old_user.instructeur_id, should be able to merge to new instructeur
feat(user.merge): when user have an instructeur having dossier_opertions_logs containing instructeur_id
2022-04-12 11:28:33 +02:00
simon lehericey
1dcfb2509f check nonce 2022-04-11 14:40:02 +02:00
simon lehericey
9938586d96 check state 2022-04-11 13:56:27 +02:00
Paul Chavard
2ce9c842a1 refactor(type_de_champs): use typescript in type de champs editor 2022-04-08 14:34:27 +02:00
Paul Chavard
90dd5bc9c5 fix(dossiers): dossier extend_conservation actually works 2022-04-08 13:40:28 +02:00
simon lehericey
e2a54e3ee3 extract bill_ids per batch, and catch them all afterwards to avoid duplicate 2022-04-07 12:06:13 +02:00
simon lehericey
f24f6ee105 extract operation_logs_and_signature from pjs_for_dossiers 2022-04-07 12:06:13 +02:00
simon lehericey
c27d9a01f2 fetch documents by batch to avoid huge memory load 2022-04-07 12:06:13 +02:00
simon lehericey
e1afb35ca2 fetch pjs_for_dossier by dossiers
put all bills in bills folder
2022-04-07 12:06:13 +02:00
simon lehericey
11aedb2dc8 fetch pjs_for_commentaires by dossiers 2022-04-07 12:06:13 +02:00
simon lehericey
5631141a46 fetch pjs_for_champ by dossiers 2022-04-07 12:06:13 +02:00
simon lehericey
34b0578d70 pj_and_path only take dossier id 2022-04-07 12:06:13 +02:00
simon lehericey
7ac1288905 pj_service take a dossier collection ! 2022-04-07 12:06:13 +02:00
simon lehericey
51a6145d96 put dossier_pdf apart 2022-04-07 12:06:13 +02:00
simon lehericey
d5241381eb extract pj_path method 2022-04-07 12:06:13 +02:00
simon lehericey
97443e2ff6 inline create_list_from_dossier into caller 2022-04-07 12:06:13 +02:00
simon lehericey
51b71aaa01 always call create_list_from_dossiers 2022-04-07 12:06:13 +02:00
simon lehericey
cf79e340ef remove unused method 2022-04-07 12:06:13 +02:00
simon lehericey
3f7693ae13 style remove blank line 2022-04-07 12:06:13 +02:00
Martin
9bac5c65ba feat(instructeurs/dossier#create_avis): only followed dossier receive notifications, so when an instructeur ask for an avis, he follows the dossier
Update app/controllers/concerns/create_avis_concern.rb

Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>

Update spec/controllers/instructeurs/dossiers_controller_spec.rb

Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-04-07 09:05:23 +02:00
Paul Chavard
5bfcae1c0f fix(dossiers): show correct count on download button 2022-04-06 17:08:38 +02:00
Paul Chavard
23e2429d0d fix(export): make count argument optional 2022-04-06 17:08:38 +02:00
Paul Chavard
9904dabffe feat(procedure_presentation): pass filters as serialized snapshot 2022-04-06 17:08:38 +02:00
Paul Chavard
e82dc9c8b5 feat(exports): add ability to create exports with filters 2022-04-06 17:08:38 +02:00
Paul Chavard
be1a2f916d feat(exports): add statut and procedure_presentation to exports 2022-04-06 17:08:38 +02:00
Paul Chavard
ec3ed049ef refactor(procedure_presentation): expose filtered_sorted_ids method 2022-04-05 15:50:53 +02:00
Martin
9e8807d12a feat(ArchiveUploader.upload_with_chunking_wrapper): retry once on error 2022-04-05 15:11:21 +02:00
Martin
4890530428 fix(Dossier.processed_in_month): recast date to datetime in scope 2022-04-05 13:54:36 +02:00
Martin
9484c4cdf4 fix(Dossier.processed_in_month): using PG between operator with a date does not play nicely when it is compared to DateTime in postgres. meaning given a Date as 2022/03/31, when compared with a DateTime in postgres, the casting of 2022/03/31 to Datetime becomes 2022/03/31 00:00. So we skiped all dossiers from last date in month 2022-04-05 13:54:36 +02:00
Martin
c1884f231c Revert "Merge pull request #7105 from betagouv/US/fix-dossier.processed_in_month"
This reverts commit a0e144b9a7, reversing
changes made to 49848bd150.
2022-04-05 13:39:37 +02:00
Martin
c07e0fc13e fix(Dossier.processed_in_month): ensure proper usage via method sig instead of defensive programming style 2022-04-05 12:14:07 +02:00
Martin
d6d9db9721 tech(Sorbet): prepare usage of sorbet to avoid defensive programming style [casting date to datetime] 2022-04-05 12:14:07 +02:00
Martin
ec78340c06 fix(Dossier.processed_in_month): recast date to datetime in scope 2022-04-05 12:14:07 +02:00
Martin
ab777a790c fix(Dossier.processed_in_month): using PG between operator with a date does not play nicely when it is compared to DateTime in postgres. meaning given a Date as 2022/03/31, when compared with a DateTime in postgres, the casting of 2022/03/31 to Datetime becomes 2022/03/31 00:00. So we skiped all dossiers from last date in month 2022-04-05 12:14:07 +02:00
simon lehericey
bd0b88a410 move create_list_of_attachments 2022-04-05 11:55:14 +02:00
simon lehericey
1f98f75ccc remove unused method 2022-04-05 11:55:14 +02:00
simon lehericey
f2fea1f882 faster pjs_for_dossier 2022-04-05 11:55:14 +02:00
simon lehericey
62e0553a4e faster operation logs 2022-04-05 11:55:14 +02:00
simon lehericey
437e871f79 extract operation_logs_and_signatures method 2022-04-05 11:55:14 +02:00
Paul Chavard
0daae815d8 refactor(dossier): use by_statut 2022-04-05 09:42:23 +02:00
Paul Chavard
6da54936b7 refactor(procedure_presentation): use internal reference to instructeur 2022-04-05 09:42:23 +02:00
Paul Chavard
706c648be8 refactor(procedure): remove unused code 2022-04-05 09:42:23 +02:00
simon lehericey
57f9e5bac3 always allow dossier pjs download (-9 queries) 2022-04-04 17:26:49 +02:00
Martin
ad4e5a8bc6 fix(instructeurs/procedures#index): counter not in sync 2022-04-04 16:28:25 +02:00
Martin
e765ef16fd fix(parallel_download_queue): appending content to file in those circumstances does not lead to good result. for now write response.body directly to the attachment [may lead to RAM overhead in case of big file... but i do not have another quick fix idea] 2022-04-01 18:22:28 +02:00
simon lehericey
dca6e65f8d speed up commentaires 2022-04-01 15:51:43 +02:00
simon lehericey
0555ff68cd speed up pjs_for_champs * 10 2022-04-01 15:51:41 +02:00
Kara Diaby
10aa9fa4be layout 2022-03-31 15:48:18 +02:00
Kara Diaby
e06215281a modify commentaire model 2022-03-31 15:48:17 +02:00
Kara Diaby
ec07ced968 modify avis controller 2022-03-31 15:48:17 +02:00
Martin
dbcf21a555 feat(archive): extract archive status management within job to simplify the main service as well as to isolate this part for a merge with exports csv/xslx [maybe?]
Update app/dashboards/archive_dashboard.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-03-31 13:35:49 +02:00
Paul Chavard
cd4d7b5d36 refactor(react): useDeferredValue 2022-03-31 12:39:17 +02:00
Paul Chavard
4a7324951b refactor(react): useId 2022-03-31 12:39:17 +02:00
Paul Chavard
6df18e1234 fix(dossier): only expire dossiers visible by user or administration 2022-03-31 12:17:24 +02:00
Paul Chavard
5bafc91220 fix(graphql): hide deleted dossiers 2022-03-31 12:17:24 +02:00
Paul Chavard
c2812a7633 fix(api): hide deleted dossiers 2022-03-31 12:17:24 +02:00
Paul Chavard
a171ebb772 fix(dossiers): exclude deleted dossiers from notifications 2022-03-31 12:17:24 +02:00
Paul Chavard
44c64669e9 Revert "Merge pull request #6787 from tchak/use-vite"
This reverts commit 5d572727b5, reversing
changes made to 43be4482ee.
2022-03-31 12:07:52 +02:00
Kara Diaby
4e4a70e1f8 Fixe la typo lorsqu'un expert veut envoyer un message 2022-03-30 16:55:37 +02:00
Martin
ab2caaa5f7 fix(ProcedureArchiveService.zip_root_folder): should take archive instance otherwise when we generate many archive for the same procedure, errors may occures 2022-03-30 16:29:54 +02:00
Martin
ab0a172488 feat(Archive.prepare_broader_reach): activate by default the archive button in the export dropdown. add a call to action to contact our support to enable the feature. increase estimated file size limit up to 100.gigabytes 2022-03-30 16:21:07 +02:00
Martin
7ec1021e00 feat(Archive.prepare_broader_reach): activate by default the archive button in the export dropdown. add a call to action to contact our support to enable the feature. increase estimated file size limit up to 100.gigabytes 2022-03-30 16:21:07 +02:00
Paul Chavard
187e84a010 feat(assets): use vitejs to build javascript 2022-03-29 16:27:08 +02:00
Pierre de La Morinerie
017625207e db: add constraints to role tables 2022-03-29 14:52:38 +02:00
Kara Diaby
b08011cff7 layout 2022-03-29 12:30:52 +02:00
Kara Diaby
217793c5c8 modify model 2022-03-29 12:30:52 +02:00
Pierre de La Morinerie
9dcd92a678 db: add not-null constraints to AdministrateursInstructeur 2022-03-22 13:32:02 +01:00
Paul Chavard
af166f5520 fix(carto): render GeoJSON layers after map style changes 2022-03-22 09:26:11 +01:00
Paul Chavard
7aacb7565c fix(dossiers): mark as read dossier on update_annotations 2022-03-22 09:19:24 +01:00
Pierre de La Morinerie
fbe0410702 models: fix a typo in a ProcedurePresentation's comment 2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
6849a73aec models: ignore deprecated User columns 2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
31bd05f835 models: inverse the direction of the User role associations 2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
d4da6502ba models: remove double-write callback on User 2022-03-22 07:58:44 +01:00
Martin
98c1fb8abc feat(archive): drop old feature 2022-03-18 14:26:09 +01:00
simon lehericey
31d52d2483 do not open all fd at once 2022-03-17 22:44:53 +01:00
Kara Diaby
8bcdf59778 change commentaire model 2022-03-17 13:57:49 +01:00
Kara Diaby
eda5f75ec3 modify dossier model 2022-03-17 13:57:49 +01:00
Paul Chavard
d2e9cb5253 fix(map): remove IGN token 2022-03-17 11:55:20 +01:00
Paul Chavard
31da6178cc refactor(maplibre): improuve type imports 2022-03-17 11:55:20 +01:00
Paul Chavard
c530399eac feat(procedure): display revisions diffs 2022-03-17 10:26:38 +01:00
Paul Chavard
6d69e153f3 fix(procedure): use non-breaking spaces 2022-03-17 10:26:38 +01:00
Paul Chavard
0cb34028d2 fix(procedure): use size instead of count 2022-03-17 10:26:38 +01:00
Martin
5739150f15 feat(service/archive_uploader): add an archive uploader class to upload files thru a custom script which handle file encryption of massive file (bigger than 4Go)
Update doc/object-storange-and-data-encryption.md

Co-authored-by: LeSim <mail@simon.lehericey.net>

Update app/services/archive_uploader.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

Update doc/object-storange-and-data-encryption.md

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

clean(doc): align document file name and document h1

clean(review): refactore based on various comments

clean(review): refactore based on various comments
2022-03-16 14:56:21 +01:00
Pierre de La Morinerie
ae3e360139 models: double-write to the newly created foreign keys
This code is only used to handle a live system creating new
Administrateurs, Instructeurs or Experts before the migration to the new
foreign keys.
2022-03-15 15:57:22 +01:00
Pierre de La Morinerie
48ea53b90d db: add foreign keys to Administrateur, Instructeur and Expert 2022-03-15 15:15:51 +01:00
Pierre de La Morinerie
be834ba58d models: reload old_user roles before destroying it
Otherwise ActiveRecord believes that old_user still has roles (although
they have been migrated to the new user), and attempts to delete them.
2022-03-15 15:13:45 +01:00
Pierre de La Morinerie
2cac7d96be models: fix procedure_revision comments indentation 2022-03-15 15:13:45 +01:00
simon lehericey
44f2d93277 quick fix of sections in preview 2022-03-15 10:54:39 +01:00
Paul Chavard
77c2187747 fix(instructeur): avoid n+1 in instructeur_dossier#show and user_dossier#show 2022-03-15 09:57:54 +01:00
Paul Chavard
ec2f2dc78c feat(graphql): expose more dossier informations 2022-03-14 15:58:02 +01:00
Paul Chavard
0695ea322a refactor(instructeur): improuve dossiers list view 2022-03-11 14:06:34 +01:00
Paul Chavard
a50d07400e refactor(instructeur): cleanup destroy / restore routes 2022-03-11 14:06:34 +01:00
Paul Chavard
78bf1147d0 refactor(instructeur): use better fallback location 2022-03-11 13:55:36 +01:00
Paul Chavard
c60a8970f1 perf(dossier): memoize champ.sections on dossier 2022-03-11 00:15:53 +01:00
François Vantomme
d5cd0101c8 feat(footer): customize using custom views & locales 2022-03-10 17:31:20 +01:00
Paul Chavard
d3ceba8955 feat(manager): display hidden_by_user_at and hidden_by_administration_at in manager views 2022-03-10 14:29:40 +01:00
Paul Chavard
54b559364a feat(dossier): replace discarded with visible_by_administration 2022-03-10 14:29:40 +01:00
Paul Chavard
59b0f3961d refactor(dossier): improuve dossiers_count_summary 2022-03-10 14:29:40 +01:00
Pierre de La Morinerie
3a16235868 db: Add a delete_orphans db helper 2022-03-08 14:47:43 +01:00
Pierre de La Morinerie
a645c5781d models: delete AdministrateursProcedure when destroying Procedure 2022-03-08 09:20:34 +01:00
mfo
62351153a1
Merge branch 'main' into patch-1 2022-03-03 17:01:16 +01:00
Benoît Bernier
8ee6c5fe1b
Typo correction 2022-03-03 16:48:26 +01:00
Benoît Bernier
02661b5ec7
Typo correction 2022-03-03 16:46:02 +01:00
simon lehericey
a01e523f08 more compression 2022-03-03 09:30:15 +01:00
simon lehericey
ebd4d6a067 update FC/AG images 2022-03-03 09:30:15 +01:00
Paul Chavard
91caef0bfe fix(dossier): ensure submitted dossiers always have groupe instructeur 2022-03-02 16:57:12 +00:00
Paul Chavard
ac6e219074 feat(administrateur): dossiers count should only include relevant dossiers 2022-03-02 15:37:42 +00:00
Pierre de La Morinerie
087e438eb6 models: delete AdministrateursInstructeur when destroying Instructeur
By default, `has_and_belongs_to_many` properly deletes the record in
the join table.

However, as the association is declared manually with a
`has_many / through`, it doesn't delete the joined record automatically.

As we also lack a foreign-key contraint on the join table, that means
a dangling record remains in the join table.

To fix this, let's declare it a proper `has_and_belongs_to_many`
association, which will let the join record be deleted automatically
on destroy.
2022-03-02 11:26:53 +01:00
Pierre de La Morinerie
e32c9a9f94 models: don't attempt to format invalid phone numbers
This is a defensive-programming measure, because formatting an
invalid phone number may truncate some leading numbers.
2022-03-02 09:57:03 +00:00
Pierre de La Morinerie
f35d18cd5c models: stop truncating DROM phone numbers
Fix #6996
2022-03-02 09:57:03 +00:00
Pierre de La Morinerie
5150e33212 models: ensure DROM phone numbers are valid
They were accepted before, because they were 'possible' – but now
they are explicitely considered as valid.
2022-03-02 09:57:03 +00:00
Paul Chavard
b8a22ae8b2 fix(multi-select): fix labels on multi select component 2022-03-02 09:48:54 +00:00
Pierre de La Morinerie
71e1b6c973 models: delete AdministrateursProcedure when destroying Administrateur
By default, `has_and_belongs_to_many` properly deletes the record in
the join table.

However, as the association is declared manually with a
`has_many / through`, it doesn't delete the joined record automatically.

As we also lack a foreign-key contraint on the join table, that means
a dangling record remains in the join table.

To fix this, let's declare it a proper `has_and_belongs_to_many`
association, which will let the join record be deleted automatically
on destroy.
2022-03-01 16:58:04 +01:00
Paul Chavard
2a42690388 fix(carto): show map UI before loading map styles 2022-03-01 11:08:07 +00:00
mfo
4346775169
Merge branch 'main' into US/fix-avis 2022-02-28 15:08:25 +01:00
Martin
48612028f4 fix(avis_controller#*): missing ACL 2022-02-28 14:24:41 +01:00
Martin
b808b4db00 fix(relation): avoid double association between procedure/procedure_revision/dossier_submitted_message 2022-02-25 14:01:18 +01:00
Martin
85a588541b feat(dossier_submitted_message): add a new system to customize the standby page (/merci) after an user created his folder. this is a basic feature that will come with more options asap
wip(dossier_created_hook): add tile to administrateurs/procedure#show in order to crud dossier_created_hook

refactor(css.utilities): remove merge helpers.scss within utils.scss (same purpose). use scss each for spacer modifiers

refactor(dossiers/_merci.html): extract partial _merci so we can re-use it in preview of dossier_created_hook.

feat(wip): current progress
2022-02-25 14:01:18 +01:00
simon lehericey
83d2e44cd7 do not show connect button on agentconnect page 2022-02-24 12:23:12 +01:00
simon lehericey
0d74a6e45e compact display to show agentconnect to small screen 2022-02-24 12:23:12 +01:00
simon lehericey
28005db9aa do not show left column on small screen 2022-02-24 12:23:12 +01:00
simon lehericey
7883b08a5e apply new style to agent connect 2022-02-24 12:23:12 +01:00
Paul Chavard
7c8e97f084 chore(eslint): ignore type of global react-query queryFn 2022-02-23 15:28:51 +01:00
Paul Chavard
cd2273ba54 chore(eslint): ignore any types in maplibre styles 2022-02-23 15:28:51 +01:00
Paul Chavard
67bfeb261a chore(eslint): fix gon types 2022-02-23 15:28:51 +01:00
Paul Chavard
12ddaa0533 chore(eslint): disable types because we use mapbox plugin with maplibre 2022-02-23 15:28:51 +01:00
Paul Chavard
96e9024694 chore(eslint): disable types on complicated event handlers 2022-02-23 15:28:51 +01:00
Paul Chavard
4e218ba562 chore(eslint): fix react-query cancelable promise type 2022-02-23 15:28:51 +01:00
Paul Chavard
a914950982 chore(eslint): fix getJSON reponse type 2022-02-23 15:28:51 +01:00
Paul Chavard
beafa21796 chore(eslint): fix isNumeric types 2022-02-23 15:28:51 +01:00
Paul Chavard
95b9e47993 chore(eslint): fix flash message root element query 2022-02-23 15:28:51 +01:00
Paul Chavard
68e89af775 chore(eslint): make react-hooks/exhaustive-deps rule as an error 2022-02-23 15:28:51 +01:00
Pierre de La Morinerie
a2028e115b controllers: fix crash on APIEntreprise::API::Error::TimedOut
In that case we want to display the nicely formatted error message to the
user, instead of a "Error 500" page.
2022-02-23 11:36:25 +01:00
Pierre de La Morinerie
56c2e57aee controllers: fix crash on APIEntreprise::API::Error::ServiceUnavailable
In that case we want to display the nicely formatted error message to the
user, instead of a "Error 500" page.
2022-02-23 11:31:41 +01:00
kreushed
1c5b1c0030 Mise a jour du volet gauche de la page session new 2022-02-21 18:21:38 +01:00
kreushed
167cb100b6 Mise a jour du volet droit de la page session new 2022-02-21 18:21:38 +01:00
kreushed
e0bf1ea8cf Mise a jour des images 2022-02-21 17:34:53 +01:00
Paul Chavard
2d396fcfb7 feat(dossier): rebase dossiers en construction and en instruction 2022-02-18 17:08:38 +01:00
Pierre de La Morinerie
c9f1a2b8ea mailer: improve notify_new_answer wording
And also insert the reply email address directly in the email body.
2022-02-16 18:35:30 +01:00
Pierre de La Morinerie
0a1214114e mailer: re-order notify_new_answer template
This avoids an `if !…` condition.
2022-02-16 18:26:45 +01:00
Pierre de La Morinerie
50cafc033f js: fix OperationQueue error handling
When an exception is raised, `response.json()` may have been called
already. In that case, when accessing `response.text()` in the error
handler, a "Response.text: Body has already been
consumed." error will be raised.
2022-02-15 12:23:18 +01:00
Pierre de La Morinerie
90b5e938e3 stats: fix Matomo cookie domains setting
It was exported to the GON as `cookie_domain`, but imported
by the tracking code as `cookieDomain`.
2022-02-15 11:55:24 +01:00
François Vantomme
cc6cb2ea30 feat(matomo): use env variables to set the domain 2022-02-15 09:25:23 +01:00
Jon
97feca6305 feat(ClamAV): add config to disable clamav usage 2022-02-15 09:15:47 +01:00
François Vantomme
ac915494df feat(landing): hide testimonial & users sections 2022-02-15 08:49:23 +01:00
Martin
f84b69276e fix(expiration_banner.message): miss match when procedure was not expirable ; always showing expiration message 2022-02-11 15:49:37 +01:00
Paul Chavard
08030bcdb7 fix(attestation_template): handle attestation changes on procedures without revisions 2022-02-11 11:12:10 +01:00
Paul Chavard
76b1b85fa7 fix(attestation_template): add revision diff support 2022-02-11 08:45:32 +01:00
Paul Chavard
e269077c40 refactor(attestation_template): cleanup relationships 2022-02-11 08:45:32 +01:00
Paul Chavard
88e80e9e32
Merge pull request #6901 from adullact/feature/6859-jwt-token-expiration
[API Entreprise] Ajout du support des jetons JWT sans clé d'expiration
2022-02-10 11:48:39 +01:00
Kara Diaby
a6b2873bfc modify instructeur model 2022-02-09 14:43:36 +01:00
Kara Diaby
0ce61f451e modify dossier model 2022-02-09 14:43:36 +01:00
Paul Chavard
1f661325a5 refactor(carto): use maplibre instead of mapbox 2022-02-09 10:29:00 +01:00
Paul Chavard
ea6aec8b1a chore(webpack): enable typescript 2022-02-09 10:29:00 +01:00
Paul Chavard
12151acb99 Revert "Revert "feat(attestation): revise attestations""
This reverts commit 4e7733e571.
2022-02-08 16:22:59 +01:00
Pierre de La Morinerie
847abca122 config: simplify mailer configuration again
Move everything to initializers, and replace the email settings
interceptor by a BalancerDeliveryMethod.

It has the advantage that it can be configured entirely from the
`config/environment.rb` file, without an extra file to look at.
2022-02-08 12:44:43 +01:00
Pierre de La Morinerie
04cfc8ed9d config: use alternate delivery methods to configure ActionMailer
Previously `SENDINBLUE_BALANCING` was used only when
`SENDINBLUE_ENABLED` was *disabled* (otherwise only SendInBlue was ever
used).

This commit:

- Ensure that `SENDINBLUE_BALANCING` is used only when SendInBlue is
  *enabled* (which is more intuitive).
- Make it easier to add other delivery methods.
2022-02-08 12:44:43 +01:00
Paul Chavard
ad545771b7
Merge pull request #6918 from adullact/feature/6875-improve-landing-contrast
Amélioration du contraste de la landing page administration
2022-02-08 12:30:18 +01:00
LeSim
fe9adf061c
Merge pull request #6916 from adullact/feature/6873-dinum-vars
Déplacer toutes les mentions à la DINUM dans des variables
2022-02-08 11:58:05 +01:00
LeSim
fdc4e5bfbc
Merge pull request #6928 from adullact/feature/6886-watermark-url
Watermark depuis une URL distante
2022-02-08 11:45:26 +01:00
Pierre de La Morinerie
9a3109d960 stylesheet: add space between big number cards elements 2022-02-08 11:43:32 +01:00
Paul Chavard
0268511264 fix(manager): remove admins added for a day
fix #6855
2022-02-08 11:18:44 +01:00
François Vantomme
eba9a87123
refactor(API Entreprise): raise an error on blank token 2022-02-07 15:18:16 +01:00
Jon
88d3a6e4c3
feat: can have remote watemark file 2022-02-04 18:55:16 +01:00
François Vantomme
1f64d45ba4
refactor(footer): improve provided by rendering 2022-02-04 18:30:26 +01:00
François Vantomme
62562ff7a5
feat(landing): improve CTA rendering 2022-02-04 18:26:04 +01:00
François Vantomme
51cfd3d7ad
feat(env): add env variables for the provider data 2022-02-04 18:20:06 +01:00
Kara Diaby
5d10158fa6 Instructeur : ne peut plus cliquer sur un dossier supprimé dans la recherche 2022-02-03 11:17:39 +01:00
Christophe Robillard
b80ec84552 fix a11y-8.9.1 for attachement description error 2022-02-02 19:03:40 +01:00
Christophe Robillard
447612abdf fix a11y-8.9.1
no p tag when Champ text with no value
2022-02-02 19:03:40 +01:00
Pierre de La Morinerie
e6cf07b810 stats: move date formatting out of the Stat model
Before this commit, the monthly dossiers count was serialized into the
Stat record using human-formatted dates, as:

```ruby
s.dossiers_in_the_last_4_months = {
  "octobre 2021"=>409592,
  "novembre 2021"=>497823,
  "décembre 2021"=>38170,
  "janvier 2022"=>0
}
```

Turns out the ordering of keys in a serialized hash is not guaranteed.
After a round-trip to the database, the keys will be wrongly sorted.

Instead we want to save raw Date objects, which will preserve the
ordering. The date formatting can be applied at display-time by the
controller.

Fix #6848
2022-02-02 14:13:53 +01:00
Kara Diaby
81249aa798 Instructeurs : fixe la recherche cassée dans la précédente release 2022-02-02 09:33:28 +01:00
Kara Diaby
8d2f4597fa fix recherche on supprimes_recemment dossiers instructeurs 2022-02-01 16:54:09 +01:00
Pierre de La Morinerie
ca58e60dc0 validators: rename revisions namespace to types_de_champ 2022-02-01 12:37:16 +01:00
Pierre de La Morinerie
d680602c84 models: validate private types_de_champ 2022-02-01 12:37:16 +01:00
Pierre de La Morinerie
e8e37cce15 models: refactor the types_de_champ validators
Context: we want to validate public and private types_de_champ
separately.

Before we validated the whole revision (and then validators themselves
enumerated all champs, public and private).

Now we validate the actual public types_de_champ, which will let us
validate separately the private types_de_champ.
2022-02-01 12:37:16 +01:00
Kara Diaby
82ddad125f layout 2022-01-31 10:03:44 +01:00
Kara Diaby
0f968f4c4e modify models 2022-01-27 17:01:27 +01:00
Kara Diaby
a94568e2ef modify procedures controller 2022-01-27 17:01:09 +01:00
Pierre de La Morinerie
387701e7cb config: add a new SAML_IDP_ENABLED env var
This fixes the app crashing on launch when using the production profile,
because the certificates are not present.
2022-01-26 16:45:50 +01:00
Paul Chavard
4e7733e571 Revert "feat(attestation): revise attestations"
This reverts commit e413872530.
2022-01-25 18:26:34 +01:00
Paul Chavard
a9c4a81ab0 fix dossier mailer templates 2022-01-25 11:46:05 +01:00
Kara Diaby
2eb35065f8 fix dossier deletion mailers 2022-01-25 11:46:05 +01:00
Kara Diaby
0e3532a0b2 Fixe la liste 'tous' des dossiers instructeurs lorsqu'un dossier est en constructino et caché par l'usager 2022-01-24 16:47:47 +01:00
Martin
47fa95a577 feat(MonAvisEmbedValidator): allow mon avis button without title 2022-01-24 15:56:29 +01:00
Paul Chavard
e413872530 feat(attestation): revise attestations 2022-01-19 18:00:37 +01:00
Paul Chavard
c1cb89bb44 fix(revision): changed? conflicts with rails method 2022-01-19 18:00:37 +01:00
Paul Chavard
3d8471e064 fix(dossier): do not send notification on expiration when dossier is already deleted 2022-01-19 17:52:53 +01:00
Pierre de La Morinerie
68fd3aea39 config: rename SOURCE to LOGRAGE_SOURCE 2022-01-19 15:43:44 +01:00
Pierre de La Morinerie
d4fada9f6c config: add MATOMO_HOST environment variable 2022-01-19 15:43:44 +01:00
Kara Diaby
8490826a78 import csv gi available only for published procedures 2022-01-18 13:21:11 +01:00
Paul Chavard
403e71b41f feat(procedure): only purge procedures without dossiers 2022-01-18 11:22:04 +01:00
Paul Chavard
7937e58caa fix(archives): only export dossiers in archive groupe_instructeurs
fix #6793
2022-01-18 11:16:20 +01:00
Paul Chavard
902f7f6cb3 fix(select): improuve multi select onBlure 2022-01-13 17:49:16 +01:00
Paul Chavard
7e81b257b1 test(system): simplify select menu selector 2022-01-13 17:49:16 +01:00
Paul Chavard
7e0d471a08 improuve discarded_expired scopes 2022-01-12 15:49:38 +01:00
Kara Diaby
68b45ae31d modify instructeur procedures controller 2022-01-12 15:49:38 +01:00
Kara Diaby
e2caf5718f modify instructeur model 2022-01-12 15:49:38 +01:00
Kara Diaby
4606650248 layout 2022-01-12 15:49:38 +01:00
Kara Diaby
894b065615 modify dossier model 2022-01-12 15:49:37 +01:00
Kara Diaby
006eac4240 modify controller 2022-01-12 15:49:37 +01:00
Paul Chavard
4a718eae92 fix(select): always show menu on click in the input
fix #6655
2022-01-11 12:11:45 +01:00
Paul Chavard
967699c305 fix(select): improuve no results found message 2022-01-11 12:10:20 +01:00
Pierre de La Morinerie
062f52feb9 Fix ProcedureAdministrateursController#destroy
- The "no remove oneself" rule wasn't actually enforced
- `flash.error` is not a flash category
2022-01-07 15:39:58 +01:00
Martin
383a92bcd9 fix(parallel_download_queue): tophoeus does not like raise from a request handler [crash straight to first frame] 2022-01-07 14:24:37 +01:00
Pierre de La Morinerie
2e1a3c32cb helpers: handle flash[:error]
Errors generated by the `invisible-catcha` gem are reported as
`flash[:error]` (which differs from Rail's usual `flash[:alert]`).

We probably shouldn't use flash[:error] in our own codebase; but we can
handle its use in third-party libraries.
2022-01-06 14:09:31 +01:00
Pierre de La Morinerie
68b112e00a helpers: don't crash on unknown flash level
Errors generated by the `invisible-catcha` gem are reported as
`flash[:error]` (which differs from Rail's usual `flash[:alert]`).

Avoid crashing when the flash level passed to this helper is not known.
2022-01-06 14:09:26 +01:00
Martin
f770ac4907 fix(users/champs/piece_justificative#update): ensure to bump dossier.last_champ_updated_at otherwise instructeurs are not notified when user update their piece_justificative 2022-01-06 13:09:57 +01:00
Martin
a9ffaf942e feat(attestation): can enable/disable attestation no matter the state of the procedure 2022-01-05 18:20:11 +01:00
Paul Chavard
28c1763701 a11y(champs): generalize describedby and update to use new Combo props 2022-01-05 12:33:40 +01:00
Paul Chavard
3513182e7c a11y(select): use new ComboMultiple component 2022-01-05 12:33:40 +01:00
Paul Chavard
d6b6bb0f2a a11y(combobox): add support for describedby and labelledby and improuve external fields handling 2022-01-05 12:33:40 +01:00
Paul Chavard
fc058f721d a11y(champs): expose ids for UI on champ 2022-01-05 12:33:40 +01:00
simon lehericey
00871cfe13 Fix ping controller in dev
For an unknown reason, ActiveRecord::Base.connected? does not work anymore in dev. It returns false negative.

This simple workaround can timeout. The caller has to monitor the response time.
2022-01-05 11:44:32 +01:00
Martin
3eb1c1a421 feat(async_backend): switch to typhoeus 2022-01-04 16:27:23 +01:00
Martin
ce1b189dcd refactor(DownloadManager): extract parallel download in dedicated class. move error management in custom class for procedure exports using the didicated class 2022-01-04 16:17:03 +01:00
Martin
2ed9cccba0 extract download all attachments in dedicated class using async/async-http for better perf 2022-01-04 16:17:03 +01:00
Martin
252eee272b feat(support#create): block with invisible captcha [avoid painful captcha] 2022-01-04 14:49:00 +01:00
Paul Chavard
7f0dde9be4 fix(a11y): add aria to tabs 2022-01-04 09:44:32 +01:00
Paul Chavard
6776a5e05a fix(react): remove register component cache 2022-01-03 19:41:23 +01:00
Kara Diaby
1ca553e088 rename hidden_by_instructeur by hidden_by_administration 2022-01-03 11:51:25 +01:00
Paul Chavard
ad4be3c482 refactor(dossier): handle discard by admin and super admin 2022-01-03 11:51:25 +01:00
Kara Diaby
b408811c5a l'expert ne voit pas les dossiers supprimés par l'instructeur 2022-01-03 11:51:25 +01:00
Kara Diaby
051d7b2028 change dossier method 2021-12-29 17:37:58 +01:00
Kara Diaby
37e991ccb8 User : delete the folder if the instructeur has hide it 2021-12-29 17:37:58 +01:00
Kara Diaby
7d7b847437 Instructeur : delete the folder if the user has hide it 2021-12-29 17:37:58 +01:00
Kara Diaby
22ac853815 add hidden_by_instructeur scope 2021-12-29 17:37:58 +01:00
Kara Diaby
f239d46a45 add hide_dossier method to instructeurs 2021-12-29 17:37:57 +01:00
Kara Diaby
cd95b730e0 add hidden_by_instructeur_at on dossiers 2021-12-29 17:37:57 +01:00
Martin
d0ab1711ff fix(profil_controller#update_email): ensure we are not merging same account
fix(profil_controller#update_email): changing email from current_user.email to current_user.email destroy current user. whoops ☠️'

Update config/locales/en.yml

Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>

Update config/locales/fr.yml

Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>

Update spec/controllers/users/profil_controller_spec.rb

Update config/locales/fr.yml

Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>

Update spec/controllers/users/profil_controller_spec.rb

fix(spec): broken due to typo
2021-12-29 13:36:47 +01:00
Christophe Robillard
6e36fee7b3 superadmin can display list of procedures without zone 2021-12-23 19:18:46 +01:00
Christophe Robillard
90c971567d superadmin can show zone for a procedure 2021-12-23 19:07:42 +01:00
Christophe Robillard
c7b5e57d2a superadmin can get procedures from zone 2021-12-23 19:07:42 +01:00
Christophe Robillard
537e6066d8 add Zones dashboard for superadmin 2021-12-23 19:07:42 +01:00
Christophe Robillard
878f735a80 facilite le remplissage automatique de l'email 2021-12-23 19:00:10 +01:00
Paul Chavard
4e779f445d fix(instructeur): copy notifications settings from previous groupe instructeur
fix #6763
2021-12-23 13:55:25 +01:00
Paul Chavard
2f6cd317bf fix(instructeur): set notification settings on all groupe instruteur for given procedure 2021-12-23 13:55:25 +01:00
Christophe Robillard
eda8aacfe4 fix a11y problem for support page
L'interpolation de `support.index.product.answer_html` produisait des balises p vides, ce qui contrevenait au critère 8.9.1 RGAA (https://www.numerique.gouv.fr/publications/rgaa-accessibilite/methode/criteres/#test-8-9-1)
2021-12-23 10:49:52 +01:00
Pierre de La Morinerie
07230870d3 js: don't track external links
This fixes an issue where, by default, links to private attachments are
reported to Matomo.

This is benign: attachments URLs can be filtered out server-side, and
expire after one hour anyway. But we don't want to ship an insecure
configuration by default.
2021-12-23 09:50:21 +01:00
Paul Chavard
f8d245d2f8 refactor(js): use dynamic import 2021-12-21 17:09:49 +00:00
Paul Chavard
26f65e250c fix(a11y): better contrast on placeholders 2021-12-21 16:50:31 +00:00
Paul Chavard
1c6ff09c5b fix(a11y): stop using th in presentation only tables 2021-12-21 16:50:31 +00:00
Paul Chavard
64104f9fc3 fix(a11y): criteria 11.1 2021-12-21 16:50:31 +00:00
Paul Chavard
fc90dca920 fix(a11y): criteria 10.5 2021-12-21 16:50:31 +00:00
Paul Chavard
e264472481 fix(procedures): fix check to enable procedure delete 2021-12-16 17:28:42 +00:00
Christophe Robillard
882f92268c update zone to procedures 2021-12-16 17:20:06 +01:00
François Vantomme
14e0c68266 feat(api particulier): add MESRI field 2021-12-16 16:45:18 +01:00
François Vantomme
f08081abfe fix(api particulier): remove $def key from pole emploi JSON schema 2021-12-16 16:45:18 +01:00
François Vantomme
115adbec70 style(api particulier): harmonize pole emploi resource name constant 2021-12-16 16:45:17 +01:00
François Vantomme
3d81d4b541 feat(api particulier): add MESRI adapter 2021-12-16 16:45:17 +01:00
François Vantomme
66a9109cd7 feat(api particulier): add MESRI support to sources service 2021-12-16 16:45:17 +01:00
Christophe Robillard
dec1f787a7 edit zone only if zonage feature enabled 2021-12-15 19:37:32 +01:00
Christophe Robillard
829d644c10 group related options in zone select box 2021-12-15 19:37:32 +01:00
simon lehericey
c7f7855f14 avoid phishing 2021-12-15 13:51:49 +01:00
Pierre de La Morinerie
be1ddb59ec views: localize the stats partial
Also rename 'procédure' to 'démarches'.
2021-12-14 15:03:22 +01:00
maatinito
0a31c8bc79 refactor date_trunc queries using groupdate gem 2021-12-14 08:50:11 +01:00
maatinito
573b3d39e2 Fix date_trunc sql queries for timezoned forks 2021-12-14 08:50:09 +01:00
Martin
721d926c0d wip(fix): chdir 2021-12-13 16:37:04 +01:00
mfo
148be50c86 Update app/services/procedure_archive_service.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2021-12-13 16:37:04 +01:00
Martin
f7bc387e44 feat(flipper): use new way of generating archive only on some procedure flipped with new actor :zip_using_binary 2021-12-13 16:37:04 +01:00
simon lehericey
f0b0e7fd9a Switch to usage of zip unix binary to create archive. Also use a dedicated queue for DelayedJob
use dedicated archives queue

As the used disk space will increase, we want a fined grain control

move zip logic in dedicated method

zip

wip

wip

fix(spec): pass spec in green

tech(improvements): avoid File.delete(folder), favor FileUtils.remove_entry_secure which is safer. Also wrap most of code that open file within blocks so it is cleaned when the block ends. Lastly use  attachement.download to avoid big memory pressure [download in chunk, write in chunk] otherwise big file [124>1GO] are loaded in memory. what if we run multiple jobs/download in parallel ?

fix(spec): try to retry with grace

clean(procedure_archive_service_spec.rb): better retry [avoid to rewrite on open file]

lint(things): everything
2021-12-13 16:37:04 +01:00
Martin
4b2e858a1a fix(mon_avis_embed_validator): enhance regexp 2021-12-13 14:49:40 +01:00
maatinito
9df0d98109 Fix csv download of stats
https://medium.com/@mitsun.chieh/activerecord-relation-with-raw-sql-argument-returns-a-warning-exception-raising-8999f1b9898a
2021-12-10 16:48:11 +01:00
Paul Chavard
c7b1dc7f87 fix(bulk_messages): destroy bulk messages with procedures 2021-12-09 16:16:40 +01:00
Pierre de La Morinerie
0e35bc609d notifications: don't preload dossiers on instructeurs
This request currently times out almost every night in production.

It's because although Instructeurs are loaded in batches (default batch
size is 1000), loading all dossiers for 1000 instructeurs is slow.

Turns out the code executed after this query to compute notifications
doesn't even use these dossiers. Indeed it is faster not to preload
them: both the initial query and the total treatment time are shorter.

Here's a quick benchmark made locally (but using production data):

- Before this commit:

	Benchmark.measure { pp Instructeur.includes(assign_to: { procedure: :dossiers }).where(assign_tos: { daily_email_notifications_enabled: true }).limit(100).m
ap(&:email_notification_data) }

Only the initial query : 35s
Total time : 97s

- Without preloading dossiers:

	Benchmark.measure { pp Instructeur.includes(assign_to: :procedure).where(assign_tos: { daily_email_notifications_enabled: true }).limit(100).m
ap(&:email_notification_data) }

Only the initial query : 0.08s (400x faster)
Total time : 29s (3,3x faster)

Plus it doesn't timeout, of course.
2021-12-09 12:10:00 +01:00
Paul Chavard
b67818e425 feat(helpscout): add a tag to messages submited through contact form 2021-12-09 11:47:13 +01:00
Paul Chavard
efd8ddb99e fix(graphql): do not crash if attestation is nil 2021-12-08 13:12:42 +01:00
simon lehericey
3bdf6b63d9 small wording fixes 2021-12-08 11:19:30 +01:00
François Vantomme
6ab8ac0662 feat (api particulier): add Pole emploi field 2021-12-08 10:36:25 +01:00
François Vantomme
4cfc9f7d86 feat(api particulier): add Pole Emploi adapter 2021-12-08 10:36:11 +01:00
François Vantomme
cfb8c184fe perf(api particulier): use filter_map instead of map.compact
https://docs.rubocop.org/rubocop-performance/cops_performance.html#performancemapcompact
2021-12-08 10:36:11 +01:00
François Vantomme
a24cf18c9d feat (api particulier): add Pole Emploi support to sources service 2021-12-08 10:36:11 +01:00
Pierre de La Morinerie
c75dba701d lib: replace URI.encode by CGI.escape
URI.encode was removed in Ruby 3.

Fix an error when adding a phone number to a Helpscout ticket.
2021-12-07 15:25:26 +01:00
Paul Chavard
5615baa985 Revert "Merge pull request #6724 from tchak/fix-approximative_expiration_date"
This reverts commit c95a67d970, reversing
changes made to 032989a400.
2021-12-07 13:32:39 +01:00
Paul Chavard
436569b08c Revert "Merge pull request #6727 from tchak/fix-approximative_expiration_date-again"
This reverts commit 951f974478, reversing
changes made to c95a67d970.
2021-12-07 13:32:27 +01:00
Paul Chavard
48ee830586 fix(dossier): fix approximative_expiration_date again 2021-12-07 13:02:53 +01:00
Paul Chavard
60d4bcc4f7 fix(dossier): fix approximative_expiration_date 2021-12-07 12:47:27 +01:00
François Vantomme
2110ef072c feat(api particulier): add DGFiP field 2021-12-07 11:03:05 +01:00
François Vantomme
f0913edebd feat(api particulier): add DGFiP adapter 2021-12-07 11:03:05 +01:00
François Vantomme
97de7c197d feat(api particulier): add DGFIP support to sources service 2021-12-07 11:03:05 +01:00
Paul Chavard
5e0f8a5816 task(type_de_champ): migrate type_de_champ parent_id 2021-12-06 21:45:54 +01:00
Paul Chavard
09c37435ad feat(procedure_revision_types_de_champ): add parent_id 2021-12-06 21:45:54 +01:00
Paul Chavard
0036933425 feat(graphql): add commune and departement information to API 2021-12-06 21:01:28 +01:00
Paul Chavard
fcbe364ac8 feat(commune): display departement information on commune champ 2021-12-06 21:01:28 +01:00
Paul Chavard
ed2cbdc966 fix(champ): save departement name without code prefix 2021-12-06 20:58:08 +01:00
Paul Chavard
2ba05bfb4f fix(dossier): use depose_at instead of en_construction_at 2021-12-06 15:49:17 +01:00
Martin
a9413f9b12 feat(manager): add procedure_expires_when_termine_enabled to administrate 2021-12-06 07:49:59 +01:00
Martin
2778b42f1a feat(instructeurs/procedures#show): re-align tabs at the start of the container. re-align demander cell content verticaly 2021-12-06 07:20:01 +01:00
Martin
081d5094a9 feat(instructeurs/procedure/dossiers#extend_conservation): add extends duree conservation in action button list, also rewire this action for user [extend by procedure.duree_conservation_dans_ds by default] but force 1.month for instructeur. add new icon for standby based on https://en.wikipedia.org/wiki/Power_symbol 2021-12-06 07:20:01 +01:00
Martin
d8a8d1fdab feat(instructeur/dossier/header/_expiration_banner): split trads and add dedicated expiration banner for instructeur. also enhance wording to include duree conservation + extension_conservation
feat(expiration_banner): enhance wording of expiration

feat(dossiers/expiration_banner): enhance wording regarding expiration to include duree_conservation_dossiers_dans_ds + extension_conservation, also add spec on expiration_banner for instructeur
2021-12-06 07:05:17 +01:00
Martin
22531560d8 feat(tabs.expirants): re-order so it comes before deleted dossiers 2021-12-06 07:05:17 +01:00
Martin
8e9b15aef4 clean(expiration_banner): dedicated to user not shared 2021-12-06 07:05:17 +01:00
Martin
1bb868714c fix(spec/lint/review): lint and fix spec of previous commits, also fix based on tchak feedback 2021-12-06 07:05:17 +01:00
Martin
d87f8b57cc feat(instructeurs/procedures#show): add dossier experiant in procedure#show 2021-12-06 07:05:17 +01:00
Martin
2dfbc70d41 feat(instructeur#dossiers_count_summary): add counter for expirants. ignore brouillon 2021-12-06 07:05:17 +01:00
Martin
ce87878ff0 refactor(traitement.process_expired): move process expired to procedure 2021-12-03 16:32:36 +01:00
Martin
f8a17b2cc4 feat(procedures#index): add dossiers-expirant to instructeur/procedure#index 2021-12-03 16:32:03 +01:00
Christophe Robillard
3265ac2d84 localize zone 2021-12-02 19:24:26 +01:00
Christophe Robillard
9341c787a1 administrateur can add zone to procedure 2021-12-02 19:24:26 +01:00
Christophe Robillard
561f6fb274 add belongs_to zone for procedure 2021-12-02 19:23:05 +01:00
Christophe Robillard
219eaf0d5e add zone model 2021-12-02 19:16:11 +01:00
Pierre de La Morinerie
b7d17b0989 models: validate that no drop-downs are empty on publishing
Disallow publishing a procedure containing drop-downs with no selectable
values.
2021-12-02 09:00:37 +01:00
Pierre de La Morinerie
e219ec33d8 validators: rename no_empty_repetitions to no_empty_repetition 2021-12-02 09:00:37 +01:00
Pierre de La Morinerie
115ca5e24a js: don't create invalid menus by default
When a new "Menu" type de champ is added, it comes pre-filled with a
menu title – and nothing else. Which is confusing, and invalid.

Instead pre-fill the type de champ with actual values (no titles).
2021-12-02 09:00:37 +01:00
Pierre de La Morinerie
d524beee4e app: remove :instructeur_bypass_email_login_token from Flipper 2021-12-02 08:51:52 +01:00
Pierre de La Morinerie
ac07f05771 app: use Instructeur.bypass_email_login_token 2021-12-02 08:51:52 +01:00
Paul Chavard
46e2e34b89 fix(stats): remove super admin stats 2021-12-01 18:10:05 +01:00
Martin
725521c3a1 fix(expiration_banner): only show expirations info when flip is enabled
fix(lint): lint haml

fix(spec): enable flipper and allow procedure to receive flipper check when checking banner presence

fix(doc): add missing documentation on readme regarding system testing with a visual feedback

fix(typo): add missing accent

clean(PR): feedback from Tchak, better to wrap feature check for expirability by procedure within dossier.expirable? helper
2021-11-30 16:05:32 +01:00
Kara Diaby
f1525a798f Avis : display introduction file to experts 2021-11-30 14:27:58 +01:00
Pierre de La Morinerie
28dfc6a1ba manager: save bypass_email_login_token to both column and feature 2021-11-30 13:41:25 +01:00
Pierre de La Morinerie
99c77046d2 models: improve error message for invalid champs
Avoid prepending the message with 'Draft revision '
2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
b86dec8251 views: prevent procedure publication on validation error 2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
9db62178d2 views: display revision errors on the procedure dashboard 2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
52b0fbf9b7 models: validate repetitions on publishing 2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
48133c2595 models: don't save the procedure before the state transition
Otherwise a validation error occurs here instead of on save.
2021-11-30 13:34:41 +01:00
simon lehericey
c4cde500ce fix acsv 2021-11-30 09:42:45 +01:00
simon lehericey
5a0fb6237f 😭 AASM does not support keyword arguments
https://github.com/aasm/aasm/issues/672
2021-11-30 09:42:45 +01:00
Pierre de La Morinerie
184a401182 app: rename new_administrateur to administrateurs 2021-11-30 08:49:38 +01:00
simon lehericey
a0c0520502 avoid redirection to a deleted user 2021-11-29 15:27:17 +01:00
Kara Diaby
23677956f3 modify controller 2021-11-29 11:34:31 +01:00
Martin
cf82c030e8 hotfix(scoping): try to avoid requesting archived: false when using termine scope, use state_termine instead 2021-11-26 15:09:53 +01:00
Martin
970e43efb8 feat(stats#index): update Stat model to also query DossierDeleted in stats computation
tech(question): discard_and_keep_track! ; are we really keeping track with default_scope { kept } ?

feat(stats): add DeletedDossier in Stat computations

Revert "tech(question): discard_and_keep_track! ; are we really keeping track with default_scope { kept } ?"

This reverts commit d1155b7eeaaf1a9f80189e59667e109541fcb089.

feat(stats): support deleted_dossiers for last_four_months_hash and cumulative_hash. extract sanitize query & merge hashes in methdos

clean(rubocop): lint with rubocop

Update db/migrate/20211126080118_add_index_to_deleted_at_to_deleted_dossiers.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

fix(rubocop): avoid uneeded allocation

fix(migration): add concurrent index with expected synthax

fix(brakeman): add ignore message since group date_trunc evaluation is used by only ourself
2021-11-26 13:29:40 +01:00
Kara Diaby
2103f09be1 layout 2021-11-26 09:45:13 +01:00
Kara Diaby
24ba7b6633 modify dossier projection service 2021-11-26 09:45:13 +01:00
kara Diaby
eaac293da3 add a new tab traités on user dossiers 2021-11-26 09:45:13 +01:00
Martin
fdf0f18fda fix(i18n): wrap text under i18n.t
i18n(france_connect/*): replace wording with i18n

fix(lint): i18n key issue

secu(views/france_connect/particulier/merge.html.haml): sanitize france_connect_email just in case

fix(brakeman): sanitize FCI.email_france_connect when used with html_safe via an I18n.t, also add exception to brakeman
2021-11-25 17:34:37 +01:00
Martin
febe890d28 fixup! Add confirmation by email when merging DC/FC accounts 2021-11-25 17:34:37 +01:00
Martin
8a315a4ac1 feat(UserMailer.france_connect_merge_confirmation): in addition to distance_of_time_in_words, add exact expiration date 2021-11-25 17:34:37 +01:00
Martin
21894d0a0a feat(france_connect/particulier#callback): in case the FC email exists as an DC account which is an instructor or and administrator, returns early to new_session_path so he can connect with this existing account 2021-11-25 17:34:36 +01:00
Martin
ff073f8884 Add confirmation by email when merging DC/FC accounts
feat(fci.confirmation_code): add confirmation code to france_connect_informations

feat(user_mailer.france_connect_confirmation_code): add confirmation by email mail method/preview/spec, pointing to merge_mail_with_existing_account (reuse existing method)

feat(mail_merge): mail merge

feat(merge.cannot_use_france_connect): same behaviour as callback

clean(fci.confirmation_code): use same token for mail validation as merge

feat(resend_france_connect/particulier/merge_confirmation): resend email with link. also enhance some trads, cleanup halfy finished refacto

clean(tech): finalize story by plugging merge_with_new_account to email validation

fix(deadspec): was removed

fix(spec): broken after last refactoring

lint(rubocop): space before parenthesis

lint(haml-lint): yoohoooo space before =

fix(lint): scss now :D

Update app/assets/stylesheets/buttons.scss

cleanup

feat(france_connect): re-add confirm by email, with an option for confirmation by email instead of only confirmation by email

fixup! Add confirmation by email when merging DC/FC accounts

fix(lint): haml_spec failure
2021-11-25 17:34:34 +01:00
Paul Chavard
7d189575af fix(commune): do not display foreign departement when selecting commune 2021-11-25 13:49:57 +03:00
mfo
91c3a8be19 fix(eslint): max columns 2021-11-25 13:43:28 +03:00
Martin
0d486981a6 fix(ComboCOmmunesSearch.typo): fix combo communes search typo 2021-11-25 13:43:28 +03:00
Paul Chavard
d847775c68 feat(traitements): add depose_at to dossiers 2021-11-25 12:57:55 +03:00
Paul Chavard
1f1dd9fce5 fix(traitements): add missing traitements to dossiers when reverting a decision 2021-11-25 12:57:55 +03:00
Pierre de La Morinerie
e5f5440663 models: explicitely save procedure's new revision
Deep-cloned objects have all their relationships stale. Thus, for a
newly deep-cloned revision, `revision.types_de_champs` returns `[]`,
even when it actually has associated types de champ.

This causes consecutive champs creations and re-ordering to fail in
subtle ways, like:

```
procedure.draft_revision.add_type_de_champ(…)
procedure.publish_revision!
procedure.draft_revision.add_type_de_champ(…)
procedure.draft_revision.move_type_de_champ(…) # this will fail
```

As `publish_revision!` created a new stale revision, moving the type
de champ fails because not all existing champs are found until the
object is refreshed.

We don't hit this path in production, because usually only a single
operation is made in a request.

To fix this, save the new revision before associating it as the draft
procedure.

(Another option would be to `reload` the revision after creation, but
this seems better contained and matches the name of the method.)
2021-11-25 08:49:17 +01:00
mfo
e7d9d047fe
Merge branch 'main' into 6649-etq-usager-instructeur-rendre-la-suppression-plus-visible 2021-11-24 14:07:32 +01:00
simon lehericey
bd4a5c419b add title to agentconnect page 2021-11-24 12:50:47 +01:00
Paul Chavard
758e7d68e6 fix(graphql): fix and improuve query parsing for logs 2021-11-24 13:23:05 +03:00
Pierre de La Morinerie
60c2718f29 models: remove custom code for file size validation message
With active_storage_validations 0.9.6, we can use the %{max_size}
variable directly in the error message.
2021-11-24 10:06:45 +01:00
Martin
0fd9e15cc1 i18n(expiration_banner): extract test in i18n files 2021-11-23 15:23:22 +01:00
Pierre de La Morinerie
2227dcc1e7 app: remove leftovers of procedure path autocomplete
We used to pre-validate the procedure, to display in advance if the path
could be used.

Now that the path autocomplete is long gone, we can remove this kludgy
code.
2021-11-23 14:30:21 +01:00
simon lehericey
c5097451ef add redirect 2021-11-23 14:17:59 +01:00
simon lehericey
5234a1854c manage AgentConnect callback 2021-11-23 14:17:59 +01:00
simon lehericey
1926a630f9 add agent_connect_id to instructeur 2021-11-23 14:17:59 +01:00
simon lehericey
898df449d4 redirect to AgentConnect 2021-11-23 14:17:59 +01:00
simon lehericey
d2432e34eb AgentConnect UI 2021-11-23 14:17:59 +01:00
mfo
49bb12a70e
Merge branch 'main' into 6649-etq-usager-instructeur-rendre-la-suppression-plus-visible 2021-11-23 11:05:51 +01:00
Martin
b6adf5fc72 feat(dossiers/show): enhance header with expirations message/banner. also ensure consistent design between dossier states
fix(spec): broken due to last refactoring

spec(dossier.extend_conservation): add system spec

lint(ruby): still not yet ready for auto lint in IDE...
2021-11-23 05:50:25 +01:00
Martin
2a87b9bf89 feat(users/dossiers/*): rework header for consistent design, add some utils spacers 2021-11-22 14:46:10 +01:00
Pierre de La Morinerie
859a147c49 api: return error cause on parse error
Currently, when a query can't be parsed, the error is:
- logged to Sentry (which is useless to us),
- returned as a generic 'Internal Server Error' (which is useless to the
  user who made the query).

With this commit, the error is instead ignored from our logs (because it
is a user error), but the parse error details are returned to the user,
with the following format:

> {'errors': [{'message': 'Parse error on ")" (RPAREN) at [3, 23]'}]}
2021-11-19 15:15:10 +01:00
Martin
3d1533dee9 feat(users/dossiers?statut=dossiers-expirant): add dossiers-expirant tab 2021-11-19 15:14:39 +01:00
Martin
a9978fb70b clean(code): move mfo comment to its rightful place 2021-11-19 14:34:20 +01:00
Martin
608a85148f feat(Dossier.close_to_expiration): add method to find any kind of dossier close to expiration [reuse previous scopes], add missing spec to termine_close_to_expiration, complement spec for each kind of expiration scope with general close_to_expiration spec 2021-11-19 14:28:54 +01:00
Martin
d8257284ef tech(refactor): extract states close to expiration within their scope. 2021-11-19 14:07:47 +01:00
Martin
1d721f14a0 fix(spec): get back to stable state 2021-11-19 12:36:03 +01:00
Martin
646459a1da fix(spec): at least let us start from a green suite 2021-11-18 18:15:57 +01:00
Paul Chavard
df474b60cf WIP 2021-11-18 18:58:17 +03:00
Paul Chavard
ae09b37e72 fix(champs): save departement info on champ commune 2021-11-17 14:52:47 +03:00
mfo
82b23b92c0
Merge branch 'main' into 6624/etq-instructeur-je-souhaite-supprimer-des-messages-envoyes-par-erreur 2021-11-17 05:41:56 +01:00
Paul Chavard
716a859c93 fix(profile): prevent crashing on renew token action 2021-11-16 20:01:56 +03:00
Paul Chavard
e74d599042 feat(procedure): remove duree_conservation_dossiers_hors_ds 2021-11-16 19:55:56 +03:00
Paul Chavard
65e59b8dcd fix(procedure): allow to modify duree_conservation_dossiers_dans_ds after publication 2021-11-16 19:55:56 +03:00
Paul Chavard
406c5a61cc fix(dossier): fix dossier traitements display 2021-11-16 19:00:20 +03:00
Paul Chavard
04e67ea20a fix(dossier): add instructeur email to traitements when available 2021-11-16 19:00:20 +03:00
mfo
1d174df2ec
Merge branch 'main' into 6624/etq-instructeur-je-souhaite-supprimer-des-messages-envoyes-par-erreur 2021-11-16 16:37:15 +01:00
Martin
f0950b592b clean(CommentaireService): extract soft delete within controller. returning an instance with an error[:base] is not persisted with validation : avoid poluting stuff 2021-11-16 16:13:11 +01:00
Paul Chavard
3400c4c628 fix(champs): attach piece justificative 2021-11-16 17:57:41 +03:00
Martin
8bbd77f89f refactor(mail.delay): use simplier implementation using after_action to prevent email delivery with delay 2021-11-16 15:12:05 +01:00
Martin
0aecc301c9 refactor(Commentarie.soft_delete): use discard 2021-11-16 14:28:38 +01:00
Paul Chavard
7914775809 feat(routage): administrateur can disable routage
fix #6627
2021-11-16 11:49:51 +03:00
simon lehericey
e3c1e19424 include hidden dossier in merge 2021-11-15 23:14:41 +01:00
mfo
08350f394e
feat(mails): send it on mailer queue 2021-11-15 16:19:46 +01:00
Martin
ddabed0c7e fix(refactor): continue to revert to past implementation. now use a job instead of calling deliver_later(wait: 5.minutes) [was not a satisfying implementation] 2021-11-15 15:45:48 +01:00
Martin
5534c3fbd6 fix(refactor): forgot to cleanup former implementation 2021-11-15 15:43:51 +01:00
Martin
5b6bb5171c tech(lint): rubocopify 2021-11-15 15:42:20 +01:00
Martin
c68fa2d7f3 feat(Commentaire.notify_user): wait 5 minutes before sending email to user when instructor write a commentaire. leaving some space for instructor to destroy his message 2021-11-15 15:38:57 +01:00
Martin
46fc956de3 fix(refactor): forgot to pass var, classy 2021-11-15 15:01:56 +01:00
Martin
a74ca8ad39 fix(spec): scope out time as reference for time comparission, hope not a matter of precision 2021-11-15 14:55:35 +01:00
Martin
f1293814a3 fix(spec): apparently we do store time with zone 2021-11-15 14:35:43 +01:00
Martin
4042d51d1a tech(lint): rubocopify 2021-11-15 14:17:57 +01:00
Martin
d4c74b5621 feat(rc.1): refine with better translations, better design 2021-11-15 14:15:05 +01:00
Martin
3b78a9d81a feat(rc): first stable 2021-11-15 13:53:32 +01:00
simon lehericey
15d4c4c7b0 small fix on profil 2021-11-15 13:51:26 +01:00
Martin
8b931a57d4 feat(CommentairesController#destroy): implement destroy endpoint using CommentaireService 2021-11-15 13:18:10 +01:00
Martin
9a8ec1087c feat(commentaire.soft_delete): wrap deletion behaviour in service 2021-11-15 12:43:53 +01:00
Martin
5b72bdec7e fix(Commentaire.sent_by?): &.email compared to nil could sent by true when nil==nil, avoid this one 2021-11-15 12:01:56 +01:00
Martin
b03dc6ad5d wip(dossiers/messages/_message): poc destroy button with expected ACL support 2021-11-15 11:30:41 +01:00
Paul Chavard
da47f491b3 fix(dossier): nullify close to expiration notice timestamps when changing state 2021-11-11 12:52:58 +01:00
Paul Chavard
faa235d205 fix(dossier): destroy operation logs when destroying an expired dossier 2021-11-11 09:37:09 +01:00
Paul Chavard
71939c650b fix(export): remove wrong columns from repetition spreadsheets
This fix prevent repetition children types de champ from being pulled from cloned procedures. stable_id is stable across revisions but also across cloned procedures.
2021-11-10 20:45:32 +01:00
Peng-Fei DONG
dc560479ec clean css in page deleted_dossiers for show the dossier table 2021-11-09 12:45:41 +01:00
kara Diaby
9ee9389ba1 add the good retry_on StaleObjectError 2021-11-05 13:32:21 +01:00
simon lehericey
17d131b3cc add has_may requested_merge_from 2021-11-04 16:10:09 +01:00
simon lehericey
9041e201e8 one merge at a time 2021-11-04 16:10:09 +01:00
simon lehericey
adfac5fb7b improve ui 2021-11-04 16:10:09 +01:00
simon lehericey
b160086cc5 update update_email to allow merge 2021-11-04 16:10:09 +01:00
simon lehericey
652b8367be accept or refuse merge 2021-11-04 16:10:09 +01:00
simon lehericey
6625c6bac3 add requested_merge_into column in user table 2021-11-04 16:10:09 +01:00
simon lehericey
894e8fdd47 move update_email check to before_action 2021-11-04 16:10:09 +01:00
Paul Chavard
ba0211ba52 feat(champ): ask for departement before asking for commune 2021-11-04 11:55:25 +01:00
Paul Chavard
122cdacbc2 fix(avis): destroy avis for discarded en_construction dossiers 2021-11-04 10:12:44 +01:00
Paul Chavard
f6b8689a97 fix(revisions): fix repetitions export with revisions 2021-11-03 18:20:48 +01:00
Paul Chavard
0e2f09dd6f fix(dossiers): wrap dossier discard in a transaction
By doing this we ensure that deleted_dossier are not created when dossier is not discarded
2021-11-02 18:17:35 +01:00
Paul Chavard
7ef73f13e4 fix(grope_instructeur): can not destroy groupe_instructeur with discarded dossiers 2021-11-02 12:15:24 +01:00
Paul Chavard
3c2515ce6d feat(graphql): add graphql_operation to rails logs 2021-11-02 12:02:00 +01:00
kara Diaby
87ed764f9b enlarge procedure title in user dossier 2021-10-29 14:05:49 +02:00
Paul Chavard
da49a6447f refactor(repetition): optimize and add a transaction around repetition add row 2021-10-28 14:54:33 +02:00
Paul Chavard
f9a8fb4ada fix(repetition): prevent rage clicks on add row button 2021-10-28 14:54:32 +02:00
Paul Chavard
c4b93f8d4a fix(groupe_instructeur): unfollow dossiers when removed from groupe instructeur 2021-10-28 14:45:52 +02:00
simon lehericey
8fe1e2bf71 wrap merge in transaction 2021-10-28 14:39:13 +02:00
simon lehericey
7935e42109 Add merge log 2021-10-28 14:39:13 +02:00
simon lehericey
3328c9a132 merge move invite as well 2021-10-28 14:39:13 +02:00
simon lehericey
f2ccb39912 merge destroys the old role and account 2021-10-28 14:39:13 +02:00
simon lehericey
1401d163ba add dependent_destroy to user instructeur / admin / expert roles 2021-10-28 14:39:13 +02:00
simon lehericey
c725999582 move merge method to user 2021-10-28 14:39:13 +02:00
Paul Chavard
1393b7b07b fix(rebase): fix repetition champ rebase 2021-10-28 13:27:53 +02:00
Paul Chavard
d659595cde fix(typo): addresse -> adresse 2021-10-27 18:59:18 +02:00
Paul Chavard
6599f9a992 fix(bulk_messages): disable pj on bulk messages 2021-10-27 15:41:53 +02:00
Paul Chavard
7ebc439630 refactor(drop_down_list_champ): other option 2021-10-27 12:01:15 +02:00
Paul Chavard
8154daf847 refactor(drop_down_list_champ): other option 2021-10-27 12:00:39 +02:00
kara Diaby
f1f2b76a3d revisions 2021-10-27 12:00:39 +02:00
kara Diaby
c2fcd3992d add other option for dropdown select 2021-10-26 16:11:15 +02:00
kara Diaby
0e65916e44 add other option for dropdown radio 2021-10-26 16:11:15 +02:00
kara Diaby
dc35d9521f add other option to liste deroulante champ 2021-10-26 16:11:15 +02:00
Paul Chavard
6e8e0c7b6b feat(type_de_champ): reflect changes of secondary labels and descriptions 2021-10-26 12:18:01 +02:00
Paul Chavard
d308448f02 feat(type_de_champ): add secondary label and description do linked drop downs 2021-10-26 12:18:01 +02:00
Paul Chavard
579dce8eb6 refactor(user): wrap user destruction in a transaction 2021-10-26 11:16:29 +02:00
Paul Chavard
d5d3995dad fix(dossier): fix dossier.avis cascade 2021-10-26 11:16:29 +02:00
Paul Chavard
4aa573a75d fix(transfer): remove discarded dossiers from transfers 2021-10-26 10:41:01 +02:00
Pierre de La Morinerie
d0e87a08cf services: cache zxcvbn dictionaries per-thread
Before, every time a password was tested, the dictionaries were parsed
again by zxcvbn.

Parsing dictionaries is slow: it may take up to ~1s. This doesn't matter
that much in production, but it makes tests very slow (because we tend
to create a lot of User records).

With this changes, the initializer tester is shared between calls, class
instances and threads. It is lazily loaded on first use, in order not to
slow down the application boot sequence.

This uses ~20 Mo of memory (only once for all threads), but makes tests
more that twice faster.

For instance, model tests go from **8m 21s** to **3m 26s**.

NB:
An additionnal optimization could be to preload the tester on
boot, before workers are forked, to take advantage of Puma copy-on-write
mechanism. In this way all forked workers would use the same cached
instance.

But:

- We're not actually sure this would work properly. What if Ruby updates
  an interval ivar on the class, and this forces the OS to copy the
  whole data structure in each fork?
- Puma phased restarts are not compatible with copy-on-write anyway.

So we're avoiding this optimisation for now, and take the extra 20 Mo
per worker.
2021-10-25 12:04:56 +02:00
Paul Chavard
1561ea82f6 fix(transfer): manually nullify staled transfers references 2021-10-21 13:54:26 +02:00
Paul Chavard
2a3a9dd822 feat(revisions): rebase dossiers brouillons 2021-10-20 17:26:09 +02:00
Paul Chavard
09a09d3fcf feat(revisions): add rebased_at to champs 2021-10-20 17:26:09 +02:00
Paul Chavard
67e98f79c9 feat(revisions): add stable_id to changes 2021-10-20 17:25:34 +02:00
Paul Chavard
1ca8192864 perf(export): load dossiers.champs in batches 2021-10-20 16:52:38 +02:00
lydiasan
6f9c3abfbc i18n: display language selector on non-french accept-languages 2021-10-19 16:41:36 +02:00
simon lehericey
d19ad2840c rename preexisting to targeted, remove duplicated test 2021-10-19 16:12:42 +02:00
simon lehericey
52b7e85954 merge administrateur in user_controller 2021-10-19 16:12:42 +02:00
simon lehericey
866df74706 merge admin 2021-10-19 16:12:42 +02:00
simon lehericey
44c880adc4 allow instructeur and administrateur to change their email to legit domain (#6550) 2021-10-19 15:54:57 +02:00
Paul Chavard
8fa544e176 feat(manager): bring back add administrateur 2021-10-19 12:06:31 +02:00
simon lehericey
f54dfe6ead Do not raise error if user is nil
I do not get when it happens
2021-10-19 11:21:24 +02:00
simon lehericey
46fd15416b add end to end test 2021-10-14 14:47:50 +02:00
simon lehericey
bb83fd2f18 To make an old test work, no idea 2021-10-14 14:47:50 +02:00
simon lehericey
933d7b8c8d merge with another preexisting account 2021-10-14 14:47:50 +02:00
simon lehericey
ce40e1127d merge with another new account 2021-10-14 14:47:50 +02:00
simon lehericey
19f81b594b merge with an existing account by using the password 2021-10-14 14:47:50 +02:00
simon lehericey
218e4633a9 securely retrieve fci 2021-10-14 14:47:50 +02:00
simon lehericey
f7299da1e7 launch merge process if an unlinked DS account with the same email exists 2021-10-14 14:47:50 +02:00
simon lehericey
f6879eba60 associate_user take a target email 2021-10-14 14:47:50 +02:00
simon lehericey
09f828a6a2 create_merge_token! 2021-10-14 14:47:50 +02:00
simon lehericey
34862f41e0 Add fci valid_for_merge 2021-10-14 14:47:50 +02:00
simon lehericey
2e118a8f5b allow unattached fci 2021-10-14 14:47:50 +02:00
simon lehericey
461b774188 a password input must not be that wide 2021-10-14 14:47:50 +02:00
simon lehericey
6e6635560f Add merge token to FCI 2021-10-14 14:47:50 +02:00
simon lehericey
6826bf03b0 Sign in with a user linked by france connect sub (openid)
instead of looking linked user by email because :

- follows FC recommendation to fetch ds account by openid
- the email is not a valid key as many user can share the same FCI email.

The following scenario is now working

A user A (email: 1@mail.com) uses FC to connect to DS
=> It is connected as 1@mail.com

Another user B (email: generic@mail.com) uses FC to connect
=> It is connected as generic@mail.com

The first user A change its FC email to generic@mail.com and connect to DS
=> It is still connected as 1@mail.com
2021-10-14 14:47:50 +02:00
simon lehericey
06dee2e023 refactor controller to avoid return 2021-10-14 14:47:50 +02:00
simon lehericey
5aaf46258a remove obsolete devise scope 2021-10-14 14:47:50 +02:00
Paul Chavard
4caf2f9592 fix(champs): remove redundant description 2021-10-13 13:55:09 +02:00
Pierre de La Morinerie
9be16a1208 views: rename the procedure_publish_label helper
The new text makes more sense.
2021-10-12 16:25:11 +02:00
Pierre de La Morinerie
50b1d4ce28 views: make france-connect-information more compact
Otherwise it takes a lot of space in the form.
2021-10-12 16:25:01 +02:00
simon lehericey
87de9e38c6 allow draft to be saved with invalid cnaf champ 2021-10-12 14:27:20 +02:00
simon lehericey
35c7f05a0a source service supports unknown scope 2021-10-12 14:27:20 +02:00
simon lehericey
ecc26897e2 add end to end spec 2021-10-12 14:27:20 +02:00
simon lehericey
7aee944daa show cnaf tdc when procedure is compatible 2021-10-12 14:27:20 +02:00
simon lehericey
7072993721 a form can upload numero_allocataire and code_postal 2021-10-12 14:27:20 +02:00
simon lehericey
57a7f82a8f add cnaf ui 2021-10-12 14:27:20 +02:00
simon lehericey
40d0cfcdc4 add champ validation 2021-10-12 14:27:20 +02:00
simon lehericey
c76d1043fa add cnaf champ 2021-10-12 14:27:20 +02:00
simon lehericey
354735ace4 add champ value_json jsonb column 2021-10-12 14:27:20 +02:00
simon lehericey
d68129b34d add cnaf type de champ 2021-10-12 14:26:40 +02:00
simon lehericey
b69dafc3d4 CNAF in lowercase 2021-10-12 14:26:40 +02:00
simon lehericey
17a2b5dc53 fix a strange encoding error 2021-10-12 14:26:40 +02:00
Pierre de La Morinerie
0b02fce5e4 jobs: move ActiveJobLogSubscriber out of initializers
This is a class of its own, it doesn't need to be in the initializers.
2021-10-12 11:40:19 +02:00
simon lehericey
7c65571fca add case when the old_expert or old_instructeur is nil 2021-10-12 11:04:06 +02:00
simon lehericey
d7e621d167 beef up the merge methods 2021-10-07 15:51:31 +02:00
simon lehericey
77d14d4a60 forbid admin merge yet 2021-10-07 15:51:31 +02:00
simon lehericey
5009c583ea Add notice when merging account 2021-10-07 15:51:31 +02:00
simon lehericey
a480b31eb5 merge expert 2021-10-07 15:51:31 +02:00
simon lehericey
136f29524e merge instructeur 2021-10-07 15:51:31 +02:00
simon lehericey
9a6a53349f simple cases when the preexisting targeted account does not have instructeur or profile profile 2021-10-07 15:51:31 +02:00
Paul Chavard
4a947f9135 feat(manager): add become administrateur button in manager (with 24h expiration) 2021-10-07 11:32:12 +02:00
Paul Chavard
9d5c5447c2 fix(dossier): do not attempt to destroy transfers when a dossier is destroyed
we had a dependent option on both sides of a relationship which created race conditions
2021-10-06 17:51:09 +02:00
kara Diaby
13883393eb modify layout 2021-10-06 16:41:08 +02:00
Paul Chavard
d3c1941fbe fix(dossier): never write dossier log on dossiers brouillons 2021-10-05 17:56:51 +02:00
kara Diaby
e4b61eae21 layout 2021-10-05 15:37:29 +02:00
kara Diaby
177074bf32 css 2021-10-05 15:37:29 +02:00
kara Diaby
9c9eeb8e76 modify groupe instructeurs controller$ 2021-10-05 15:37:29 +02:00
kara Diaby
0bd879ec9b modify pj service 2021-10-05 15:00:21 +02:00
kara Diaby
6ef5b5d474 modify downloable file 2021-10-05 15:00:21 +02:00
kara Diaby
bfee9c275c layout 2021-10-05 15:00:21 +02:00
kara Diaby
6d89d914e2 modify expert avis controller 2021-10-05 15:00:21 +02:00
simon lehericey
d8112b9548 [Fix #6491] ui 2021-10-05 12:05:43 +02:00
simon lehericey
1000417bc9 update notifications_for_dossier used in dossier show 2021-10-05 12:05:43 +02:00
simon lehericey
65911b7680 update with_notifications dossiers scope (used in procedure index and show) 2021-10-05 12:05:43 +02:00
simon lehericey
f662b28baf update identity_updated_at column when user identity change 2021-10-05 12:05:43 +02:00
simon lehericey
3a878dfc04 add identity_updated_at column to dossier 2021-10-05 12:05:43 +02:00
Pierre de La Morinerie
f854e3af63 controllers: use ACSV to import groupe instructeurs
Unlike `CSV`, `ACSV` auto-detect the file encoding and separator type.
2021-10-05 10:58:15 +02:00
Peng-Fei DONG
dee536fca1 app: localize CSV import for groupe instructeurs 2021-10-05 10:58:15 +02:00
simon lehericey
9679e233cd [Fix #6512] admin preview in new tab 2021-10-05 10:47:58 +02:00
simon lehericey
e4484eb6d9 discard expert not found job error 2021-10-04 12:57:37 +02:00
simon lehericey
64351d0287 [Fix #6504] Fix exception raised when deleting a transfer 2021-10-01 12:11:03 +02:00
Pierre de La Morinerie
b2774ed2f6 js: fix pays API request on older Edge and Safari
The /api/pays API requires user authentication. However older versions
of Edge and Safari don't transmit cookies by default during a
`fetch` request.

Use the `credentials: 'same-origin'` option explicitely to fix the
countries list.
2021-09-30 16:21:24 +02:00
Pierre de La Morinerie
f01e4ed6ef models: document upstream PR about file size validation 2021-09-30 15:45:30 +02:00
kara Diaby
7594d8470c Fixe une faute d'orthographe dans une notification 2021-09-30 11:45:24 +02:00
Pierre de La Morinerie
2908f2bdba assets: fix background of translate-icon
The background was white, instead of being transparent.
2021-09-28 16:42:04 +02:00
kara Diaby
eb951c75e4 change stats colors 2021-09-28 14:49:24 +02:00
kara Diaby
b5e699e8b8 change svg icons color 2021-09-28 14:49:24 +02:00
kara Diaby
1f2935719c change blue color on all the app 2021-09-28 12:33:01 +02:00
kara Diaby
99cfd4f42c adapte la page d'accueil au design system de l'état 2021-09-28 12:33:01 +02:00
simon lehericey
6eb10ecde5 display tdc alphabetically 🎉 2021-09-27 15:45:37 +02:00
simon lehericey
f55db98e97 rework type de champ type 2021-09-27 15:45:37 +02:00
Paul Chavard
c288739f13 Update app/helpers/procedure_helper.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2021-09-27 15:06:17 +02:00
Paul Chavard
7deedf8245 feat(refactor): unify dossiers header 2021-09-27 15:06:17 +02:00
Paul Chavard
357c684688 feat(routage): self managing instructeurs 2021-09-27 15:06:17 +02:00
Paul Chavard
d4e8158887 feat(routing): add instructeurs_self_management_enabled to procedures 2021-09-27 15:06:17 +02:00
Paul Chavard
5933194149 feat(log): stop logging user emails
fix #6485
2021-09-27 14:56:00 +02:00
simon lehericey
57604b9c89 add schema validations 2021-09-22 12:08:24 +02:00
simon lehericey
75043070da add CNAFAdapter 2021-09-22 12:08:24 +02:00
simon lehericey
a7651e3772 add api composition_familiale 2021-09-22 12:08:24 +02:00
simon lehericey
ceb09c5967 api remove useless symbolize 2021-09-22 12:08:24 +02:00
simon lehericey
07962cc2c7 service: match remote keys 2021-09-22 12:08:24 +02:00
Ismael MOUSSA S
36dc9c2ca2 Add File Validation concern after refactoring 2021-09-21 12:11:20 -05:00
Ismael MOUSSA S
7c7c9c9ea4 Fix file size validation message 2021-09-21 12:11:20 -05:00
Ismael MOUSSA S
bdbb4deb87 ADD FILE_MAX_SIZE constant to set allow file size limit 2021-09-21 12:04:56 -05:00
simon lehericey
1446660ca3 an api_particulier_token change erases previous api_particulier_sources 2021-09-21 11:21:10 -05:00
simon lehericey
2e1bed8748 an admin can save its sources 2021-09-21 11:21:10 -05:00
simon lehericey
8d747ff16e add sanitize method to service 2021-09-21 11:21:10 -05:00
Pierre de La Morinerie
6656d1130b i18n: refactor admin support locales
This allow i18n-tasks to better detect dynamic keys.
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
f9220891a7 i18n: refactor user support locales
This allow i18n-tasks to better detect dynamic keys.
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
274b92c453 i18n: remove simple_form locale files
We don't even use simple_form.
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
8748b6f494 i18n-tasks: add hint for default_i18n_subject in mailers 2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
eef90efd49 app: fix exception during password reset when the token has expired 2021-09-21 10:30:09 -05:00
simon lehericey
a7ec77f0a8 do not display the action for instructeur 2021-09-20 13:58:11 +02:00
simon lehericey
75481a644c Add confirm alert 2021-09-20 13:58:11 +02:00
simon lehericey
7239657a75 [Fix #6481] a user see its waiting transfers 2021-09-20 13:58:11 +02:00
simon lehericey
c34476a766 a user can transfer all its dossier 2021-09-20 13:58:11 +02:00
Paul Chavard
c9accbf5a5 refactor(i18n): localize routage description 2021-09-18 11:51:27 +02:00
Paul Chavard
4db059a54c Update app/views/new_administrateur/groupe_instructeurs/_routing.html.haml
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-09-18 11:22:35 +02:00
Paul Chavard
0c5c8faf16 feat(routage): enable routage for everyone 2021-09-18 11:22:35 +02:00
Paul Chavard
0ff62c5a5e feat(routage): add routing_enabled to procedures 2021-09-18 11:22:35 +02:00
Paul Chavard
8b4bef2816 refactor(routage): simplify goupe_instructeur assign code 2021-09-18 11:21:26 +02:00
Paul Chavard
eea6b961d7 refactor(routage): remove administrateur_routage feature flag 2021-09-18 11:21:26 +02:00
simon lehericey
cfebc4698a add link to sources UI 2021-09-17 13:50:23 +02:00
simon lehericey
2c13f70cd5 redirect to sources after updating token 2021-09-17 13:50:23 +02:00
simon lehericey
5dbd81ebeb show api particulier sources 2021-09-17 13:50:23 +02:00
simon lehericey
8327c6fd0c add ApiParticulier::Service::Sources 2021-09-17 13:50:23 +02:00
simon lehericey
b000590d81 add api particulier sources to procedure 2021-09-17 13:50:23 +02:00
Peng-Fei DONG
2b8f7f13a9 check SENDINBLUE_ENABLED when show the link 2021-09-16 15:37:31 +02:00
Pierre de La Morinerie
715b5ea6d8 i18n: move controller keys to the proper scope 2021-09-16 07:59:19 -05:00
Pierre de La Morinerie
423deb3c3a i18n: fix invalid i18n key in the admin section 2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
e6b044531d i18n: fix invalid i18n-tasks-hint 2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
f1fa84c12a i18n: remove unused i18-tasks-hint 2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
446738fbbf i18n: make dynamic scopes explicit
This fixes i18n-tasks not being able to recognize the scopes.
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
1eefc151bc i18n: move locale scope just after the key name
It helps i18n-tasks to understand the scope, and not report errors
about a missing key.
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
95d1cd6992 i18n: cleanup gender locales
The dot in the localized key messes up with i18n-tasks, and causes
false positives for missing strings.
2021-09-16 07:51:56 -05:00
simon lehericey
1d06c15ac0 save api particulier scopes 2021-09-16 09:49:16 +02:00
simon lehericey
6c6205e188 a cloned procedure to a different admin does not keep api_particulier token and scopes 2021-09-16 09:30:11 +02:00
simon lehericey
2d2ae3a878 add api particulier scopes to procedure 2021-09-16 09:30:11 +02:00
simon lehericey
7ee360df30 add logic to detect empty scopes 2021-09-16 09:09:34 +02:00
Pierre de La Morinerie
745e19bb8e localize 2021-09-16 09:07:47 +02:00
simon lehericey
69bb174e29 add feature flipped link to add api particulier token
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:56:42 +02:00
simon lehericey
ee6d19e3ee an admin can save it's api particulier token
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:56:42 +02:00
simon lehericey
4c0dd43055 add jetons particulier index page
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:37:04 +02:00
simon lehericey
87cb16093f fetch token introspection
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:37:04 +02:00
Peng-Fei DONG
1979c44f9c set OTP: Enable or Disable 2021-09-09 10:25:15 -05:00
Pierre de La Morinerie
4a71b1d202 app: remove former password complexity views
The old component is now unused and ca be removed.
2021-09-09 09:40:40 -05:00
Pierre de La Morinerie
e5f449b595 devise: unify password reset views
By default, Devise will look for views:

1. First in `views/resource/passwords/…`,
2. Then in `views/devise/passwords/…` if not found.

By moving the views to `views/devise`, we avoid having a partial in
`views/shared` that we need to include manually, and instead let Devise
do the job automatically.
2021-09-09 09:40:40 -05:00
Pierre de La Morinerie
80f9d4adc0 devise: use password_strength component in SuperAdmin::PasswordsController 2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
62e4f7ee32 devise: use password_complexity in User::PasswordsController
This fixes the password strength meter no longer being displayed when
an admin changes their password.
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
ed8b19d2eb app: use password_complexity in Administrateurs::ActivateController 2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
428ca8755f app: add a password_complexity component
This component will replace the previous `password_field` component.
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
e97b7164dd models: extract password complexity to a concern 2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
02bdfef893 devise: cleanup Users::PasswordController 2021-09-09 08:03:34 -05:00
Paul Chavard
3235f42a63 feat(dossier): add dossier transfers UI 2021-09-08 15:10:43 +02:00
Paul Chavard
5985755229 feat(dossier): add purge stale dossier transfers job 2021-09-08 14:39:46 +02:00
Paul Chavard
46226b7930 fix(i18n): use size instead of count in dossier mailers 2021-09-08 14:39:46 +02:00
Paul Chavard
d6cbdf2a48 feat(dossier): add dossier transfer models 2021-09-08 14:39:46 +02:00
Paul Chavard
44eb0ada4f fix(i18n): add Kosovo to countries list
Kosovo is not part of ISO 3166 as of time of writing. https://en.wikipedia.org/wiki/ISO_3166-2:RS#cite_ref-1
2021-09-08 12:11:25 +02:00
Paul Chavard
a7ec43a21e fix(i18n): fix email previews 2021-09-08 09:21:19 +02:00
Paul Chavard
ef12ded3ed i18n: fix localization of notify_revert_to_instruction email 2021-09-08 09:21:19 +02:00
Paul Chavard
c8d8976a7c i18n: fix localization of notify_new_answer email 2021-09-08 09:21:19 +02:00
Pierre de La Morinerie
f8d7b7b1e3 i18n: fix localization of notify_new_draft email 2021-09-08 09:21:19 +02:00
Pierre de La Morinerie
4f33a7b72e js: improve auto-save-controller documentation 2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
ad8dcc7f7d js: don't report autosave failures that are timeouts
This prevents spamming Sentry with "[Autosave] Error: 0" messages.
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
8dce7d59ed js: redirect to sign-in when a ujs link_to receives a 401
Before, when a 401 was received by a ujs-enabled link (like `link_to …,
method: :delete, data: { remote: true }`, rails-ujs tried to insert the
response text as a Javascript script.

As the script was something like `Please sign-in`, which is not valid
Javascript, the browser would throw an "Unexpected token" error.

The typical use-case is:

1. The user open a form in a tab,
2. The user disconnects in another tab,
3. In the first tab, the user clicks on a remote "Delete" link_to

In that case the browser raised an error in the console (and in Sentry),
but the user would see nothing.

With this commit, all 401 ujs errors are turned into redirects to the
sign-in page.

Fix https://sentry.io/organizations/demarches-simplifiees/issues/2522512693/activity/
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
255c00c174 js: ignore a new variant of the same warning 2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
905fca0bd3 models: ensure Champs::Pays#to_s is always a string
Before this, the result of `Champs::Pays#to_s` could be `nil`, which
would break various things (like the PDF rendering of these champs).
2021-09-07 10:47:18 -05:00
Paul Chavard
74e277d0a2 feat(graphql): add an option to dossier state change mutations to disable notifications 2021-09-07 14:21:48 +02:00
Paul Chavard
96cbbc0192 fix(virus scan): prevent virus scan on archives and signatures uploads 2021-09-07 14:21:48 +02:00
Paul Chavard
084e48c8e3 fix(dossier_projection_service): select external_id on champs 2021-09-07 14:07:55 +02:00
simon lehericey
367f508e2e linked_drop_down_list: empty primary => empty secondary 2021-09-07 10:09:18 +02:00
Paul Chavard
6a5a8233b5 feat(i18n): send dossier emails with its user locale and improuve translations 2021-09-07 09:51:23 +02:00
Paul Chavard
cd9f7df502 feat(i18n): send dossier notifications with its user locale 2021-09-07 09:51:23 +02:00
Paul Chavard
34b1418868 feat(i18n): save locale on user 2021-09-07 09:51:23 +02:00
Paul Chavard
ff7fa4d895 feat(i18n): expose locale on dossier and deleted_dossier 2021-09-07 09:51:23 +02:00
Paul Chavard
f1ff6da81b feat(i18n): add locale to user 2021-09-07 09:47:01 +02:00
Pierre de La Morinerie
8bb283d977 app: delete old Admin::ProceduresController 2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
a004ac59df app: move archive to NewAdministrateur::ProceduresController 2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
e7c8a9fff5 app: move clone to NewAdministrateur::ProceduresController 2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
3e83ad454f app: move new_from_existing to NewAdministrateur::ProceduresController 2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
7729385d89 controllers: remove dead code on Admin::ProceduresController
This code has been migrated to NewAdministrateur::ProceduresController.
2021-09-02 14:51:26 -05:00
Pierre de La Morinerie
3fc934c8fb app: remove leftovers of publish_validate route
The correponding code and feature have been removed a while ago.
2021-09-02 14:50:41 -05:00
Pierre de La Morinerie
0f9d7d6b8c app: remove old Admin::InstructeursController
It was only hosting the deprecated "Instructeurs globally attached to
this admin", which wasn't used anywhere in the app anymore.
2021-09-02 14:40:36 -05:00
Jérôme Desboeufs
7079af2fd4
Update photographies-aeriennes basemap URL 2021-09-01 21:58:12 +02:00
Pierre de La Morinerie
7380d27d78 js: fix null xhr in autosave error handling
Sentry reports many cases of the xhr object being missing in the
error handler.

Ensure the error handling code doesn't crash because of the missing xhr.
2021-08-31 14:54:02 -05:00
Paul Chavard
5d63ced246 fix(eslint): fix eslint warnings 2021-08-31 18:14:04 +02:00
Paul Chavard
a3cc072bbd feat(i18n): translate countries selector 2021-08-31 13:15:26 +02:00
Paul Chavard
241f564ecc refactor(i18n): move signature translation keys to shared 2021-08-26 17:53:59 +02:00
Paul Chavard
c1c45613cc feat(i18n): translate reexamin and new message emails 2021-08-26 17:53:59 +02:00
Paul Chavard
89d9a4a477 feat(i18n): translate notification emails actions 2021-08-26 17:53:59 +02:00
Paul Chavard
6eb072e69f feat(i18n): translate email greetings 2021-08-26 17:53:59 +02:00
lydiasan
156b9894fe ajout des traductions pour la demande de mdp 2021-08-26 17:43:00 +02:00
lydiasan
ff575db4b3 i18n: request new password translation 2021-08-26 14:56:12 +02:00
Paul Chavard
8c6978c0cb feat(i18n): translate devise related emails 2021-08-26 12:08:40 +02:00
Paul Chavard
8e1bfb469f fix(dossier): send expiration notifications 2 weeks prior to supression instead of a month 2021-08-26 11:28:57 +02:00
Paul Chavard
1399d9bba9 feat(graphql): expose demarche descriptor on dossier type
We don't want to expose full demarche type on dossiers because it would open the door for recursive queries that we want to avoid. DemarcheDescriptorType is a lightweight representation of demarche metadata.
2021-08-25 11:12:24 +02:00
Pierre de La Morinerie
bb15d5fadc i18n: put french first in the locales list
Because French is the reference locale, and we should reflect this to 
users.
2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
02a19587b7 i18n: display selected locale as active wit bold text 2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
227b1dc462 i18n: remove language code from the locale dropdown 2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
47e1555dce i18n: properly translate the locale dropdown title 2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
83b04aca59 i18n: move 'layouts' locales to their proper location 2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
db803c2522 i18n: fix capitalization in the locale dropdown 2021-08-24 12:57:51 -05:00
Paul Chavard
ef16424fa8 fix(i18n): use correct translation namespace 2021-08-24 16:00:57 +02:00
Paul Chavard
3b6528decf feat(i18n): enable localization by query param
Providing a query param ("locale") will enable localization. A language picker will be shown once
localization is activated. Locale is stored in a cookie "locale".
2021-08-24 12:42:40 +02:00
Ismael MOUSSA S. (T0194673)
330333aac4 6407 - Fix flash message typo in new administrateur/groupe instructeurs controller and its related spec 2021-08-20 20:10:44 +02:00
kara Diaby
8788d0e7dd fix localstorage save message for bulk messages 2021-08-20 15:21:07 +02:00
Christophe Robillard
99c16e8dc0 i18n for header 2021-08-20 12:09:01 +02:00
Christophe Robillard
a5750ed4ce i18n for registration page 2021-08-20 12:09:01 +02:00
Christophe Robillard
bf3580ca2f i18n for page commencer 2021-08-20 09:19:25 +02:00
Christophe Robillard
ddea0b9a45 purge old sendinblue mails 2021-08-20 08:52:39 +02:00
Christophe Robillard
e06f11f33f add code insee libelle for commune export 2021-08-19 08:04:47 +02:00
Christophe Robillard
4a6c22d6a6 export code insee for commune champ 2021-08-19 08:04:47 +02:00
Christophe Robillard
daa306859c champ export can be an array of values 2021-08-19 08:04:47 +02:00
Paul Chavard
ffa8c0c80a feat(dossiers): enable dossiers termine expiration behind feature flag
feature flag "procedure_process_expired_dossiers_termine" controls if a procedure has expiration
enabled on dossiers termine

re #3796
2021-08-18 16:11:35 +01:00
Paul Chavard
b81cfea0e4 fix(combo-search): can input empty value 2021-08-18 15:48:37 +01:00
Paul Chavard
2a84f14521 Make generic 2021-08-18 12:09:20 +02:00
kara Diaby
90371bbb82 save instructeur commentaire local storage 2021-08-13 09:33:16 +02:00
Christophe Robillard
f6aed1782b stats: précise légende et périodes considérées 2021-08-12 14:33:40 +02:00
Christophe Robillard
1c564bb744 homogeneise les couleurs utilisées pour les stats 2021-08-11 11:30:47 +02:00
Christophe Robillard
93ba0cc038 stats: rend plus explicite le graphe taux d'acceptation 2021-08-11 10:50:26 +02:00
Christophe Robillard
2ee505e9a9 stats: i18n pour legende repartition par semaine 2021-08-10 15:22:36 +02:00
Christophe Robillard
56ce4938d8 stats: rend plus explicite la répartition par semaine 2021-08-10 14:16:51 +02:00
Christophe Robillard
031b74759f archives: move bugreport 2021-08-05 09:24:20 +02:00
kara Diaby
2c5f05e474 layout 2021-08-04 11:35:06 +02:00
kara Diaby
0300df9a35 add procedure to bulk messages 2021-08-04 11:35:06 +02:00
kara Diaby
ae0a3b9dd5 modify procedures controller instructeur 2021-08-04 11:35:06 +02:00
kara Diaby
3b8f2c8c1e add css class 2021-08-04 11:35:06 +02:00
Christophe Robillard
38e3469e9a add bug report to archive 2021-08-03 14:51:41 +02:00
simon lehericey
b29bae4707 a procedure has an encrypted api_particulier_token
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-07-30 11:18:44 +02:00
simon lehericey
66c35fdffe add encryptable_concern
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-07-30 11:18:44 +02:00
François Vantomme
17b659539f Feat (API Particulier): new encryption service 2021-07-30 11:18:44 +02:00
Christophe Robillard
67c0d93eae Debugging archive generation
debugging exception that occurs sometime when trying to download pj during
archive generation
2021-07-29 11:12:07 +02:00
kara Diaby
1a3ae7d490 fix layout 2021-07-28 14:54:12 +02:00
kara Diaby
b6f931a968 add unique index on bulk messages join table 2021-07-27 20:32:28 +02:00
kara Diaby
69393c2921 modify groupe instructeur controller 2021-07-27 19:38:22 +02:00
kara Diaby
ab0782530c create Bulk Message model and migration 2021-07-27 19:38:22 +02:00
kara Diaby
3869a848e9 fixup! layout 2021-07-27 19:38:21 +02:00
kara Diaby
9b1a522241 fixup! modify mailers 2021-07-27 19:38:21 +02:00
kara Diaby
c92b249340 fixup! modify models 2021-07-27 19:38:21 +02:00
kara Diaby
ed49d1b110 instructeur_procedures_controller 2021-07-27 19:38:21 +02:00
lydiasan
633d7cd8f2 correction des clés 2021-07-27 12:33:19 +02:00
Paul Chavard
64cfb4d64e Fix sort with revisions 2021-07-23 10:57:04 +02:00
Pierre de La Morinerie
0fd23ebd43 db: fix schema.rb leftovers 2021-07-22 17:55:47 +02:00
Pierre de La Morinerie
e1909ed29f brouillon: redirect to sign-in when disconnected
There are two cases where the draft auto-save might fail because the
user is no longer authenticated:

- The user signed-out in another tab,
- The brower quit and re-opened, so the Session cookie expired.

In both cases, the auto-save will never succeed until the user
authenticates again, so displaying a "Retry" button is cruel.

Moreover, in plus of all auto-save requests failing with a small error,
the actual hard failure only occurs after filling all the form and
trying to submit it. Then the user is redirected to the sign-in page –
but all their changes are lost.

Instead, we now redirect to the sign-in page on the first 401 error
during the auto-save, let the user sign-in, and then redirect back to
the form.
2021-07-22 11:58:02 +02:00
Pierre de La Morinerie
7808f6dd4f js: document utils.ajax() 2021-07-22 11:58:02 +02:00
Pierre de La Morinerie
c6fff58f38 js: fix typo in comment 2021-07-22 11:58:01 +02:00
Pierre de La Morinerie
071d9145ca js: don't attempt to log unexistent statusText 2021-07-22 11:58:01 +02:00
Paul Chavard
388fb39eb5 Fix false positive blank champ warnings 2021-07-22 10:45:25 +02:00
Paul Chavard
ac0f50b488 Improuve champ blank check 2021-07-22 10:45:25 +02:00
Pierre de La Morinerie
32ab2f0a80 instructeur: limit the maximum size of a filter value
This prevents the URL from exceeding the max size, and
causing '414: Request-URI too large' errors.
2021-07-20 14:49:48 +02:00
lydiasan
7de10731a6 i18n: localize dossiers edition 2021-07-20 14:18:20 +02:00
Paul Chavard
c7b0b8495b Get more results from communes API and use local matcher 2021-07-20 13:34:17 +02:00
Pierre de La Morinerie
831672391e app: use a long-lived cookie for CSRF token
See the ADR document for rationale.
2021-07-20 11:11:52 +02:00
Pierre de La Morinerie
a03d8d0705 controllers: remove useless handle_verified_request override
This is a leftover of 09933454ff
2021-07-20 11:11:52 +02:00
Pierre de La Morinerie
63cde95fc9 js: ignore errors generated by a Microsoft crawler
Sentry has a lot of Javacript errors stating:

> UnhandledRejection: Non-Error promise rejection captured with value: Object Not Found Matching Id:2 

This is apparently caused by a Microsoft crawler (maybe for scanning
targets of email links), and can be safely ignored.

See https://forum.sentry.io/t/unhandledrejection-non-error-promise-rejection-captured-with-value/14062/12
2021-07-20 09:21:59 +02:00
Pierre de La Morinerie
71741c5f98 views: fix checkbox wrongly selected in multiple_drop_down_list
The check for whether the checkbox should be checked or not was made by
matching the whole string. Thus, given two options 'valid' and
'invalid', the check for the presence of 'valid' would succeed even when
only 'invalid' was present in the values (because
`'valid'.includes?('invalid')`.

The code now checks against the list of items in the selected_options.
2021-07-20 09:01:07 +02:00
kara Diaby
c731f8cf1f add windows content type to avoid errors 2021-07-15 16:32:07 +02:00
Pierre de La Morinerie
40b3ea8ad6
Revert "Instructeurs : limitation de la valeur d'un filtre à 100 caractères" 2021-07-13 18:19:46 +02:00
kara Diaby
d2d046a39d fix encoding problems with cherlock Holmes gem 2021-07-13 10:58:41 +02:00
Pierre de La Morinerie
3c8a88a660 instructeur: limit the maximum size of a filter value
This prevents the URL from exceeding the max size, and
causing '414: Request-URI too large' errors.
2021-07-08 16:17:22 +02:00
Paul Chavard
38fdaa7404 Trigger onStyleChange when leyers are toggled 2021-07-07 16:23:55 +02:00
Paul Chavard
1e4c943392 Fix map controls checkbox labels 2021-07-07 15:38:21 +02:00
Paul Chavard
65adce1e24 Fix cadastres layer 2021-07-07 15:38:21 +02:00
Christophe Robillard
03e98229c9 a user can now see stats for closed procedure 2021-07-07 15:00:38 +02:00
Paul Chavard
527db7631e Add a point on map from coordinates input 2021-07-07 13:33:28 +02:00
Paul Chavard
ab31087f23 Hide cadastres if there is none 2021-07-07 12:28:27 +02:00
Pierre de La Morinerie
37c62ac0a3 app: display standard error page when no cookies are present
This occurs mostly when Safari attempts to perform a POST request
again (without sending any of the cookies).

In that case, our custom `422.html` page is more helpful to the user
(because it has a link to the previous page) than a "No cookies" blank
text.
2021-07-06 16:29:22 +02:00
Christophe Robillard
bc07a875eb integrate a mininum weight for the average dossier weight
before this commit, the average dossier weight took account only pieces
justificatives. With this commit, we add a minimum weight for other
files included in an archive like pdf_export, log operations,
attachments added to traitements. This minimum weight is set arbitrary,
from the observation of some random procedures in production
2021-07-06 15:58:45 +02:00
Paul Chavard
0ce708028d Prevent crashes in combo boxes 2021-07-06 15:06:38 +02:00
Pierre de La Morinerie
09933454ff app: improve InvalidAuthenticityToken logging
- Log on all controllers
- Improve description of the controller action involved
- Ignore Safari bogus requests
2021-07-06 12:42:01 +02:00
Paul Chavard
87fb98f5ed Make IGN layers opacity configurable 2021-07-06 10:36:12 +02:00
Pierre de La Morinerie
97c8f76635 views: show the 'Avis' tab if needed on all profiles 2021-07-06 08:54:40 +02:00
Pierre de La Morinerie
4422d989a6 views: extract partial for the 'Avis' tab 2021-07-06 08:54:40 +02:00
Christophe Robillard
54d91335f2 remove the ability to download an 'everything' archive
there are sometimes an error that happen when building an everything
archive. The error explanation is not understood at the moment.
To deliver the archive feature quickly, we remove the 'everything' archive for
the moment
2021-07-05 11:05:07 +02:00
Paul Chavard
ce27999bc3 Refactor clone_attachments 2021-07-01 16:21:46 +02:00
Paul Chavard
280e54b59d Enable test revisions 2021-07-01 15:59:07 +02:00
Paul Chavard
fc966a2761 IGN layers on maps can now be disabled by the user 2021-06-30 20:07:52 +02:00
Pierre de La Morinerie
1faf91bdbe experts: protect password update as well as sign-up 2021-06-30 10:46:42 +02:00
Pierre de La Morinerie
6f7a2fde57 experts: fix saving password on sign-in 2021-06-30 10:46:42 +02:00
Christophe Robillard
cd36f2622f fix download FakeAttachment 2021-06-24 21:02:55 +02:00
Christophe Robillard
66cc0dd08d Revert "Revert "Expose dossier PDF export as IO""
This reverts commit 362093eff0.
2021-06-24 21:01:59 +02:00