Commit graph

8704 commits

Author SHA1 Message Date
Paul Chavard
c008cad1f9 feat(graphql): prepare avis and messages to handle multiple files 2022-12-07 12:06:55 +01:00
Colin Darie
f4eb32af29 fix(messagerie): attachment open in new tab 2022-12-06 16:44:24 +01:00
Colin Darie
182bfcd3e3
style(attachment): delete button replaces bullet when user can download + destroy 2022-12-06 16:37:10 +01:00
Colin Darie
5b20713893
style(attachment): fix antivirus badge when uploading as downloadable 2022-12-06 16:37:10 +01:00
Colin Darie
f4d403a81c fix(apiv1): piece_justificative continue to returns a single attachment 2022-12-06 15:47:06 +01:00
Martin
2eaa06b22b correctif(export.pjs): sur l'export, les champs de type piece justificative renvoyent un tableau de la meme dimension quelque soit le nombre de pj joint 2022-12-06 15:22:53 +01:00
Paul Chavard
b8a9b7223c refactor(groupe_instructeur): improuve controller 2022-12-06 12:01:54 +01:00
Paul Chavard
f49a1baeec refactor(groupe_instructeur): remove mailer should take a list of instructeurs 2022-12-06 12:01:54 +01:00
Paul Chavard
9fe93ded7f refactor(groupe_instructeur): add instructeur.find_or_invite 2022-12-06 12:01:54 +01:00
Colin Darie
4ba76e6844 fix(api-v1): dossier -> avis -> piece_justificative_file_attachment relation name 2022-12-06 11:48:42 +01:00
Paul Chavard
ed4d5cb36a refactor(demarche): make declarative demarche processing syncroneous 2022-12-06 11:41:25 +01:00
Martin
91ef618a42 clean(code): stick to usage of present?/empty? instead of count zero etc 2022-12-06 11:28:48 +01:00
Martin
8f1478b00f clean(deadcode): remove deadcode 2022-12-06 11:28:48 +01:00
Martin
b5f69c8961 review(dossier.reload): evite de recharger le batch qui peut etre confusant 2022-12-06 11:28:48 +01:00
Martin
7c65af3be0 poc(batch_operation_alert): simplier wording 2022-12-06 11:28:48 +01:00
Lisa Durand
3d2f0ebb88 add icon on submit button and simplify i18n 2022-12-06 11:28:48 +01:00
Martin
ea8bd13bcf poc(batch_operation.purge): nettoie les batch terminé ou inutiles 2022-12-06 11:28:48 +01:00
Martin
6556fda218 clean(spec): rubocopify / fix specs 2022-12-06 11:28:48 +01:00
Lisa Durand
0563ac391b small css adjustements to improve table display 2022-12-06 11:28:48 +01:00
Martin
b0ae2e8a0f clean(spec): rubocopify / fix specs 2022-12-06 11:28:48 +01:00
Martin
5875f9b572 spec(batch_operation): system spec batch operation poc 2022-12-06 11:28:48 +01:00
Lisa Durand
7b3cbcb8f6 display batch operation alerts 2022-12-06 11:28:48 +01:00
Lisa Durand
2615da1e28 setup seen_at to hide alert when batch is finished and alert has been seen 2022-12-06 11:28:48 +01:00
Lisa Durand
6859882a58 display batch operation alert to instructeur groups not only instructeur 2022-12-06 11:28:48 +01:00
Lisa Durand
c52443f221 change flash alert wording and display message in show if dossier is in batch 2022-12-06 11:28:48 +01:00
Lisa Durand
1beb219fdd display batch operation alerts 2022-12-06 11:28:48 +01:00
Martin
e5944eed34 poc(batch_operation): habtm groupe instructeurs, permettra de visualiser plus facilement les batch en cours pour les instructeurs du meme groupe 2022-12-06 11:28:48 +01:00
Martin
eaf72162da poc(batch_operation): some rewrite to avoid various conflict (when an instructeur try to create a job with an incompatible dossier regarding the current task). also soome cleanup to isole spec in least involved model 2022-12-06 11:28:48 +01:00
Martin
4266ab93c5 poc(batch_operation): track dossier processed safely 2022-12-06 11:28:48 +01:00
Martin
7a51ecec5d poc(batch_operation): quand un dossier est dans un batch, impossible de faire les actions : archive, unarchive, follow, unfollow, passer_en_instruction, repasser_en_construction, repasser_en_instruction, terminer, restore, destroy, extend_conservation 2022-12-06 11:28:48 +01:00
Martin
35dbc4021e poc(batch_operation): show locked files 2022-12-06 11:28:48 +01:00
Martin
beb39027d0 poc(batch_operation.ui): implement simple ui to trigger a batch of current page 2022-12-06 11:28:48 +01:00
Martin
7df86c50fb poc(batch_operations_controller): implement simple [not yet with procedure_presentation] action to create a batch operation 2022-12-06 11:28:48 +01:00
Martin
b11dbafc59 poc(batch_operation_job): implement archive dossiers with async behaviour, lock, run_at, finished_at, failed_dossier_ids, success_dossier_ids 2022-12-06 11:28:48 +01:00
Martin
61f4cded75 poc(batch_operation): just the model and some specs and a poc for archive them without async 2022-12-06 11:28:48 +01:00
Martin
9193581ae2 correctif(admin/procedures/configuration): pour une procedure, la tuile instructeurs est considérée valide si le routage est activé ou si il y a des instructeurs declarés
Update app/components/procedure/card/instructeurs_component/instructeurs_component.html.haml

Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-12-06 10:20:17 +01:00
Colin Darie
a2e80cfcca fix(clone-rescue): when record was invalid 2022-12-05 18:19:17 +01:00
Colin Darie
00e1e90cb6 fix: multipart upload on instructeurs import & acceptation avec PJ
Les options html dans un `form_tag` ne doivent pas être définies
sous la clé `html` mais directement à la "racine".

Fix régression introduite dans #7958
2022-12-05 17:28:12 +01:00
Martin
1cdfc9ded0 amelioration(liens-de-telechargement): permet de specifier si le lien de téléchargement se fait sur l'onglet actuel ou vers un nouvel onglet 2022-12-05 15:59:50 +01:00
simon lehericey
8771205679 clean(flipper): remove unused expert_not_allowed_to_invite 2022-12-05 12:22:29 +01:00
Colin Darie
f7d6350e05 fix(a11y/identite): indicates that all fields are required
Closes #8096
2022-12-05 11:37:36 +01:00
Colin Darie
b9d6397a9b
fix(pj_template): private proxy template url so their links are non expirable
Closes #7920
2022-12-05 11:30:00 +01:00
Colin Darie
c98021e58a chore(attachment): input name attribute follows form object name for nested attributes 2022-12-05 10:47:10 +01:00
Colin Darie
6e8302101f fix(attachments): cleanup useless kwarg 2022-12-05 10:47:10 +01:00
Colin Darie
cb2afc74b0 style(attachments): better UX when we can try to upload without network 2022-12-05 10:47:10 +01:00
Colin Darie
42b84384dd fix(a11y/attachment): associate input to label, no empty id 2022-12-05 10:47:10 +01:00
Colin Darie
1db40de70e style(attachments): improve when we can download our multiple attachments (dossier en_construction) 2022-12-05 10:47:10 +01:00
Colin Darie
920f90d2e3 chore(titre_identite): render template if exists 2022-12-05 10:47:10 +01:00
Colin Darie
3e617f34ec chore(admin): can download an uploaded PJ template 2022-12-05 10:47:10 +01:00
Colin Darie
42363e0b0d refactor(attachment): extract PendingPoll component 2022-12-05 10:47:10 +01:00
Colin Darie
b110e58f2f refactor(attachment): extract i18n 2022-12-05 10:47:10 +01:00
Colin Darie
2f84346ba3 fix(dossier/sticky-footer): above dsfr buttons have a z-index = 1 2022-12-05 10:47:10 +01:00
Colin Darie
fe0312b1d7 style(procedure/form): fix bg on input file within non-dsfr forms 2022-12-05 10:47:10 +01:00
Colin Darie
e3ddb7779f fix(form): multipart option must be set under "html" to ensure rendering as expected 2022-12-05 10:47:10 +01:00
Colin Darie
6ac0114992 test(attachments): more components tests & improvements 2022-12-05 10:47:10 +01:00
Colin Darie
fefc326e6b refactor(attachment): extract shared Attachment::ProgressComponent 2022-12-05 10:47:10 +01:00
Colin Darie
7cbe6bbaa4 fix(attachment): clone piece justificatives with multiple attachments 2022-12-05 10:47:10 +01:00
Colin Darie
b609c3dae4 refactor(attachment): bring batch user_can_destroy, update tests 2022-12-05 10:47:10 +01:00
Colin Darie
df135b080b refactor(attachment): remove useless id arg 2022-12-05 10:47:10 +01:00
Colin Darie
0a114270af refactor(attachment): update Attachment::EditComponent everywhere 2022-12-05 10:47:10 +01:00
Colin Darie
b13c5e56f6 refactor(piece_justificative): UX follows mockups 2022-12-05 10:47:10 +01:00
Colin Darie
84ca01bdf7 fix(piece_justicative): don't modify validator accepted formats in place
Previous implementation caused to add multiple times ".acidcsa".
2022-12-05 10:47:10 +01:00
Colin Darie
3e992589c5 style(piece_justificative): input ux & list accepted formats 2022-12-05 10:47:10 +01:00
Colin Darie
f66a0cf5a9 chore(piece_justificative): tells admins multiple files could be attached 2022-12-05 10:47:10 +01:00
Colin Darie
636645f686 refactor: minor piece_justificative_multiple? question mark use 2022-12-05 10:47:10 +01:00
Colin Darie
a726350f0d feat(procedure): allow admin to enable multiple uploads for piece justificative on existing procedures 2022-12-05 10:47:10 +01:00
Colin Darie
3affd1660f fix(api-v1): piece justificative serialization 2022-12-05 10:47:10 +01:00
Colin Darie
1f8d28c678 feat(piece_justificative): limit to 1 upload for existing procedures 2022-12-05 10:47:10 +01:00
Colin Darie
0014ce4b91 chore(schema): +procedures#piece_justificative_multiple 2022-12-05 10:47:10 +01:00
Colin Darie
ed1c6ec515 style(piece_justificative): use DSFR Téléchargement de fichiers for instructeurs & experts 2022-12-05 10:47:10 +01:00
Colin Darie
1138604748 feat(api): PieceJustificativeChamp: deprecate file in favor of files 2022-12-05 10:47:10 +01:00
Colin Darie
6a0379086d chore(piece_justificative): continue attachments refactor 2022-12-05 10:47:10 +01:00
Colin Darie
7ae6efe776 refactor(attachment): remove replace feature 2022-12-05 10:47:10 +01:00
Colin Darie
b8296c6d4d feat(piece_justificative): supports multiple files
Closes #7924
2022-12-05 10:47:10 +01:00
Colin Darie
ab1928dc33 style(attachment): enable underlined link on refresh link 2022-12-05 10:47:10 +01:00
Colin Darie
91f4971df2 feat(champ): has_one_attached => has_many_attached piece_justificative_file 2022-12-05 10:47:10 +01:00
Colin Darie
ac234b7744 chore(footer): remove obsolete footer partial & i18n keys 2022-12-05 10:38:16 +01:00
Colin Darie
52b6502cbd test(a11y): ensure we don't mix aria-label and title on main pages
Actuellement, on fait le choix de ne pas avoir d'éléments porteurs à la
fois d'aria-label et title.
Bien qu'en principe l'aria-label quand elle est gérée par un navigateur,
prenne précédence sur le title, en pratique un bug dans NVDA cumule les 2
et rend la navigation difficile.

On prend donc le parti (provisoire?) de n'avoir que l'un ou l'autre.

Nous gardons le title si l'info qu'il contient est également pertinente
pour les navigateurs graphiques qui l'affichent en guise de tooltip ;
autrement on bascule sur l'aria-label qui est plus largement supporté
par les navigateurs a11y.
2022-12-05 10:38:16 +01:00
Colin Darie
f653a25cc2 fix(i18n/a11y): translate "Edit file" button title
Closes #8136
2022-12-05 10:38:16 +01:00
Colin Darie
762942f468 chore(i18n): translate meta title for main user pages 2022-12-05 10:38:16 +01:00
Colin Darie
70d4d7848b feat(i18n): more footer translations 2022-12-05 10:38:16 +01:00
Colin Darie
f15363e178 feat(i18n): basic home translation 2022-12-05 10:38:16 +01:00
Paul Chavard
36195acb29 feat(component): add CopyButtonComponent 2022-12-02 11:30:49 +01:00
Kara Diaby
1efcacd845 add copy button component 2022-12-02 11:30:49 +01:00
Kara Diaby
fe04244138 locales 2022-12-02 11:30:49 +01:00
Kara Diaby
d0ba0e2d63 layout 2022-12-02 11:30:48 +01:00
Kara Diaby
f5e4c28fc1 controller 2022-12-02 11:30:48 +01:00
Colin Darie
6803fbeddb feat(instructeurs): list archiver email & date 2022-12-01 18:27:18 +01:00
Paul Chavard
00556715d6 fix(typography): fix quotes 2022-12-01 17:59:11 +01:00
Paul Chavard
886a409abf fix(dossier): fix links to empty pdf templates 2022-12-01 17:35:01 +01:00
Paul Chavard
ece68076a7 feat(dossier): add some metadata to archive and remove operation log 2022-11-30 16:20:13 +01:00
Colin Darie
cd87390262 fix(a11y/dossiers): add a caption to dossiers table (critere 5.4)
Closes #8090
2022-11-30 13:41:13 +01:00
Colin Darie
80106bf4e6 fix(a11y/search): table th/td associations (critère 5.7)
Closes #8094
2022-11-30 13:41:13 +01:00
Colin Darie
3a2fae9cc2 fix(a11y): table having role=presentation (critere 5.3)
Closes #8154
2022-11-30 13:41:13 +01:00
Colin Darie
8baac2087e style(mobile): fix burger menu alignment: we need a left icon (match UX) 2022-11-30 12:08:59 +01:00
Colin Darie
436c1951cc fix(locale-switcher): attributes & wording issues
Cf #8059
2022-11-30 12:08:59 +01:00
Paul Chavard
a90dada104 fix(patron): dossier should have a procedure and champ should delegate to dossier 2022-11-30 10:54:03 +01:00
Colin Darie
8c16eb1543 fix(a11y): more external link having title saying it will open in new tab 2022-11-30 09:27:46 +01:00
Colin Darie
ff879eb0c2 fix(a11y/dossier): fix non explicit link (6.1)
Closes #8136
2022-11-30 09:27:46 +01:00
Colin Darie
edc2eaac30 fix(footer/home): add missing rel noopener/noreferer on external links 2022-11-30 09:27:46 +01:00
Colin Darie
4d00fcc2d9 fix(a11y/home): add missing title attributes
Cf #8050
2022-11-30 09:27:46 +01:00
Colin Darie
720995f48f fix(a11y/footer): add "new tab" suffix on title links
Cf #8050
2022-11-30 09:27:46 +01:00
Colin Darie
e60fb1f0c1 fix(a11y/footer): img with alt for beta gouv logo
Cf #8050
2022-11-30 09:27:46 +01:00
Colin Darie
c55148f694 fix(a11y): root title link more explicit + i18n
Closes #8050
2022-11-30 09:27:46 +01:00
Paul Chavard
1fb051c3cc refactor(attestation_template): remove unused code 2022-11-29 19:36:56 +01:00
Eric Leroy-Terquem
76605f2c0b fix pagination 2022-11-29 17:46:30 +01:00
Paul Chavard
06f43f99d0 fix(dossier): excluded deleted dossiers from demarche overview 2022-11-29 16:41:31 +01:00
simon lehericey
bffd8015d8 fix(avis_controller): check revoked avis by default 2022-11-29 16:21:06 +01:00
simon lehericey
801d594efd fix(avis_controller): revoked_acl on telecharger_pjs 2022-11-29 16:21:06 +01:00
simon lehericey
a84269e66e fix(avis_controller): revoked acl on bilans_pdf 2022-11-29 16:21:06 +01:00
simon lehericey
d764959659 fix(avis_controller): revoked acl on create_commentaire 2022-11-29 16:21:06 +01:00
simon lehericey
8929af2767 fix(avis_controller): revoked acl on messagerie 2022-11-29 16:21:06 +01:00
simon lehericey
71dd0b99ab fix(avis_controller): revoked acl on update_expert 2022-11-29 16:21:06 +01:00
simon lehericey
531cbf2612 fix(avis_controller): revoked acl on update 2022-11-29 16:21:06 +01:00
simon lehericey
3be17da70e fix(avis_controller): revoked acl on update 2022-11-29 16:21:06 +01:00
simon lehericey
6aa2ccacd4 fix(avis_controller): fix revoked acl on create_avis 2022-11-29 16:21:06 +01:00
simon lehericey
c17bc50def fix(avis_controller): acl on instruction 2022-11-29 16:21:06 +01:00
simon lehericey
f500cb8dc7 fix(avis_controller): procedure do not show revoked avis 2022-11-29 16:21:06 +01:00
simon lehericey
dcae06ae84 fix(avis_controller): index do not linked to revoked avis 2022-11-29 16:21:06 +01:00
simon lehericey
f96a7f432c clean(dossier): useless method 2022-11-29 15:33:10 +01:00
Paul Chavard
53eb3e6ad0 chore(dossier): cleanup champs nested attributes 2022-11-29 11:10:59 +01:00
Paul Chavard
ee30a95847 fix(graphql): check if tokens are revoked 2022-11-25 16:27:11 +01:00
Colin Darie
611120f31f chore(dossier_transfer): notice after transfer invitation sent 2022-11-25 13:34:12 +01:00
Colin Darie
f625d99934 chore(dossier_transfer): extract i18n 2022-11-25 13:34:12 +01:00
Colin Darie
933e6a1aec chore(dossier_transfer): explanation about transfer more explicit and convert to DSFR 2022-11-25 13:34:12 +01:00
sebastiencarceles
c294ce70ca fix: escape characters when showing page title 2022-11-25 09:30:20 +01:00
Colin Darie
0e49f3321a fix(pdf): strip html in type_de_champ descriptions 2022-11-24 19:23:51 +01:00
Paul Chavard
5a9ce7a331 feat(graphql): make demarche schema public 2022-11-24 18:21:33 +01:00
Paul Chavard
e3da500614 fix(graphql): variables should be a plain hash 2022-11-24 18:21:33 +01:00
Paul Chavard
a760e0a698 feat(demarche): enable revisions for all 2022-11-24 17:35:33 +01:00
Paul Chavard
7a35a253a0 chore(dossier): cleanup clone champ 2022-11-24 16:25:27 +01:00
Paul Chavard
b3a35ab3aa fix(graphql): fix playground when admin has no procedures or dossiers 2022-11-24 16:18:08 +01:00
Paul Chavard
4cdd5bcf07 fix(a11y): erreurs code source (Critère 8.2)
related #8051
2022-11-24 15:49:47 +01:00
Paul Chavard
6f6f4bc60d fix(stats): exported file should be csv
fix #7040
2022-11-24 15:40:46 +01:00
Christophe Robillard
1003a24711 remove useless spaces 2022-11-24 15:05:46 +01:00
Christophe Robillard
3539b00652 search admins by email 2022-11-24 15:05:46 +01:00
simon lehericey
8acdf7f5ee feat(team_account): link row to admin view 2022-11-24 14:50:26 +01:00
simon lehericey
18bb26a7f2 feat(team_account): add procedures count 2022-11-24 14:50:26 +01:00
simon lehericey
6c5ceac1e5 feat(team_manager): remove useless attributes 2022-11-24 14:50:26 +01:00
Paul Chavard
234975b806 feat(graphql): expose groupe_instructeur state and update mutation 2022-11-24 14:33:29 +01:00
Martin
bb993d552e amelioration(avis): sur une page listant les avis en attente sur une procedure, on remonte le dernier avis demandé en premier 2022-11-24 14:23:06 +01:00
Paul Chavard
e395ab5c87 fix(invite): do not render menu when invite not found 2022-11-24 09:43:19 +01:00
Paul Chavard
405d2a695f refactor(attestation_template): remove from revisions 2022-11-23 12:26:26 +01:00
Paul Chavard
c73b650f85 feat(attestation): validate attestation tags 2022-11-23 12:26:26 +01:00
Paul Chavard
cafda4f6f0 refactor(attestation_template): move to procedure 2022-11-23 12:26:26 +01:00
Paul Chavard
b89f6e2d53 feat(operation_log): add Cron::DossierOperationLogMoveToColdStorageJob 2022-11-22 18:06:05 +01:00
Paul Chavard
c0fd080d0e refactor(operation_log): store data in jsonb instead of files 2022-11-22 18:06:05 +01:00
Paul Chavard
e4bf1bd2db feat(dossier): add data to DossierOperationLog 2022-11-22 18:06:05 +01:00
Paul Chavard
d306583a7b refactor(active_storage): PiecesJustificativesService::FakeAttachment -> ActiveStorage::FakeAttachment 2022-11-22 18:05:26 +01:00
Christophe Robillard
8e95c6a2ba search procedures by libelle 2022-11-22 17:08:17 +01:00
simon lehericey
4babee2591 fix(admin): ignore active column
the attribut should be retrieve from the user model as the administrateur is no more a devise model
2022-11-22 16:41:20 +01:00
simon lehericey
bcccd57573 refactor(procedure_admins): delete old partial 2022-11-22 16:41:20 +01:00
simon lehericey
066c441b61 refactor(procedure_admins): use component 2022-11-22 16:41:20 +01:00
simon lehericey
924d2ae15d refactor(procedure_adminis): extract component 2022-11-22 16:41:20 +01:00
simon lehericey
30b53ec927 feat(procedure_admins): allow self remove from procedure 2022-11-22 16:41:20 +01:00
simon lehericey
7e7363c8c3 refactor(application_component): add current_administrateur 2022-11-22 16:41:20 +01:00
simon lehericey
0e610179fb refactor(champ_label): use ApplicationHelper 2022-11-22 16:41:20 +01:00
Paul Chavard
a53f0dee74 feat(a11y): add dsfr skiplinks 2022-11-22 12:29:39 +01:00
Colin Darie
15717c5b2f chore(lint): fix haml linting issues on view components 2022-11-22 12:06:15 +01:00
simon lehericey
fe35a8a6e7 fix(cni): only allow jpg and png because of buggy pdf watermarking 2022-11-21 17:53:29 +01:00
Lisa Durand
3953470c78 remove change on api V1 and update graphql for sensitive data 2022-11-18 11:15:16 +01:00
Lisa Durand
f34c890278 add a label for api and export for sensitive data as titre_identite_champ 2022-11-18 11:15:16 +01:00
Paul Chavard
0c0618aa79 feat(export): add GeoJSON export 2022-11-18 10:04:35 +01:00
Paul Chavard
d70db8cc05 fix(css): body should expand to the whole page 2022-11-18 10:04:35 +01:00
Christophe Robillard
ca0dfc9da6 fix missing header for all demarches layout 2022-11-18 06:50:45 +01:00
simon lehericey
66e9b74121 feat(manager): select team_user base on attribute 2022-11-17 16:29:08 +01:00
Paul Chavard
07173401de fix(graphql): load playground from CDN 2022-11-17 15:50:05 +01:00
Paul Chavard
29bdd82b59 refactor(procedure): types_de_champ -> active_revision.types_de_champ_public 2022-11-17 13:54:14 +01:00
simon lehericey
9ed42b316f refactor(user): administration -> super_admin
delete_and_keep_track_dossier_also_delete_user is only called by super admin
2022-11-16 17:52:48 +01:00
simon lehericey
99871b6ba6 refactor(user): introduce method to only delete dossier 2022-11-16 17:52:47 +01:00
simon lehericey
fcfe09f05a refactor(user): rename delete_and_keep_track_dossiers 2022-11-16 17:52:47 +01:00
Paul Chavard
6f6b3896de refactor(export): reduce repetition in export code hopefully making it more readable 2022-11-16 08:49:37 +01:00
Paul Chavard
c1ae9d03be feat(export): show refresh button sooner 2022-11-16 08:49:37 +01:00
Paul Chavard
8eac50f7c9 fix(turbo-stream): read delay on turbo-stream element 2022-11-16 08:49:37 +01:00
Paul Chavard
f6609d42ce chore(vitejs): update 2022-11-15 18:54:43 +01:00
Colin Darie
3ea57a0416 chore(bundle): bump pundit 2.1.0 => 2.2.0
Fix administrate autoloading.
2022-11-15 17:28:04 +01:00
Colin Darie
a4ed1d07af chore(manager): disable pagination count on massive tables 2022-11-15 17:28:04 +01:00
Colin Darie
a28e31bd97 chore(bundle): update administrate 0.16 => 0.18 2022-11-15 17:28:04 +01:00
Colin Darie
bad4581a46 style(manager): mandatory champ more visible 2022-11-15 16:30:18 +01:00
Colin Darie
b8bfb55fb2 chore(manager): replace dossier champ row by a view component 2022-11-15 16:30:18 +01:00
Colin Darie
42867569a5 style(manager): no hr between nested dl/dd, it breaks layout 2022-11-15 16:30:18 +01:00
Colin Darie
d0193c776f chore(manager): improve filled piece justificative champ detection 2022-11-15 16:30:18 +01:00
Colin Darie
d4eed1c631 style(manager): message on invisible champ due to conditional 2022-11-15 16:30:18 +01:00
Colin Darie
8d1e99dc06 style(manager): iconify fill/empty champ 2022-11-15 16:30:18 +01:00
Colin Darie
d2ad8d8455 feat(manager): shows ChampRepetition children 2022-11-15 16:30:18 +01:00
Colin Darie
d961769a12 feat(manager): can search by user id 2022-11-15 16:30:18 +01:00
Colin Darie
949e9baa6f style(manager): signin button as dsfr 2022-11-15 16:30:18 +01:00
Paul Chavard
6ad057dcee feat(graphql): upgrade playground version 2022-11-15 11:48:29 +01:00
Lisa Durand
c2de73c09d simplify and improve perf by making the feature works only for id search 2022-11-15 10:51:36 +01:00
Lisa Durand
d245e12559 remove render_views in spec and correct the way to retrieve dossiers 2022-11-15 10:51:36 +01:00
Lisa Durand
ba0799b684 it displays a message if instructor is looking for a dossier that is not in his instructor group 2022-11-15 10:51:36 +01:00
Colin Darie
0cd2eb696b fix(manager): missing renaming champs -> champs_public 2022-11-14 22:39:26 +00:00
Colin Darie
2359360c15 fix(form): checkbox & radio not rendered properly on old safari & chrome 2022-11-14 14:56:43 +01:00
Colin Darie
a208b2e122 fix(dsfr): no underline on legacy buttons 2022-11-14 14:56:43 +01:00
Colin Darie
fb7ac3c610 style(dsfr): convert a user button to DSFR 2022-11-14 14:56:43 +01:00
Martin
18b7f4e4fa remaniement(dossier.clone): simplifications, pas de callback/after, pas d'heritage, mm interface pour cloner les champs public/prive, clonage des PJs avec le nouveau service de clone, ajoute une cle etrangere sur la colonne parent_dossier_id 2022-11-14 09:53:19 +01:00
Martin
90f7d265c6 amelioration(clone.piece_justificative): gestion du clonage des piece justificative dans une tache asynchrone 2022-11-14 09:13:54 +01:00
Martin
05dcf5e7cf amelioration(usager.liste_des_dossier): ajout du bouton pour cloner un dossier 2022-11-14 09:13:54 +01:00
Martin
844004818a amelioration(dossier.clone): dossier.clone, permet de cloner un dossier 2022-11-14 09:13:52 +01:00
Paul Chavard
1cac88a621 refactor(dossier): permit old attributes format for smooth migration 2022-11-11 09:17:42 +00:00
Paul Chavard
e6288c39f2 refactor(dossier): champs -> champs_public 2022-11-10 22:44:39 +00:00
Christophe Robillard
cc35788d26 extract computation to controller 2022-11-10 18:02:20 +01:00
Christophe Robillard
3a15178cee use common layout for all procedures and admins 2022-11-10 18:02:20 +01:00
Christophe Robillard
5f5b6bf7c7 use specific route for all admins 2022-11-10 18:02:20 +01:00
Christophe Robillard
c96781cfad list all admins 2022-11-10 18:02:20 +01:00
Christophe Robillard
3b2df47ba0 add style for all admins link 2022-11-10 18:02:20 +01:00
Paul Chavard
95f65900d3 refactor(active_storage): no download on clone 2022-11-10 12:25:55 +00:00
Christophe Robillard
c1dad54483 fix padding for checkbox group
due to dsfr 1.8 upgrade
2022-11-09 13:32:55 +01:00
Paul Chavard
5e87539d6d fix(groupe_instructeur): add explicit order to groupe_instructeurs 2022-11-09 10:56:40 +00:00
Christophe Robillard
f80adb4287 improve wording 2022-11-09 10:58:02 +01:00
Christophe Robillard
87832f6eb2 fix pagination bug 2022-11-09 10:41:06 +01:00
Christophe Robillard
7ef114c910 add debounce for date_publication autosubmit 2022-11-09 10:41:06 +01:00
Christophe Robillard
a5fa21ca1b add from_publication_date filter 2022-11-09 10:41:06 +01:00
Martin
b3f80dc5f9 amelioration(Procedure.revision_changes): ajout du support pour les texte complementaire affichable au clique des champs de type explication
Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-11-08 17:49:24 +01:00
Martin
df54dc04a4 amelioration(champ.explication): ajout du support pour avoir un menu depliant avec plus d'information sur un champs explication
amelioration(champ.explication): ajout du support pour avoir un menu depliant avec plus d'information sur un champs explication
2022-11-08 17:49:24 +01:00
Martin
fe0411203f amelioration(types_de_champ/editor): en mode edition d'un champ de type explication, permet de choisir d'afficher ou pas cette explication derriere un collapse 2022-11-08 17:49:24 +01:00
mfo
4a0955832d
Merge pull request #7997 from mfo/US/support-webhook
evolution(helpscout.webhooks): mise en place d'un rappel web afin de notifier l'equipe tech des bug identifies par le support
2022-11-08 17:19:10 +01:00
mfo
618967c054
Merge pull request #8022 from mfo/US/titre-identite-en-pdf
amelioration(Champ.titre-d-identite): ajout du support pour les .pdf
2022-11-08 17:05:23 +01:00
Martin
a1dbc40f57 evolution(helpscout.webhooks): mise en place des rappel web afin de notifier l'equipe tech des bug identifies par le support
Co-authored-by: Colin Darie <colin@darie.eu>
2022-11-08 17:00:03 +01:00
Martin
95312fed47 correctif(dropdown): rend toutes les dropdown valide via le controller.js plutot que les balises html 2022-11-08 16:40:17 +01:00
Martin
7d6e99316a fix(a11y.color): corrige le manque de contraste sur les libelles des liens dans les menu action 2022-11-08 16:40:17 +01:00
Martin
b358c505fa fix(aria-menu): element with role="menu-item" must be children of a direct parentElement having role="menu", all elements between role="menu" and role="menu-item" must be presentation as role="none", see: https://accessibilityinsights.io/info-examples/web/aria-required-parent/ 2022-11-08 16:40:17 +01:00
Martin
9e399aa199 fix(aria-expanded): aria-expanded can be either true or false, not empty: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded 2022-11-08 16:40:17 +01:00
Martin
0d675d4ee5 amelioration(Champ.titre-d-identite): ajout du support pour les .pdf 2022-11-08 16:27:06 +01:00
simon lehericey
33e803cc79 fix: I18n 2022-11-08 16:17:06 +01:00
simon lehericey
db3ebfa6d2 feat(FranceConnect): list and allow to unlink FC identities 2022-11-08 16:17:06 +01:00
simon lehericey
ef1e66e651 fix(css): use dsfr button 2022-11-08 16:17:06 +01:00
Christophe Robillard
2138835f43 make status filter removable 2022-11-08 12:14:26 +01:00
Christophe Robillard
c0231dffa2 extract ProceduresFilter class 2022-11-08 12:14:26 +01:00
Christophe Robillard
296183cc26 improve accessibility 2022-11-08 12:14:26 +01:00
Paul Chavard
b020cb31b6 fix(publication): improuve publication warnings 2022-11-08 10:20:35 +00:00
mfo
8eefe3558b Update app/dashboards/team_account_dashboard.rb
Co-authored-by: Colin Darie <colin@darie.eu>
2022-11-08 09:55:21 +01:00
Martin
bd28c29856 amelioration(manager): ajout de la visualisation des comptes marqués comme membre de l'equipe 2022-11-08 09:55:21 +01:00
Martin
c9292e7ba8 amelioration(bdd): mise en place d'un flag pour identifier les anciens comptes d'admin de DS 2022-11-08 09:55:21 +01:00
Bouchra
c4011e32be Update estimated_fill_duration_component.fr.yml 2022-11-07 13:34:58 +00:00
simon lehericey
1760ccbc01 fix(merge): transfers hidden procedures 2022-11-07 14:11:05 +01:00
Paul Chavard
7de52d582a feat(conditional): remove conditional feature flag 2022-11-04 13:37:37 +00:00
Paul Chavard
1e8a440166 feat(graphql): expose deleted dossiers on groupe instructeur 2022-11-04 11:49:27 +00:00
Paul Chavard
3ced06d59b feat(graphql): improuve groupe instructeur query 2022-11-04 11:27:58 +00:00
Eric Leroy-Terquem
aca2775874 remove routee? method 2022-11-04 12:03:44 +01:00
Eric Leroy-Terquem
b51770c151 toggle routing after groupe instructeur update 2022-11-04 12:03:44 +01:00
Eric Leroy-Terquem
5578115acf update routee? method 2022-11-04 12:03:43 +01:00
Eric Leroy-Terquem
110953e450 constraint logic to active groups 2022-11-04 12:03:43 +01:00
Eric Leroy-Terquem
63ae328bee update wording and cards order 2022-11-04 12:03:43 +01:00
Eric Leroy-Terquem
b419c48262 toggle routing when adding or deleting groupe_instructeurs 2022-11-04 12:03:43 +01:00
Paul Chavard
33fc8a45ab feat(emails): show email errors on procedure page 2022-11-04 09:08:41 +00:00
Paul Chavard
ddd5eab4b1 feat(dsfr): improuve vertical card component 2022-11-04 09:08:41 +00:00
Paul Chavard
dd4c1f2fac feat(emails): validate tags in notification emails 2022-11-04 09:08:41 +00:00
Eric Leroy-Terquem
09c5b9dc99 remove categories_type_de_champ feature flag 2022-11-03 14:28:27 +01:00
Kara Diaby
4d6ff768c4 Ajoute les dossiers déposés dans les statistiques Datagouv 2022-11-03 10:24:04 +01:00
Martin
9562108c60 amelioration(archive.nom-de-fichier): ameliore le nom du fichier d'une archive mensuelle pour eviter les confusion 2022-11-02 16:56:50 +01:00
Martin
e56441b7f5 correctif(Administrateurs::Archives#index): mauvaise comparaison 2022-11-02 14:07:53 +01:00
Paul Chavard
5487ce0458 feat(graphql): implement stored queries 2022-11-02 11:26:57 +01:00
Paul Chavard
91a662fdb9 fix(graphql): make sure dossiers are always loaded with appropriate scope 2022-11-02 11:25:26 +01:00
Paul Chavard
2ed11308a8 feat(graphql): improuve reptition champs schema 2022-11-02 11:09:56 +01:00
Kara Diaby
6a6a9dc006 style css 2022-11-02 10:19:43 +01:00
Kara Diaby
583a08cd6e javascript 2022-11-02 10:19:43 +01:00
Kara Diaby
86afad6250 layout 2022-11-02 10:19:43 +01:00
Kara Diaby
661e5f78ac model 2022-11-02 10:19:43 +01:00
Kara Diaby
2bb7b6156b dashboard 2022-11-02 10:19:43 +01:00
Kara Diaby
329869b929 controllers 2022-11-02 10:19:43 +01:00
Paul Chavard
86a09dd24c fix(procedure): fix procedure cards grid view 2022-11-02 09:29:28 +01:00
Paul Chavard
e7766694d3 fix(messages): retry stale blobs 2022-11-02 09:19:51 +01:00
Paul Chavard
c9adfc3bfa fix(procedure): only set replaced_by if the procedure is effectively published 2022-11-01 15:53:58 +01:00
Martin
ef2064a603 nettoyage(Traitement): supprime une methode morte 2022-11-01 12:43:49 +01:00
Martin
1b1568b2c2 remaniement(Administrateurs::ArchivesController): ne passe pas par la table des traitement pour compter le nombre de dossier traites par mois. Depuis que nous avons redescendu la colonne processed_at sur la table dossiers, ce n'\est plus necessaire et le code est compliqué a comprendre 2022-11-01 12:43:49 +01:00
Martin
cb1726366f correctif(administrateur/procedure/archives#index): ne pas utiliser la table des traitement pour la comptabilisation du nombre de dossier dans une archive car si le dossier a ete accepte [mois n-1], repasse en instruction[mois-n1], accepte[mois-narchive], on se retrouve avec le dossier dans plusieurs archives et des compteurs confusant 2022-11-01 12:43:49 +01:00
simon lehericey
34abf45801 fix(css): overflow in instructeur affectation 2022-11-01 10:33:57 +01:00
simon lehericey
52b7886961 fix(clone): on procedure clone, discard integrity error 2022-11-01 10:17:24 +01:00
Paul Chavard
8cf9aec0f7 refactor(procedure): expose procedure tags on model 2022-10-31 19:50:25 +01:00
Paul Chavard
70a9a7b8bd chore(graphql): update 2022-10-31 19:20:40 +01:00
Christophe Robillard
de072c8b3d use optional chaining 2022-10-31 16:12:02 +01:00
Christophe Robillard
7441218c7f remove useless debug logs 2022-10-31 16:12:02 +01:00
Christophe Robillard
4308f1af26 improve readibility 2022-10-31 16:12:02 +01:00
Christophe Robillard
afcb811a8e correct haml and scss lints 2022-10-31 16:12:02 +01:00
Christophe Robillard
a5a93260cf reinit filters 2022-10-31 16:12:02 +01:00
Christophe Robillard
29be3812af i18n for status 2022-10-31 16:12:02 +01:00
Christophe Robillard
3890b24489 i18n for publication date 2022-10-31 16:12:02 +01:00
Christophe Robillard
619afbacad make selected zones removable 2022-10-31 16:12:02 +01:00
Christophe Robillard
e10e8f1024 autosubmit filter form 2022-10-31 16:12:02 +01:00
Christophe Robillard
0799c40aaa add pagination for all demarches view 2022-10-31 16:12:02 +01:00
Christophe Robillard
3f0279ac45 add main menu for admin procedures views 2022-10-31 16:12:02 +01:00
Christophe Robillard
22fe357d75 list all demarches, filtered by status 2022-10-31 16:12:02 +01:00
Christophe Robillard
9abf1c4af3 list all demarches, filtered by zones 2022-10-31 16:12:02 +01:00
Christophe Robillard
f9f31b721a get zones of an admin 2022-10-31 16:12:02 +01:00
Martin
60dc6a3912 correctif(export.global): Export.find_for_groupe_instructeurs remonte les exports globaux même lorsqu'il y a une procedure presentation 2022-10-31 14:32:17 +01:00
Paul Chavard
d20d9b8625 chore(manager): activate js 2022-10-31 14:06:26 +01:00
Colin Darie
3a06e7e0b3 refactor(tdc): convert fill duration in Duration objects 2022-10-31 12:17:16 +01:00
Colin Darie
010c9a0dcb feat(procedure): includes read duration of explication/non fillable champs
Long explications can significantly increase global fill duration,
so we can't ignore them.

Closes #7963
2022-10-31 12:17:16 +01:00
Colin Darie
7731c6ad64 feat(procedure): estimate fill duration takes account of libelle & description read time
Sometimes long description on types de champ
significantly increases global fill duration.

140 words per minute is a good estimate of attentive off-voice read time.
(This is independent of characters per word).

Closes #7963
2022-10-31 12:17:16 +01:00
Colin Darie
408f57d2d1 fix(rna): date_creation may be null
Closes #7975
2022-10-31 12:02:37 +01:00
Paul Chavard
2ed26e8699 fix(graphql): properly handle variables json parse errors 2022-10-31 11:32:30 +01:00
Paul Chavard
ac75afb77c fix(graphql): do not load brouillon or deleted linked dossier 2022-10-31 10:53:22 +01:00
Martin
5ced9fb431 chore(create_procedure_presentation): homogénéise l'interface sur les procédure présentation. pas d'objet 'build', sinon les export/filtres deviennent compliqués 2022-10-31 09:29:27 +01:00
Martin
50c43f4819 correct(export): la creation d'archive pour un groupe d'instructeur, avec des filtres differents et identique doit etre consistante 2022-10-31 09:29:27 +01:00
Paul Chavard
473a772032 feat(graphql): on api exceptions log query and variables 2022-10-28 12:18:21 +02:00
Colin Darie
9f2fa5ee1c fix(invitation): don't fail when dossier is hidden & user signed on another account
Suite de 45994ff567
Cf https://sentry.io/organizations/demarches-simplifiees/issues/3422144920/events/e1c83ea74dbc410ea22aa17ef29fb329/?project=1429550
2022-10-28 08:56:03 +02:00
Martin
c7c46c9dff design(page de configuration de procedure): passage de la grille au DSFR 2022-10-27 14:00:44 +02:00
simon lehericey
4c98b8f01c fix(merge): ensure service transfert always works 2022-10-27 12:44:02 +02:00
simon lehericey
44aff1a293 fix(silent_error_in_merge): raise if merge update fail 2022-10-26 23:27:53 +02:00
Paul Chavard
7336a62637 refactor(rails/ujs): don’t use @rails/ujs in our own code 2022-10-26 23:06:10 +02:00
simon lehericey
43438f0018 fix(spec): use config debounce delay in editor
and 0 delay in spec
2022-10-26 22:38:33 +02:00
simon lehericey
59e68ab2c7 refactor(haml): swap - and = due to haml 6 2022-10-26 15:20:55 +02:00
simon lehericey
4e082d6424 fix(turbo morph): make the morph morph again 2022-10-26 15:20:55 +02:00
simon lehericey
baefd83f31 fix(editor): remove extra end 2022-10-25 16:32:25 +02:00
simon lehericey
6af4fe624a refactor(service): explicit call to service job to avoid test side effect 2022-10-25 14:44:43 +02:00
simon lehericey
cf592820c6 make linter happier 2022-10-25 14:44:43 +02:00
simon lehericey
dbb5b7deec clean(js): remove unused autosave:reset 2022-10-25 14:44:43 +02:00
simon lehericey
5cadb70d3a refactor(js): add 'debounced-empty' when there are no more debouncing call 2022-10-25 14:44:43 +02:00
simon lehericey
f4f40ded6c refactor(js): send 'autosave:end' when there are no more pending promises 2022-10-25 14:44:43 +02:00
Kara Diaby
476dd7e699 layout 2022-10-21 19:13:12 +02:00
Kara Diaby
cf8e6a9c67 controller 2022-10-21 19:13:12 +02:00
Kara Diaby
492c7f377f migration 2022-10-21 19:13:12 +02:00
Paul Chavard
f2e8dba8e4 fix(dossier): tag can contain non breaking space 2022-10-21 16:34:19 +02:00
Paul Chavard
d7c5dcf8bb fix(dossier): a tag can be preceded by a - 2022-10-21 16:06:32 +02:00
Paul Chavard
85581e72e9 refactor(turbo): simplify custom actions implementation now that turbo has support for it 2022-10-21 10:24:00 +02:00
Martin
527f416f52 amelioration(archives): documentation de la structure de l'archive
Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>

Update app/views/shared/archives/_notice.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>
2022-10-20 16:40:53 +02:00
simon lehericey
097082afc9 fix(dolist): reduce message name variability 2022-10-20 15:29:56 +02:00
Martin
2cd74d1010 amelioration(archives): positionne le fichier des reporting des erreurs en tête de l'arborescence 2022-10-20 15:14:57 +02:00
Martin
d46efeef85 amelioration(export): clarifier l'usage des exports pour les instructeurs pour eviter le téléchargement des export zip pour de l'archivage 2022-10-20 14:50:48 +02:00
Colin Darie
5b813a25d6 fix(dsfr/callout): don't nest p, it's already declared by component 2022-10-20 09:18:16 +02:00
Colin Darie
e96d307e56 style(admin): auto expiration styled with DSFR callout 2022-10-20 09:18:16 +02:00
Colin Darie
f5a0842c6e style(dsfr): callout component with support for a bottom section like buttons 2022-10-20 09:18:16 +02:00
Colin Darie
7f28f1fe4c fix(conjugaison): après que + indicatif 2022-10-20 09:18:16 +02:00
Colin Darie
45994ff567 fix(invitation): when dossier is not visible anymore
https://sentry.io/organizations/demarches-simplifiees/issues/3422144920/
2022-10-20 09:08:36 +02:00
Paul Chavard
74aa01479b fix(revision): fix changes list style 2022-10-20 06:56:20 +02:00
Martin
576aa2c1e0 amelioration(export): augment la duree de conservation des exports en cours de generation passant de 12 a 16h. augment la duree de conservation des exports generés passant de 16 à 32h 2022-10-20 06:32:41 +02:00
simon lehericey
5fa5d46d8c fix(admin_merge): a case where 2 admins have the same service 2022-10-19 16:54:34 +02:00
Paul Chavard
5be8810da4 fix(dossier): nullify instructeur and expert id on messages when they are deleted
we keep email on the message so it will be used when instructeur or expert are not available
2022-10-19 11:53:10 +02:00
simon lehericey
c6e7db3622 fix(export): bug when combining revision and conditional 2022-10-18 11:53:13 +02:00
simon lehericey
fbf089d60e refactor(dossier): rename check_mandatory_champs -> check_mandatory_and_visible_champs 2022-10-18 11:13:41 +02:00
simon lehericey
9bba2093be refactor(champ): mandatory_blank_and_visible? -> mandatory_blank?
As the method does not check visibility
2022-10-18 11:13:41 +02:00
simon lehericey
6832b12bd4 clean(haml): remove commented code 2022-10-18 11:13:41 +02:00
simon lehericey
7114623285 fix(champ): rewire champ.mandatory? to type_de_champ.mandatory?
it fixes behaviour in drop_down_list_component which add option if not mandatory (!= not required)
2022-10-18 11:13:41 +02:00
simon lehericey
528b7ec3f8 refactor(champ): add required?
used for the `required` html attribute. It check visibility to avoid hidden required input which prevent the form from being sent.
2022-10-18 11:13:41 +02:00
simon lehericey
dc89ddb639 fix(translation): typo in footer 2022-10-17 22:47:42 +02:00
Martin
6000de2095 feat(manager/outdated_procedure): enhance procedure cleanup 2022-10-17 13:35:37 +02:00
Paul Chavard
736e0b0731 fix(routage): fill dossier groupe instructeur in some edge cases 2022-10-14 17:29:56 +02:00
Paul Chavard
c075a4e415 fix(dossier): we should never detroy user’s dossiers in cascade 2022-10-14 14:14:51 +02:00
Paul Chavard
c097f70543 fix(graphql): hide champs based on conditions 2022-10-14 11:33:25 +02:00
simon lehericey
d5d031e15d fix(export): do not export invisible champ 2022-10-14 10:30:27 +02:00
simon lehericey
40a3fff593 perf(dossiers_controller): do not load pj template in update, -10ms 2022-10-13 22:36:56 +02:00
simon lehericey
f8ee6386b9 perf(champ): check condition.present? without json deserializationl, -6ms 2022-10-13 22:36:56 +02:00
simon lehericey
73b4ee64e6 perf(champ_value): use champ_type instead of tdc.type_champ, -22ms 2022-10-13 22:36:56 +02:00
Eric Leroy-Terquem
c6082ded09 no select for usager if only one groupe_instructeur 2022-10-13 19:49:32 +02:00
Martin
d09c47f5ce correctif(usager.fusion): leve une erreur quand on essaie de fusionner un compte sur lui même 2022-10-13 17:00:20 +02:00
Paul Chavard
25c774b3a1 refactor(dossier): extract dossier edit footer into a component 2022-10-13 14:44:46 +02:00
Paul Chavard
d409b6f4ef feat(dossier): do not save dossier on submit 2022-10-13 14:44:46 +02:00
Paul Chavard
78a1323fc2 refactor(dossier): move dossier submit action in to a new form 2022-10-13 14:44:46 +02:00
Paul Chavard
dd38fa4458 refactor(spec): add wait_for_autosave helper 2022-10-13 14:44:46 +02:00