Commit graph

7768 commits

Author SHA1 Message Date
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