Commit graph

4628 commits

Author SHA1 Message Date
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
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
simon lehericey
8771205679 clean(flipper): remove unused expert_not_allowed_to_invite 2022-12-05 12:22:29 +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
53d4395cbd test(attachments): system test for multiple attachments upload 2022-12-05 10:47:10 +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
cb2afc74b0 style(attachments): better UX when we can try to upload without network 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
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
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
e1270d5ffe test(api): add a test to cover single (flat) attachment extension 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
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
Kara Diaby
92b4c31293 tests 2022-12-02 11:30:49 +01:00
Paul Chavard
00556715d6 fix(typography): fix quotes 2022-12-01 17:59:11 +01:00
Martin
235da8b04a amelioration(sanitize): assainie aussi les balises <img> 2022-12-01 17:42:24 +01:00
Paul Chavard
886a409abf fix(dossier): fix links to empty pdf templates 2022-12-01 17:35:01 +01:00
Paul Chavard
c5901fbb95 clean(type_de_champ): remove magic factory 2022-12-01 16:36:59 +01:00
Colin Darie
acdd0b2350 test(a11y): verify on basic pages external link say it will open a new tab 2022-11-30 09:27:46 +01:00
Paul Chavard
20007824c9 spec(graphql): add tests to ensure that stable ids are stable 2022-11-29 19:55:40 +01:00
Paul Chavard
1fb051c3cc refactor(attestation_template): remove unused code 2022-11-29 19:36:56 +01:00
Paul Chavard
06f43f99d0 fix(dossier): excluded deleted dossiers from demarche overview 2022-11-29 16:41:31 +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
20fcfdeb5e clean(avis_controller_spec): procedure_id: procedure.id -> procedure_id: 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
cb2e1db52e clean(avis_controller_spec): 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
3c477691c3 clean(avis_controller_spec) 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
6ad048955b clean(avis_controller_spec) 2022-11-29 16:21:06 +01:00
simon lehericey
644b88ea0e clean(avis_controller_spec) 2022-11-29 16:21:06 +01:00
simon lehericey
d0c0d6c491 fix(spec): speed up *5 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
ee30a95847 fix(graphql): check if tokens are revoked 2022-11-25 16:27:11 +01:00
Colin Darie
f625d99934 chore(dossier_transfer): extract i18n 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
Paul Chavard
5a9ce7a331 feat(graphql): make demarche schema public 2022-11-24 18:21:33 +01:00
Christophe Robillard
3539b00652 search admins by email 2022-11-24 15:05:46 +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
cafda4f6f0 refactor(attestation_template): move to procedure 2022-11-23 12:26:26 +01:00
Paul Chavard
55c5de2c2c feat(attestation_template): assign attestations templates to procedures 2022-11-23 12:26:26 +01:00
Paul Chavard
ff470ada48 fix(dossier): fix dossier brouillon spec 2022-11-23 11:56:35 +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
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
f532eee9f6 fix(spec): remove strange click 2022-11-22 16:41:20 +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
30b53ec927 feat(procedure_admins): allow self remove from procedure 2022-11-22 16:41:20 +01:00
Lisa Durand
e7c3181fc9 add spec for api 2022-11-18 11:15:16 +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
29bdd82b59 refactor(procedure): types_de_champ -> active_revision.types_de_champ_public 2022-11-17 13:54:14 +01:00
simon lehericey
6a7621b731 feat(support): add task to remove ex team member 2022-11-16 17:52:48 +01:00
simon lehericey
fcfe09f05a refactor(user): rename delete_and_keep_track_dossiers 2022-11-16 17:52:47 +01:00
Colin Darie
54699d35a8 test(manager): fix test after administrate upgrade 2022-11-15 17:28:04 +01:00
Colin Darie
7b9ff5ebe8 test(manager): add basic test on dossiers index & show 2022-11-15 16:30:18 +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
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
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
c96781cfad list all admins 2022-11-10 18:02:20 +01:00
Christophe Robillard
24e7de71e3 add procedures_filter specs 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
Paul Chavard
5e87539d6d fix(groupe_instructeur): add explicit order to groupe_instructeurs 2022-11-09 10:56:40 +00: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
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
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
571452c530 bug(a11y.dropdown): la dropdown d'aide usager sur une procedure n'est pas a11y compatible 2022-11-08 16:40:17 +01:00
Martin
48b12d03f6 spec(wcag_usager_spec): add test on dropdown. broken 🤭 2022-11-08 16:40:17 +01:00
Martin
3f37102f97 spec(wcag_usager_spec): add test to dossiers_path with at least one dossier 2022-11-08 16:40:17 +01:00
Martin
0a4f17d245 chore(wcag_usager_spec): remove skips 2022-11-08 16:40:17 +01:00
simon lehericey
db3ebfa6d2 feat(FranceConnect): list and allow to unlink FC identities 2022-11-08 16:17:06 +01:00
Christophe Robillard
c0231dffa2 extract ProceduresFilter class 2022-11-08 12:14:26 +01:00
Paul Chavard
f47b39f389 fix spec 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
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
40d1e2ee44 Fix typos
Co-authored-by: mfo <mfo@users.noreply.github.com>
2022-11-04 09:08:41 +00:00
Paul Chavard
33fc8a45ab feat(emails): show email errors on procedure page 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
simon lehericey
5ee065c8f0 chore(capybara): increase waiting time as workers are slow 2022-11-03 15:26:48 +01: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
2ed11308a8 feat(graphql): improuve reptition champs schema 2022-11-02 11:09:56 +01:00
Paul Chavard
e7766694d3 fix(messages): retry stale blobs 2022-11-02 09:19:51 +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
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
fb73838bb8 bug(export.global): Export.find_for_groupe_instructeurs devrait remonter les exports globaux 2022-10-31 14:32:17 +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
Martin
cf51be85e0 bug(export): la creation d'une archive avec un filtre different devrait etre effective, ce n'est pas le cas 2022-10-31 09:29:27 +01:00
simon lehericey
e7666e274f fix(spec/system): wait for merci page 2022-10-28 14:51:41 +02:00
simon lehericey
d859f1ed0a fix(spec/system): add delay when dealing with pj 2022-10-28 14:51:41 +02:00
simon lehericey
db0fcec019 conf(capybara): make JS_LOG work for head and headless 2022-10-28 14:51:41 +02:00
simon lehericey
091a522cbf conf(capybara): add MAKE_IT_SLOW option to reveal bugs 2022-10-28 14:51:41 +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
d1a8731bfc refactor(spec): faster service spec 2022-10-25 14:44:43 +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
0a1ab733b6 refactor(spec): stabilize api_particulier_spec 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
e71b7eeee5 refactor(spec): wait for debounce and in flight promise 2022-10-25 14:44:43 +02:00
simon lehericey
00d1552060 clean(spec): remove useless autosave 2022-10-25 14:44:43 +02:00
simon lehericey
4ec13d652a core(capybara): disable_animation 2022-10-25 14:44:43 +02:00
simon lehericey
5d38345478 feat(system-spec): display js console error 2022-10-25 14:44:43 +02:00
simon lehericey
1e88d1a1d7 chore(capybara): use same size in headless or not 2022-10-24 22:13:16 +02:00
Kara Diaby
9529c6ba9c tests 2022-10-21 19:13:12 +02:00
Paul Chavard
f109220df3 fix(dossier): test for non breaking space replacement in champ label 2022-10-21 16:34:19 +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
2cd74d1010 amelioration(archives): positionne le fichier des reporting des erreurs en tête de l'arborescence 2022-10-20 15:14:57 +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
simon lehericey
5fa5d46d8c fix(admin_merge): a case where 2 admins have the same service 2022-10-19 16:54:34 +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
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
de875632e6 refactor(spec): use match_array 2022-10-14 09:45:58 +02:00
simon lehericey
40a3fff593 perf(dossiers_controller): do not load pj template in update, -10ms 2022-10-13 22:36:56 +02:00
Eric Leroy-Terquem
2147a1865c add test 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
d409b6f4ef feat(dossier): do not save dossier on submit 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
Paul Chavard
03c714e86d test(flipper): cleanup flipper calls in tests 2022-10-12 14:14:30 +02:00
Paul Chavard
155c71b169 test(flipper): reset flipper flags before each test 2022-10-12 14:14:30 +02:00
Paul Chavard
36e9b27e8c chore(webdriver): update 2022-10-12 13:17:44 +02:00
Damien Le Thiec
29a97fac43
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 18:59:45 +02:00
simon lehericey
7672ad3fe9 fix(editor champ): do not raise on destroy replay 2022-10-11 16:27:49 +02:00
Damien Le Thiec
f30798eeec Merge branch 'feature/add_rna_type_de_champs' of https://github.com/betagouv/demarches-simplifiees.fr into feature/add_rna_type_de_champs 2022-10-11 16:18:35 +02:00
Damien Le Thiec
3acb0fc3cb Remove test external id 2022-10-11 16:18:15 +02:00
Damien Le Thiec
73f6063c87
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 15:36:46 +02:00
Colin Darie
073656342e fix(api_address): support Adresse BAN without postcode
Des adresses n'ont pas de code postal (dans certains TOM par exemple).
On fallback sur un string vide plutôt que nil pour limiter les effets de bord.
2022-10-11 12:25:12 +02:00
LeSim
1c3990083b
Merge branch 'main' into be_stupid_about_spec_system_logout 2022-10-11 12:08:41 +02:00
simon lehericey
d870d1d848 fix(spec): fix dubious procedure spec 2022-10-11 11:50:41 +02:00
Paul Chavard
a19bf050ef fix(iban): format iban after validation 2022-10-11 10:43:32 +02:00
Colin Darie
10917af523 style: signin button styled accordingly to UX 2022-10-11 09:50:21 +02:00
Colin Darie
5a50383a27 style: download links (notice & template) with expected DSFR design & details
Closes #7829
2022-10-11 09:50:21 +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
01f6e5a06b spec(dossier_preloader): add spec 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
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
fa133d03d0 spec(system): try to fix logout 2022-10-07 18:23:41 +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
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
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
simon lehericey
ba805a7436 fix: invite_mailer previews 2022-10-06 17:43:09 +02:00
simon lehericey
6cba489a54 fix: send_notifications preview 2022-10-06 17:43:09 +02:00
simon lehericey
878958b23b fix: invite_instructeur preview 2022-10-06 17:43:09 +02:00
simon lehericey
b9ef8c5001 fix: add_instructeur preview 2022-10-06 17:43:09 +02:00
simon lehericey
0e75f9960b fix: send_dossier_decision preview 2022-10-06 17:43:09 +02:00
simon lehericey
ab0392fb36 fix: avis_mailer preview 2022-10-06 17:43:09 +02:00
simon lehericey
6812b35a3d chore: remove dead code 2022-10-06 17:43:09 +02:00
simon lehericey
6841e80414 fix: administrateur_mailer preview 2022-10-06 17:43:09 +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
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
0131a41266
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-05 12:38:24 +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
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
Damien Le Thiec
ecd54de854 Extend RNA adapter while keeping depreciated version 2022-10-04 19:59:39 +02:00
Damien Le Thiec
fa1f0fc240 Improve rna champ tests 2022-10-04 17:19:30 +02:00
Martin
91eeb4bf1c fix(spec.flacky): maybe flacky due to css animation not loved by capy 2022-10-04 15:20:22 +02:00
Martin
54a47fadae fix(sentry/3422144920): old email using TargetUserLink creates confusing errors 2022-10-04 11:41:32 +02:00
simon lehericey
6a5a82ce06 fix(instructeur dashboard): dossiers filtered on multiple states 2022-10-03 15:18:46 +02:00
Martin
35c556fc89 bug(multiple_drop_down_list): when their is a coma in label, comas is splitted as an item 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
simon lehericey
3f0fd506bd fix(system spec): increase timeout for log out 2022-09-29 17:31:38 +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
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
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
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
simon lehericey
6b35155bd8 fix condition_controller_spec 2022-09-28 10:06:32 +02:00
simon lehericey
5129fedac4 add a test 2022-09-28 10:06:32 +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
f846393ec0 make populate_zones an after_party task 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
bc5ea8e906 update zones with new government 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
bae60339a7 fix: wording 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
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
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
Damien Le Thiec
2791871c9a Clean exports tests 2022-09-21 15:56:01 +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
a5e1d8865b style(france_connect_account): convert notice about FC user to DSFR 2022-09-21 15:47:35 +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
Kara Diaby
3e43597440 tests 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
Martin
eae05b0a6f feat(export.xslx): add code commune to geo_area.label 2022-09-17 08:59:06 +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
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
simon lehericey
c43bf2e5c9 fix(conditional): only parse user input as int if compared with a number 2022-09-09 11:28:32 +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
simon lehericey
ac0ac171ad perf(dossier): remove unused row validation
Gain, one request per champ not child
2022-09-07 15:00:40 +02:00
sebastiencarceles
b643660017 'Choix parmi une liste' becomes 'Choix unique'
closes #7374
2022-09-06 11:26:30 +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
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
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
23fbc9210e test(graphql): don't perform irrelevant & unmocked APIEntreprise::ServiceJob
They would require heavy mocks otherwise
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
f8cf8aaab7 test(api_entreprise): add missing tests for API Entreprises privileges & adapter 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
64ce2719ed feat(services): accept an optional SIRET
Closes #7359
2022-09-06 09:23:52 +02:00
Colin Darie
54181bd920 refactor(spec/services): dynamic procedure reference instead of hardcoded id 2022-09-06 09:23:52 +02:00
Colin Darie
54e7a713b4 refactor(spec): service_specs with be_valid syntax 2022-09-06 09:23:52 +02:00
Colin Darie
7f1764fa66 test(support): add contact-admin spec 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
Kara Diaby
a52aeb6fdc tests 2022-09-02 16:23:27 +02:00
Martin
289b8f78b8 feat(Administrateur::Services#index): rework list of services 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
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
Martin
c230db1ec4 bug(brouillon.edit.form): when their is a type de champs repetition having a child being mandatory. if the condition is not met, should be able to submit form 2022-08-24 15:18:05 +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
e35da17ce8 bug(instructeurs/archives#create): month should not be nil 2022-08-23 15:31:17 +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
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
simon lehericey
6b5f38ce74 spec 2022-08-11 14:03:04 +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
simon lehericey
ec40836589 spec 2022-08-08 18:02:28 +02:00
simon lehericey
0b90c81c3a wrap existing spec in specific context 2022-08-08 18:02:28 +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
Paul Chavard
65e96002b1 refactor(spec): raise if old style factory is used 2022-08-04 12:10:32 +02:00
Paul Chavard
2d7803cd48 refactor(spec): use new procedure.types_de_champ factory 2022-08-04 12:10:32 +02:00
Paul Chavard
5e890cdb36 fix(factory): fix options handling on drop_down_list 2022-08-04 11:37:56 +02:00
Colin Darie
1601a18c34
test(combobox): increase wait time because component may be slow to render
Fix erreur type 'Unable to find css "li[role=\"option\"]'

Ce problème peut-être reproduit en local, en diminuant le wait à 0.001 ;
avec une plus grande valuer il disparaît.
2022-08-03 16:15:40 +02:00
Colin Darie
9ebcbbbd67
test(brouillon_spec): fix random errors due to db champs not yet updated 2022-08-03 16:15:40 +02:00
Colin Darie
e8b088c2c5
test(brouillon_spec): remove unecessary manual sleep, improve "brouillon" feedback testing 2022-08-03 16:15:39 +02:00
Colin Darie
81a9258c8a
test(brouillon_spec): use capybara wait matchers 2022-08-03 16:15:39 +02:00
Colin Darie
983815bfe8
test(brouillon_spec): fix frequent dossier_link error by using an existing dossier 2022-08-03 16:15:39 +02:00
Colin Darie
9e9b429100
test: fix frequent too many open files with webmock & capybara 2022-08-03 16:15:39 +02:00
Colin Darie
bc7cdb6b8e fix(contact): translate captcha honeypot label 2022-08-03 11:57:26 +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
Paul Chavard
f48048179c fix(conditional): enable conditional per procedure 2022-08-03 09:16:10 +02:00
Paul Chavard
a88390c6d3 refactor(types_de_champ): use new types_de_champ factory 2022-08-02 16:21:33 +02:00
Paul Chavard
21d47fa875 test(factory): spec new procedure.types_de_champ factory 2022-08-02 16:21:33 +02:00
Paul Chavard
ee9851091f test(factory): add a new way to build/create types_de_champ 2022-08-02 16:21:33 +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
058d6baae6 tests 2022-07-29 11:17:22 +02:00
Paul Chavard
31d80d80bd fix(dossier): prevent users from removing mandatory fiels after submission 2022-07-28 11:19:47 +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
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
Paul Chavard
8cba80116e fix(types_de_champ): fix exception on validation errors 2022-07-26 18:17:48 +02:00
Colin Darie
6845b2ed08 fix(export): fix PurgeStaledExportsJob regression with stale scope
cc #7547
2022-07-26 14:26:22 +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
Colin Darie
11cd73b4ac feat(export/csv): list etablisement entreprise_etat_administratif 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
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
3e40b6d7bc fix(graphql): handle annotations inside blocks 2022-07-21 14:54:14 +02:00
Paul Chavard
430365768a test(dossier.pdf): add a test case with piece_justificative inside repetition 2022-07-21 11:46:28 +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
simon lehericey
d1e3a0d29f spec 2022-07-20 11:23:57 +02:00
simon lehericey
2d26ba3507 fix: binary operator computes false by default 2022-07-19 10:11:24 +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
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
Paul Chavard
982e604b07 feat(dossier): test check conditions on en construction dossier 2022-07-12 18:32:03 +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
28a18e3912 spec: prove annotation is broken 2022-07-12 14:17:05 +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
simon lehericey
9bd1d97ed7 add feature flag 2022-07-12 10:44:40 +02:00
simon lehericey
0179a0a826 update conditions_controller 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
e9cf41a00d add system spec 2022-07-12 10:44:40 +02:00
simon lehericey
3eadff9111 refactor spec 2022-07-12 10:44:40 +02:00
simon lehericey
4a198a4c09 spec 2022-07-12 10:16:22 +02:00
Paul Chavard
b8db929e62 fix(a11y): add id to drop_down_other 2022-07-12 08:43:17 +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
93d18e2f53
fix: better email placeholder 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
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
7ad47f3eae bug(linked_dropdown/dropdown): dropdown_list : when mandatory, add an extra blank option. linked_dropdown_list : when mandatory and not filled, add an extra blank option to first list, then when select an element from the first list, another extra blank. 2022-07-11 14:47:26 +02:00
mfo
30c02491eb Update spec/controllers/targeted_user_links_controller_spec.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-07-11 14:37:01 +02:00
Martin
9f6a8cfe33 bug(targeted_user_link): from invite when user is not created, user check fails 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
d9c3dfa916 add 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
30859774e4 condition component manage invalid target 2022-07-06 20:27:14 +02:00
simon lehericey
e2a236b73d add condition_component 2022-07-06 20:27:14 +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
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
9b45dcea3f feat(demarche): add possibility to reset draft revision 2022-07-06 14:18:01 +02:00
Paul Chavard
e9d0ccbdf9 task(dossier): remove orphan champs 2022-07-06 13:28:00 +02:00
Paul Chavard
adfc4f8cdd test(dossier): improuve destroy spec 2022-07-06 11:12:14 +02:00
simon lehericey
b715d1f495 Revert "Add id to term"
This reverts commit 87385d03fd.
2022-07-06 09:44:54 +02:00
simon lehericey
87385d03fd Add id to term 2022-07-05 14:47:49 +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
04965ac35a improve constant and empty to_s 2022-07-05 12:07:06 +02:00
simon lehericey
5ebaf59fdb parent_id -> parent_stable_id 2022-07-05 11:53: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
73d5d5c919 fix spec by removing weird include 2022-07-02 16:42:32 +02:00
simon lehericey
f8c7003192 fix drop down other 2022-07-01 16:05:31 +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
Christophe Robillard
6dd27ec7ed reset opendata to true when procedure is cloned by another admin 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
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
d57530e0f9 fix(spec): including Logic module broke spreadsheet architect 2022-06-20 15:12:43 +02:00
Martin
274b5eab2e feat(invite): wrap invitation with targeted_user_links 2022-06-17 16:44:37 +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