Commit graph

1888 commits

Author SHA1 Message Date
Colin Darie
ec244f1a94
fix(procedure): auto_archive_on must be in future 2023-06-01 16:49:52 +02:00
mfo
c2f2b4ef2a
Merge pull request #9106 from mfo/api-entreprise.etablissement_adapter
API Entreprise: migration "Etablissement"
2023-06-01 11:45:47 +00:00
mfo
1a6dc10548
Merge pull request #9102 from demarches-simplifiees/8472-migrate-rna
API Entreprise: migration RNA (associations)
2023-06-01 11:37:57 +00:00
Martin
c90175f121 tech(api-entreprise.etablissement): passage du endpoint ETABLISSEMENT_RESOURCE_NAME en v3 2023-06-01 09:06:36 +02:00
Martin
0d3deb01be tech(rna_controller#show): corrige les specs et recupère uniquement les informations utilisé par l'app 2023-05-31 16:11:12 +02:00
Eric Leroy-Terquem
e8d687f5e7 fix(routing): routing engine works even with unconfigured groups 2023-05-31 11:38:16 +02:00
krichtof
0051face93
Merge pull request #9014 from demarches-simplifiees/8859-default_zones
Etq admin, lors de la création ou modification d'une démarche, des zones par défaut me sont suggérées
2023-05-26 17:25:21 +00:00
Christophe Robillard
ba281d53cf migrate entreprise adapter to v3 2023-05-26 13:37:20 +02:00
Colin Darie
795e0ca471
fix(fork): can fork a dossier having invalid champs so it can be fixed in brouillon 2023-05-24 12:15:43 +02:00
Paul Chavard
cf13b942e7
Merge pull request #9076 from colinux/fix-instructeurs-filter-avis
ETQ instructeur je peux filtrer les dossiers par avis
2023-05-24 08:05:07 +00:00
Colin Darie
ff8fba3725
fix(instructeur): can filter by avis answer 2023-05-23 09:40:21 +02:00
Colin Darie
d16b81e09c fix(rebase): don't fail on force rebased when procedure is still in draft 2023-05-22 13:50:58 +02:00
Christophe Robillard
3705dc2553 determine default zones according to tchap hs 2023-05-16 09:40:53 +02:00
Colin Darie
0d21450f8a
fix(fork): don't let active storage override our champ#updated_at after a transaction 2023-05-15 11:08:07 +02:00
Colin Darie
9b52f0902d
test(clone): move dossier#clone spec into appropriate concern 2023-05-15 11:08:06 +02:00
Paul Chavard
b4a299c326 fix(user): always rebase original dossier before merge 2023-05-12 20:42:02 +02:00
simon lehericey
6148f24387 Revert "Merge pull request #9002 from tchak/feat-procedure-clone-preview-published"
This reverts commit 7a6f46a8ad, reversing
changes made to 4513c52213.
2023-05-12 11:29:11 +02:00
Colin Darie
79f450a422
Merge pull request #9021 from colinux/feat-en-construction-fork
ETQ usager, je modifie et soumets à nouveau mon dossier “en construction"
2023-05-10 19:46:40 +00:00
Colin Darie
218c7d08c2
feat(fork): mark a fork as stale for future deletion, so it can't be reused 2023-05-09 18:49:53 +02:00
Colin Darie
f6ebfe0e47
fix(dossier): sync search_terms after merge
Use a job instead of a lot of reloads
2023-05-09 18:49:52 +02:00
LeSim
d0bb759d3d
Merge pull request #8997 from demarches-simplifiees/add_defaut_procedure_for_new_admin
ETQ admin, je veux avoir une première démarche pré remplie lorsque j'arrive sur ds
2023-05-09 16:38:55 +00:00
Paul Chavard
71cfe094aa
fix(groupe_instructeur): always use assign_to_groupe_instructeur method 2023-05-09 17:23:23 +02:00
Paul Chavard
025bd5beaf
feat(dossier): dossier can be forked for editing 2023-05-09 15:34:10 +02:00
mfo
2374ced5d2
Merge pull request #8987 from mfo/US/link-to-errored-champs
amelioration(dossier#submit_brouillon): ETQ usager, je souhaite pouvoir acceder aux champs en erreur facilement
2023-05-09 07:06:36 +00:00
Paul Chavard
7a6f46a8ad
Merge pull request #9002 from tchak/feat-procedure-clone-preview-published
ETQ Administrateur, je veux cloner la version publiée des démarches en production
2023-05-05 14:36:03 +00:00
Martin
2135985583 correctif(procedure.clone): ET admin, je souhaite pouvoir cloner une procedure ayant deux groupes d'instructeur ayant le dernier fermé 2023-05-05 11:09:06 +02:00
Paul Chavard
11065946ce fix(instructeur): fix dossiers suivis filter (merge behavior change in rails 7) 2023-05-04 18:24:18 +02:00
Paul Chavard
616188bfe3 feat(administrateur): when clone or preview procedure should use published revision if not the owned 2023-05-04 16:15:55 +02:00
simon lehericey
9c8020b05c feat(admin): add initiation procedure for a new admin 2023-05-03 15:08:21 +02:00
Colin Darie
eabc9069f8 test(super-admin): more explicit disable otp test 2023-05-03 11:37:28 +02:00
Nicolas Cavigneaux
06296e933a
fix: super admin test where attribute was not reloaded 2023-05-03 11:35:28 +02:00
Martin
c8ab1e8e03 amelioration(dossier#submit_brouillon): ETQ usager, je souhaite pouvoir acceder aux champs en erreur facilement 2023-05-03 07:36:42 +02:00
Paul Chavard
f2c1c071b4 Revert "Merge pull request #8899 from demarches-simplifiees/8738-validate-adresse-electronique"
This reverts commit d3eda28f35, reversing
changes made to 6394996e7f.
2023-04-28 16:10:20 +02:00
Paul Chavard
a41713c837
Merge pull request #8968 from demarches-simplifiees/fix_defaut_groupe_instructeur_again
Correctif: definit le groupe instructeur par defaut pour certaines procedure clonées
2023-04-26 17:59:13 +00:00
Paul Chavard
d3eda28f35
Merge pull request #8899 from demarches-simplifiees/8738-validate-adresse-electronique
ETQ usager, je veux que les champs de type adresse électronique soit validé
2023-04-26 16:52:02 +00:00
Lisa Durand
e393132fd8
Merge pull request #8936 from demarches-simplifiees/add-yes-no-column-for-instructeurs
[instructeur] ajout du nb de réponses oui/non aux avis dans le tableau d'une procedure
2023-04-26 09:05:58 +00:00
simon lehericey
0934a672fe fix: defaut_groupe_instructeur for a cloned procedure from another admin without a group with default label 2023-04-26 10:52:31 +02:00
simon lehericey
dce2bf3209 spec: move procedure.clone in subject, to enable future before 2023-04-26 10:47:51 +02:00
LeSim
c8ed0532ed
Merge pull request #8948 from colinux/fix-geoarea-geometry-blank
ETQ Usager, champ carte: ne permet pas d'enregistrer une geometry null pour ne pas casser les exports
2023-04-26 10:15:25 +02:00
Colin Darie
21a829ec1e fix(conditionel): error when using operator eq/not_eq with a multi dropdown 2023-04-26 09:58:00 +02:00
Lisa Durand
26ff82dbe4 Merge branch 'main' of github.com:betagouv/demarches-simplifiees.fr into user-dashboard/add-alert-WIP-last-dossier 2023-04-25 13:01:40 +02:00
Colin Darie
25956c5141
fix(geoarea): geometry must not be nil 2023-04-22 16:23:39 +02:00
simon lehericey
a202a57988 fix: defaut_groupe_instructeur_id for a cloned procedure 2023-04-21 12:20:50 +02:00
Lisa Durand
b52a2ca972 fix spec 2023-04-21 10:21:54 +02:00
krichtof
c2461f230c validate value for email champ 2023-04-20 18:27:02 +02:00
Paul Chavard
88f680a265
Merge pull request #8930 from tchak/fix-champ-commune-spaces
ETQ usager, je voudrai pouvoir remplir un code postal avec des espaces
2023-04-20 08:40:38 +00:00
Paul Chavard
586286cb08
Merge pull request #8916 from demarches-simplifiees/can-update-defaut-groupe-instructeur-2
feat(routage): permet de changer le groupe par défaut
2023-04-20 08:28:46 +00:00
Paul Chavard
4a2e499679 fix(commune): should accept postal codes with spaces 2023-04-20 10:16:48 +02:00
simon lehericey
e64ac79f05 tech(refactor): much nicer code, thx LeSim
root -> rooted_tree

depth_cach -> walk

smal refactor

comment

remove form for header_section

remove seen_at from header section

header_section: champ -> header_section

champ_subree: remove if not

remove root_depth use header_section_level_value instead

remove unused include

remove ChampTreeComponent

rename ChampsSubtreeComponent to SectionComponent

use TreeableConcern only in section component

remove fields_for_champ_component

champs -> tail

add split_section_champ helper

refactor(editable_champ::header_section): keep same interface everywhere

fix(repetition): add spec for SectionComponent on repetitions
2023-04-20 08:22:02 +02:00
Martin
88abefb370 tech(remaniement): isole la logique de rendu au champs_subtree_component 2023-04-20 08:22:02 +02:00
Martin
3b5d1bd55b tech(remaniement): extraction du passage d'une liste de champs a un simili arbre 2023-04-20 08:22:02 +02:00
Martin
b9faa26560 amelioration(editeur-de-champs): permet de choisir un niveau de titre (de 1 à 3) pour les champs de type Champs::HeaderSectionChamp. Gère les erreurs dans le cas ou un administrateur supprimerait un HeaderSection qui casserait l'ordre des titre [ex: titre 1,2,3. et l'admin supprime le titre 1 et il reste que 2,3]. 2023-04-20 08:22:02 +02:00
Colin Darie
9728493bda
Merge pull request #8924 from colinux/rubocop-upgrades
Tech: update rubocop, active nouveaux cops Rails/*
2023-04-19 13:37:10 +00:00
simon lehericey
79131cc294 fix spec 2023-04-19 13:52:42 +02:00
Colin Darie
7aba5ccc3e
chore(rubocop): fix Rails/DurationArithmetic 2023-04-19 12:55:13 +02:00
Paul Chavard
05cfb4055d fix(dossier): improuve dossier state display 2023-04-19 12:27:16 +02:00
Lisa Durand
c565ed415b change scope and alert location after UI modification 2023-04-18 12:03:10 +02:00
LeSim
c252748833
Merge pull request #8836 from demarches-simplifiees/improve-routing-rules-ux
feat(routing): nicer and safer ?
2023-04-17 08:23:15 +00:00
Paul Chavard
5abb6a8f12 chore(spec): remove memory store cache from tests 2023-04-13 13:10:23 +02:00
Paul Chavard
21b548d32b fix(dossier): delete all champs starting with children 2023-04-13 11:08:10 +02:00
simon lehericey
f6948cfd5e feat(routing): record first groupe as default_groupe_instructeur 2023-04-13 10:36:42 +02:00
Lisa Durand
bc3e67ab94 add alert on user dashboard to edit last editable dossier 2023-04-11 15:50:17 +02:00
Paul Chavard
def32a3615 chore(dossier): remove fallback from commune champ 2023-04-11 10:49:01 +02:00
Colin Darie
a413d2fa9c fix(admin): can delete an admin without published procedure 2023-04-07 16:10:10 +02:00
Paul Chavard
aaae3f461d feat(graphql): expose commune and departement information on address 2023-04-07 12:13:41 +02:00
Paul Chavard
ffb332159f fix(dossier): selecting blank option should not empty selection 2023-04-06 15:24:52 +02:00
Paul Chavard
b8f639721e
Merge pull request #8864 from colinux/fix-date-not-parseable
fix(date): ne crash pas lorsqu'un champ date n'as pas une date standard
2023-04-05 11:48:48 +00:00
Colin Darie
5e62aa7d21 fix(date): don't crash when date value is not parseable 2023-04-05 12:42:28 +02:00
Martin
6039539727 bug(administrateur.merge): la fusion de compte entre admin devrait aussi dissocier les services des procedures supprimées 2023-04-04 16:29:24 +02:00
Paul Chavard
2a48228552 fix(dossier): improuve commune champ rendering in pdf 2023-04-04 16:01:16 +02:00
Paul Chavard
12f0c03bac
Merge pull request #8847 from tchak/feat-improuve-dossier-remove
fix(dossier): an invited user can remove (leave) a dossier
2023-04-04 13:10:18 +00:00
simon lehericey
fd927fd116 fix(condition_check_on_children): give proper upper tdc to child condition check 2023-04-04 10:24:11 +02:00
Paul Chavard
0864666d0a fix(dossier): an invited user can remove (leave) a dossier 2023-04-03 20:10:44 +02:00
Paul Chavard
fce78bbf30 feat(dossier): multiselect without react 2023-04-03 16:54:50 +02:00
mfo
4336184fc8
Merge pull request #8833 from mfo/US/fix-valid-conditions-on-repetition
correctif(revision.validation-des-conditions): les conditions dans un bloc répétable ne remontenpt pas dans le composant ErrorsSummary
2023-03-31 15:03:12 +00:00
Martin
92f5e7663e bug(validation-des-conditions): les conditions dans un bloc repetable ne remontent pas dans la liste des erreurs de la page formulaire ou sur les changements du formulaire 2023-03-31 10:31:34 +02:00
simon lehericey
3cede55d41 feat(routing): add routing engine 2023-03-30 10:51:20 +02:00
simon lehericey
f6738be454 fix(spec): small refactor 2023-03-30 10:51:20 +02:00
Paul Chavard
01602101f1 spec(commune): improuve spec 2023-03-29 15:42:33 +02:00
Paul Chavard
00fc2f519f chore(spec): fix commune spec 2023-03-29 15:42:33 +02:00
Colin Darie
6ddbda34a2 fix(avis): don't list question_answer radios on empty question 2023-03-29 15:42:33 +02:00
Paul Chavard
76da68c3fb feat(commune): prefill by postal code and insee 2023-03-28 16:34:19 +02:00
Paul Chavard
6b8f7a0c73
Merge pull request #8795 from tchak/fix-flaky-test
fix(api_token): improuve flaky test
2023-03-22 11:01:25 +00:00
Paul Chavard
ee1df3f05f fix(dossier): fix rebasing submitted dossiers private champs type changes 2023-03-22 11:43:08 +01:00
Paul Chavard
48733a1d15 fix(api_token): improuve flaky test 2023-03-22 11:18:49 +01:00
Colin Darie
954652fcf5
fix(champ): may fix pg deadlocks: autosave already saves value at the same time 2023-03-20 14:32:14 +01:00
Paul Chavard
8ee13f1719 feat(api_token): add allowed_procedure_ids and write_access 2023-03-15 19:09:49 +01:00
Colin Darie
6a2a7fa2d0
Merge pull request #8753 from colinux/fix-auto-numering-in-repetition
Fix(dossier): ne numérote pas automatiquement les titres de section dans les répétitions
2023-03-09 15:41:57 +00:00
Colin Darie
f33d192142 fix(dossier): don't auto-number header sections in repetitions 2023-03-09 16:15:56 +01:00
Colin Darie
d6887f8aa4 fix(procedure): clone reset estimated_dossiers_count 2023-03-07 19:11:30 +01:00
Martin
401ead47f0 bug(dossier.export.pdf): l'export au format pdf d'un dossier ayant un champ de type repetition contenant un titre est bizarre 2023-03-07 07:00:28 +01:00
Colin Darie
8722ee028d
Merge pull request #8729 from colinux/fix-groupe-instructeur-wrongly-invalid
fix(groupe-instructeur): un groupe instructeur inactif est valide tant qu'il reste un groupe actif
2023-03-06 10:13:16 +00:00
Colin Darie
20d4a8153d
fix(groupe-instructeur): a closed groupe with an active groupe is a valid record 2023-03-02 16:34:18 +01:00
sebastiencarceles
00fa8dc895 transform value to also populate external id 2023-03-01 14:03:54 +01:00
sebastiencarceles
a7b21fcd7c let address champ be prefillable 2023-03-01 14:03:54 +01:00
krichtof
5840c8c7f9
Merge pull request #8711 from demarches-simplifiees/8708-demarches-publiques
Ne pas publier le descriptif de toutes les procedures sur datagouv
2023-03-01 10:09:47 +00:00
Christophe Robillard
9ff88db48c publish only some opendata procedures for datagouv
- only published or closed procedures
- only procedures with flag opendata
- only procedures with 4 or more dossiers
- only procedures without word "mail" in lien_site_web
- only procedures without word "intra" in lien_site_web
2023-02-28 17:02:08 +01:00
sebastiencarceles
f52554b5a3 review: update value with async fetch
1 - spec cover the job which fetches external data

2 - refactor the job with guard clauses

3 - delegate update operation to the champ itself

4 - annuaire education: override the update operation
to let the value be populated by the fetched data

5 - prefilling: don't fetch data synchronously
2023-02-28 14:53:08 +01:00
sebastiencarceles
447ea1b9a8 don't prefill with an incorrect value 2023-02-28 14:23:38 +01:00
sebastiencarceles
d7bfb9dc18 enrich value from education api 2023-02-28 14:23:38 +01:00
sebastiencarceles
71f1e785ab let annuaire education champ be prefillable 2023-02-28 13:26:35 +01:00
sebastiencarceles
a08bb1bddc fix epci: all possible values 2023-02-28 08:37:52 +01:00
sebastiencarceles
2ae2d99e93 fix communes: all possible values 2023-02-28 08:36:43 +01:00
Colin Darie
ae93d3927e refactor(dossier): extract sections logic in a concern 2023-02-27 17:29:22 +01:00
Colin Darie
1981bfc88e feat(tdc): strip libelle so header section titles always start with something 2023-02-27 17:29:22 +01:00
Colin Darie
d7880f7e58 feat(dossier/pdf): header sections numbering 2023-02-27 17:29:22 +01:00
Colin Darie
3de089d6c7 fix(conditional): dynamic title counters using css
Closes #8086
2023-02-27 17:29:22 +01:00
sebastiencarceles
35f4874b69 allow integers only 2023-02-27 15:16:40 +01:00
sebastiencarceles
13229158bd let dossier link champ be prefillable 2023-02-27 15:14:39 +01:00
sebastiencarceles
39545671f3 refacto: better error management 2023-02-27 14:35:11 +01:00
sebastiencarceles
33fa40eda2 don't clean the rna champ value
Cleaning the value is useless, when fetching the association,
as the value will be re-written by the dossier update, when the user
fills in the dossier.

Furthermore we need the value to persist when prefilling the champ.
2023-02-27 14:35:11 +01:00
Sébastien Carceles
7e55aca107 allow rna prefill 2023-02-27 14:35:11 +01:00
sebastiencarceles
7d65a34bc6 rna champ can fetch it's own association 2023-02-27 14:31:58 +01:00
sebastiencarceles
becf4da70a fix raison social fetch 2023-02-27 13:54:35 +01:00
sebastiencarceles
5dce401a14 review: add missing spec 2023-02-27 13:47:56 +01:00
sebastiencarceles
30eef3e128 review: detailled error message 2023-02-27 13:45:16 +01:00
Sébastien Carceles
2ad4e4c01f refacto: better error management 2023-02-27 13:45:16 +01:00
Sébastien Carceles
b6c74b0e83 fetch etablissement when editing the dossier 2023-02-27 13:45:16 +01:00
Sébastien Carceles
df2eaa9542 don't clean the siret champ value
Cleaning the value is useless, when fetching the etablissement,
as the value will be re-written by the dossier update, when the user
fills in the dossier.
2023-02-27 13:45:16 +01:00
Sébastien Carceles
3eb76d8a43 allow siret prefilling 2023-02-27 13:45:16 +01:00
Sébastien Carceles
5876dab096 siret champ can fetch it's own etablissement 2023-02-27 13:39:31 +01:00
sebastiencarceles
da6ce0f528 add example 2023-02-27 12:20:11 +01:00
sebastiencarceles
76c9d1ada5 add possible values 2023-02-27 11:53:25 +01:00
sebastiencarceles
40b7ea3af2 transform the input value to assignable attributes 2023-02-27 11:51:24 +01:00
sebastiencarceles
46091cb6b4 let communes champ be prefillable 2023-02-27 11:50:25 +01:00
Damien Le Thiec
67bbacbb05
Merge pull request #8513 from demarches-simplifiees/feature/prefill_repetible
Prefill repeatable
2023-02-27 09:58:53 +00:00
Paul Chavard
21f47dcb01 feat(procedure): include deleted dossiers in stats 2023-02-23 17:14:25 +01:00
Paul Chavard
eb3039aeca fix(demarche): exclude preview and deleted dossiers from stats 2023-02-23 16:38:40 +01:00
Damien Le Thiec
731cd56594 Merge branch 'main' into feature/prefill_repetible 2023-02-22 19:49:06 +01:00
Damien Le Thiec
ca29079c27 Fix rubocop 2023-02-22 19:40:52 +01:00
Damien Le Thiec
fbe4fe251a Fix format prefill repetition 2023-02-22 19:32:25 +01:00
Sébastien Carceles
28c6fd8cfc
Improve EPCI specs (#8634)
* fix nonsense spec

* refactor spec
2023-02-22 09:16:58 +00:00
Damien Le Thiec
cc2ec995d6 Fix tests 2023-02-21 17:32:24 +01:00
Damien Le Thiec
2052bc7840 Remove dependency type_de_champ -> procedure 2023-02-21 16:00:58 +01:00
Christophe Robillard
c5acd82e6e update dossiers count when passing to construction 2023-02-21 10:06:07 +01:00
Christophe Robillard
bd92291f8a cache dossiers count 2023-02-21 10:06:07 +01:00
Damien Le Thiec
d2452980fe Fix merge conflict spec 2023-02-16 20:17:05 +01:00
Damien Le Thiec
dce4c84f9a Merge branch 'main' into feature/prefill_repetible 2023-02-16 17:08:30 +01:00
Damien Le Thiec
6231c75e07 Fix tests conflicts 2023-02-16 16:58:55 +01:00
Paul Chavard
c0ad7853cb fix(administrateur): procedure page n+1 2023-02-16 11:29:21 +01:00
sebastiencarceles
d5ffd61ab6 validate values inclusion 2023-02-16 10:49:15 +01:00
sebastiencarceles
d648ac31c2 add prefill decorator for multiple drop down list 2023-02-16 10:49:15 +01:00
sebastiencarceles
cbe2dc9c2d let the multiple drop down list be prefillable 2023-02-16 10:49:15 +01:00
Damien Le Thiec
96b9ec3f42 First fix tests 2023-02-15 18:13:16 +01:00
Damien Le Thiec
539b9e4f10 Merge branch 'main' into feature/prefill_repetible 2023-02-15 17:53:06 +01:00
Damien Le Thiec
4876d583b6 Merge branch 'main' into feature/prefill_repetible 2023-02-15 17:39:19 +01:00
Damien Le Thiec
4b3d403d7e fix spec 2023-02-15 17:14:29 +01:00
Damien Le Thiec
5a89a2dbe4 Use Stable ID for repetitions prefill 2023-02-15 12:15:34 +01:00
sebastiencarceles
8aa31522b6 cover feature with specs 2023-02-15 12:14:11 +01:00
sebastiencarceles
07b5a3b4b5 manage types de champ with multiple example values 2023-02-15 12:14:11 +01:00
sebastiencarceles
edf90a77f3 validate epci to reject incorrect prefill values 2023-02-15 12:14:11 +01:00
sebastiencarceles
5ac80f968a add possible and example values 2023-02-15 12:14:11 +01:00
sebastiencarceles
f836f57e98 transform the input value to assignable attributes
Use the prefill decorator to transform the input value (for example
['01', '200042935']) into assignables attributes (for example
{ code_departement: '01', value: '200042935' }), in order to let the
champ be prefilled successfully.
2023-02-15 12:14:11 +01:00
sebastiencarceles
0f483668cf let epci champ be prefillable 2023-02-15 12:14:11 +01:00
Paul Chavard
8b74a6f39b fix(geometry): implement our own bbox to replace rgeo 2023-02-15 11:58:59 +01:00
Damien Le Thiec
2533ca50d4 Merge branch 'main' into feature/prefill_repetible 2023-02-15 11:07:56 +01:00
sebastiencarceles
681e1cf518 ♻️ refactor possible_values impl for clarity 2023-02-14 13:45:30 +01:00
sebastiencarceles
67ef3a16fa review: put example values in translation yamls 2023-02-14 09:23:52 +01:00
Sébastien Carceles
12abf9045b add external_id and value validation 2023-02-14 09:23:11 +01:00
Sébastien Carceles
a235829ddd add possible and example values 2023-02-14 09:19:55 +01:00
Sébastien Carceles
cd3a72ddce make departements champ prefillable 2023-02-14 09:19:19 +01:00
Damien Le Thiec
899c8a6589 Add documentation json parse rescue repetition 2023-02-13 14:17:53 +01:00
Sébastien Carceles
1a72b80f8f
fix: "remove" a champ to prefill (#8612)
* fix: "remove" a champ to prefill

Removing a champ to prefill on /preremplir used to fail, because of a
collusion (having the same form multiple times on un page looks like a
bad idea, when it comes to multiple input fields).

* fix specs
2023-02-13 08:17:22 +00:00
Damien Le Thiec
ea126612a1 Refacto to_assignable_attributes for prefill_repetition 2023-02-12 13:02:30 +01:00
Damien Le Thiec
fc94aaaa21 Use "to_assignable_attributes" 2023-02-12 11:55:28 +01:00
Damien Le Thiec
dbb92e7fd3 Merge branch 'main' into feature/prefill_repetible 2023-02-11 22:40:56 +01:00
Damien Le Thiec
2a3ba28343 Fix tests possible value prefill 2023-02-11 22:27:16 +01:00
Damien Le Thiec
a4d707f942 Improve format prefill possible_values (tests missing) 2023-02-09 18:08:51 +01:00
Damien Le Thiec
c5f1f80d25 Add prefill params tests repetition 2023-02-08 17:38:51 +01:00
Paul Chavard
dc9a455d22 fix(dossier): prevent crash in rebase 2023-02-08 11:11:14 +01:00
Damien Le Thiec
a51ed0094b Fix tests 2023-02-07 00:28:21 +01:00
Damien Le Thiec
b9c2d1251b Add missing tests repetition prefill 2023-02-06 17:38:59 +01:00
Paul Chavard
6924b8e46d feat(dossier): optional repetition champ should not add first row 2023-02-06 11:53:32 +01:00
Damien Le Thiec
63e7c17fda First tests for prefill repetition 2023-02-03 12:14:18 +01:00
Paul Chavard
2971100081 fix(dossier): do not try to rebase if procedure is not published 2023-02-02 10:11:46 +01:00
Paul Chavard
fc31ef6da3 chore(dossier): move concern spec to concern folder 2023-02-02 10:11:29 +01:00
Lisa Durand
120fbb0ef7 Overload the finished_at 2023-02-01 17:06:04 +01:00
Lisa Durand
d0a131dc55 change the way we set the finished_at on batch operation job to fix alert display bug 2023-02-01 17:06:04 +01:00
Damien Le Thiec
e7c78321d9 Fix new failing tests 2023-02-01 13:35:32 +01:00
Damien Le Thiec
a4645855d3 Fix tests prefillable repetition 2023-02-01 12:02:09 +01:00
Paul Chavard
9c83939431 fix(dossier): fix adding repetition in a new revision 2023-02-01 10:36:46 +01:00
Damien Le Thiec
d7b01255fe Merge branch 'main' into feature/prefill_repetible 2023-01-31 16:39:00 +01:00
Colin Darie
5cddb1c74e fix(procedure_presentation): options groupe_instructeur for that procedure only 2023-01-31 13:55:06 +01:00
Paul Chavard
dcbe16603a fix(dossier): fix parser with dashes 2023-01-31 10:40:48 +01:00
Paul Chavard
ca05fb753b fix(only_present_on_draft?): broken when type_de_champ is removed from later revisions 2023-01-31 09:26:50 +01:00
Martin
dbe64cf0c8 correctif(date_champ): renforce la validation avec le parsing de la date plutot qu'une approche par regexp 2023-01-30 13:01:24 +01:00
Martin
78f9910fd0 bug(date): la validation est trop lache 2023-01-30 13:01:24 +01:00
Paul Chavard
2f4e85f163 fix(dossier): set rebased_at only on changed champs 2023-01-30 12:01:11 +01:00
Paul Chavard
298721f90d fix(dossier): fix clone with data 2023-01-30 10:58:26 +01:00
Colin Darie
923ee59e92 refactor(instructeurs/perf): don't load anymore geo areas for each champ because of header
Economise 1 requête par champ sur chaque page instructeur d'un dossier
à cause du header juste pour savoir s'il faut afficher
le bouton d'export GeoJSON.
2023-01-26 14:57:45 +01:00
Colin Darie
51c1736d00 refactor(conditional): extract in a ChampConditionalConcern with tests 2023-01-26 09:06:30 +01:00
Colin Darie
81f00774af feat(logic): operators sources 2023-01-26 09:06:30 +01:00
Sébastien Carceles
49ce255e29
feat(dossier): prefill region champ (#8442)
* make regions champ prefillable

* add possible and example value

* add external_id and value validation
2023-01-24 11:25:17 +00:00
mfo
84a667b8bd
Merge pull request #8454 from tchak/feat-epci
feat(types de champ): add EPCI champ
2023-01-23 16:56:18 +01:00
Sébastien Carceles
92c769de4f
fix(prefill): code pays display (#8477)
* show translated text AND possible values

* show less possible values

* show countries possible values
2023-01-23 14:08:20 +00:00
Sébastien Carceles
68ddae7382
feat(demarche): prefilling stats (#8436)
* force json content type for POST / PATCH / PUT

* add specs about stats dossiers funnel

* new endpoint to render stats about a procedure
2023-01-20 13:28:02 +00:00
Paul Chavard
a4cbbe721e feat(types de champ): add EPCI champ 2023-01-20 11:32:36 +01:00
Sébastien Carceles
0046338e6a
fix(prefill): don't mark the dossier as prefilled when it's not (#8464)
A dossier should not be marked as prefilled when it's not, meaning
when no prefill params are given.
2023-01-19 10:51:56 +00:00
Colin Darie
428dd9bf1a fix(dossier): we can't terminer any dossier having etablissements in degraded mode
Closes #8449
2023-01-18 19:23:25 +01:00
Damien Le Thiec
3a8a50a216
Allow prefill pays type de champs (#8344)
* Allow prefill pays type de champs

* Avoid conditional prefil params for pays champ

* Clean pays data with batch update

* Fix bug and add test batch update pays value

* Improve performance batch_update_pays

* Fix associated country code problem

* Fix after party task name

* Format country name if needed in batch update
2023-01-18 12:52:38 +01:00
Sébastien Carceles
5c7b2ba1f3
feat(dossier): prefill drop down list champ (#8361)
* feat(dossier): prefill drop down list champ

* decorate the types de champ to avoid if / else

In order to avoid doing if this a drop down ? / else at several places,
we decorate the types de champ and let the decorator give the possible
and example values.

* show all possible values when there are too many

* allow to prefill 'other' option

* review: remove duplicate

* review: refactor for readability

* validate that value is in options

* review: exclude disabled options
2023-01-18 09:47:22 +01:00
Paul Chavard
44488c7014 feat(dossier): use select in filters bygroupe instructeur 2023-01-16 14:00:08 +01:00
Damien Le Thiec
5e26acb0e1
Make date and datetime prefillable (#8304)
* Make date and datetime prefillable

* Format in ISO8601 format
2023-01-12 17:42:02 +01:00
simon lehericey
528b2c2b88 fix(procedure): valid juridique on create and publication 2023-01-11 14:05:17 +01:00
Paul Chavard
af33d5d65c refactor(repetition): use row_id instead of row 2023-01-10 19:31:41 +01:00
Colin Darie
d58e6a2f9c refactor(email): remove pseudonymization, it will be done at dump-time 2023-01-10 16:07:35 +01:00
Colin Darie
6cb2389eef chore(email): add an observer which log the emails dispatched 2023-01-10 16:07:35 +01:00
Paul Chavard
5a4cefc5c5 fix(dossier): fix rebase with drop down options 2023-01-06 14:15:46 +01:00
Sébastien Carceles
06b8a0f734
feat(dossier): prefill boolean champs (#8381) 2023-01-06 14:01:59 +01:00
Paul Chavard
940f8c0474 fix(graphql): fix departements with alphanumeric codes 2023-01-05 17:33:03 +01:00
Lisa Durand
d7ebb67889 implement first step - accepte without motivation and PJ 2023-01-05 16:20:18 +01:00
Paul Chavard
378f3c5fb0 use join table instead of arrays 2023-01-05 16:20:18 +01:00
Paul Chavard
26e02c7173 fix(template): trix will transform double spaces in   2023-01-05 13:23:24 +01:00
Sébastien Carceles
fa6fc077b4
normalize boolean values (#8320)
* extract parent for yes no and checkbox champs

* checkbox stores true / false instead of on / off

* normalize blank value to nil

* normalize invalid value to false

* after party task: normalize checkbox values

* after party task: normalize yes_no values
2023-01-05 11:18:27 +00:00
Paul Chavard
6e18090fb3 refactor(virus_scan_result): use column instead of metadata on blob 2023-01-04 12:12:11 +01:00
Sébastien Carceles
456be420fa
feat(demarche): describe dossier prefilling with POST (#8298)
* feat(demarche): describe dossier prefilling with POST

* show response example
2023-01-04 07:31:31 +00:00
Martin
a4d6692bc6 accessibilite(pages-authentification): evolutions des pages de connexion/creation de compte pour respecter le DSFR et supporter une meilleure accessibilite
Update app/components/dsfr/input_component/input_component.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>
2023-01-03 16:26:05 +01:00
Martin
76301d4c32 correctif(api_entreprise_token): les nouveaux tokens stockent les roles dans sous la clé scopes et non plus roles 2023-01-03 15:32:50 +01:00
Sébastien Carceles
20136b7ac8
feat(demarche): create and prefill a dossier with POST request (#8233)
* add base controller for public api

* add dossiers controller with basic checks

* create the dossier

* ensure content-type is json

* prefill dossier with given values

* mark a dossier as prefilled

When a dossier is prefilled, it's allowed not to have a user.

Plus, we add a secure token to the dossier, which we will need later to set a
user after sign in / sign up.

* set user as owner of an orphan prefilled dossier

When a visitor comes from the dossier_url answered by the public api,
the dossier is orphan:
- when the user is already authenticated: they become the owner
- when the user is not authenticated: they can sign in / sign up / france_connect
and then they become the owner

So here is the procedure:
- allow to sign in / sign up / france connect when user is unauthenticated
- set dossier ownership when the dossier is orphan
- check dossier ownership when the dossier is not
- redirect to brouillon path when user is signed in and owner

* mark the dossier as prefilled when it's prefilled
(even with a GET request, because it will be useful later on, for
exmample in order to cleanup the unused prefilled dossiers)

* system spec: prefilling dossier with post request
2023-01-03 14:46:10 +01:00
mfo
31735e16d8
Merge pull request #8339 from mfo/US/fix-departement-champs
Us/fix departement champs
2022-12-27 16:01:35 +01:00
Martin
186d4e6539 correctif(ChampDepartement): gere les departement a 3 codes 2022-12-27 14:55:57 +01:00
Paul Chavard
9b3fa4dd3c refactor(revision): changes should be domain objects 2022-12-27 10:58:53 +00:00
Paul Chavard
0b10c73bcf feat(prefill): allow to prefill private annotations 2022-12-26 22:14:17 +00:00
Paul Chavard
4a4ce67ef6 fix(dossier): explicitly send draft notification email 2022-12-26 22:02:33 +00:00
Damien Le Thiec
9e083ea3f7
Merge branch 'main' into feature/prefill_civility 2022-12-26 11:31:52 +01:00
Paul Chavard
4c516a6991 feat(dossier): allow to rebase champs with value made mandatory 2022-12-22 13:08:04 +01:00
Paul Chavard
00218fded2 fix(dossier): update spec 2022-12-21 14:03:02 +01:00
Paul Chavard
3f0f5e381f refactor(regions): champ regions to use simple select 2022-12-21 14:03:02 +01:00
Paul Chavard
e0b0a42bc3 refactor(departements): champ departements to use simple select 2022-12-21 14:03:02 +01:00
Paul Chavard
f7c1dff22a refactor(pays): champ pays to use simple select 2022-12-21 14:03:02 +01:00
Christophe Robillard
11a18516b2 remove feature flag zonage 2022-12-21 09:02:16 +01:00
Damien Le Thiec
c4e427642f Allow prefill civility 2022-12-20 14:38:05 +01:00
Sébastien Carceles
e4a7a4c391
hide values and examples for unprefillable champs (#8309)
* hide values and examples for unprefillable champs

*  put prefillable champs first
2022-12-20 13:37:25 +00:00
Sébastien Carceles
dd0a05c1d8
feat(prefill): add possible values (#8299)
* update layout in order to show possible values

* filter out non fillable types de champ
2022-12-20 11:04:42 +01:00
Sébastien Carceles
0a10a08c21
feat(demarche): describe procedure prefilling (#8187)
* feat(demarche): description

Show the description of an opendata procedure (published or draft),
with help about how to prefill a dossier for this procedure.

Co-authored-by: Damien Le Thiec <damien.lethiec@gmail.com>
2022-12-19 11:32:09 +00:00
Martin
2be4441a70 amelioration(attestion.et.mail): deduplique les message d'erreur, améliore les messages d'erreur, gère la pluralisation des erreurs lorsque plusieurs tags sont concernés 2022-12-19 09:28:46 +01:00
Martin
dd74834689 amelioration(attestation.et.mail): desactive les tags sur les champs conditionnés et informe l'usager que ca arrivera 2022-12-19 09:28:46 +01:00
Martin
ef389eab41 amelioration(attestation.et.mail): repositionne les messages d'erreur lié à la substitution des balises a proximité du formulaire pour faciliter la comprehension. passage des champs au DSFR 2022-12-19 09:28:46 +01:00
Sébastien Carceles
b8ff0ba4a2
feat(demarche): sign up when prefilling a dossier (#8247)
* store prefill params in session

Instead of using query params on /dossier/new, we assume the user comes
from /commencer/:path, which is the new prefill link.

There, we store the prefill params in session, and use them to prefill
the dossier when creating it, in /dossiers/new.

* spec: cover the case

* review: serialize with json instead of yaml

* review: rename method

* review: store only query params

* review: comment why we dont override already stored params
2022-12-15 10:58:17 +01:00
Lisa Durand
39a9660df6 remove redundant and failing test 2022-12-15 10:04:25 +01:00
Lisa Durand
eea42aad6b fix linter 2022-12-15 10:04:25 +01:00
Lisa Durand
89730b485b add bulk action feature for 'passer_en_instruction' 2022-12-15 10:04:25 +01:00
Colin Darie
7ff04c1a05
style(instructeurs): human/i18n value for state filter 2022-12-15 09:34:10 +01:00
Paul Chavard
243a8301bb fix(dossier): authorize passage en instruction if auto archive is on and is in the past 2022-12-14 22:16:13 +01:00
Paul Chavard
59bdd4bd92 fix(tags): relax parser roules 2022-12-14 17:53:36 +01:00
Paul Chavard
9149e0fcd7 feat(revision): allow more dossiers to rebase 2022-12-14 17:42:27 +01:00
sebastiencarceles
4e1dff0dce fix schema about prefilled default 2022-12-14 15:44:27 +01:00
Paul Chavard
1b95809f14 refactor(dossier): flatten champ attributes 2022-12-14 13:03:06 +01:00
Paul Chavard
7929b7d0d7 clean(api_token): remove administrateur token support 2022-12-08 17:35:21 +01:00
sebastiencarceles
69d61913f5 review: unauthorize complex champs 2022-12-08 15:27:39 +01:00
sebastiencarceles
bf03e3b35a review: prefix typed ids with 'champ_' 2022-12-08 15:27:39 +01:00
sebastiencarceles
373e8aeadb review: validate prefilled champs only 2022-12-08 15:27:39 +01:00
sebastiencarceles
1e21a3d3e1 review: query the db only once 2022-12-08 15:27:39 +01:00
sebastiencarceles
ab30af5fe5 review: move Prefillable to concern directory 2022-12-08 15:27:39 +01:00
sebastiencarceles
79ef48cafb make the dossier prefillable 2022-12-08 15:27:39 +01:00
sebastiencarceles
f4e1a09e73 prepare prefilled values from ctrl params 2022-12-08 15:27:39 +01:00
sebastiencarceles
24802985a2 feat(dossier): prefill dossier from query params 2022-12-08 15:27:39 +01:00
simon lehericey
c085c7820f fix(spec): update spec with new timestamp 2022-12-07 19:28:01 +01:00
Paul Chavard
ebbada752f feat(api_token): add APIToken model 2022-12-07 18:19:37 +01:00
Paul Chavard
bb47e8d2ab fix(dossier): dossier.repasser_en_construction! should take disable_notification 2022-12-07 13:14:59 +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
ed4d5cb36a refactor(demarche): make declarative demarche processing syncroneous 2022-12-06 11:41:25 +01:00
Martin
ea8bd13bcf poc(batch_operation.purge): nettoie les batch terminé ou inutiles 2022-12-06 11:28:48 +01:00
Martin
b0ae2e8a0f clean(spec): rubocopify / fix specs 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
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
Colin Darie
7cbe6bbaa4 fix(attachment): clone piece justificatives with multiple attachments 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
Paul Chavard
c5901fbb95 clean(type_de_champ): remove magic factory 2022-12-01 16:36:59 +01:00
Paul Chavard
06f43f99d0 fix(dossier): excluded deleted dossiers from demarche overview 2022-11-29 16:41:31 +01:00
simon lehericey
f96a7f432c clean(dossier): useless method 2022-11-29 15:33:10 +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
c0fd080d0e refactor(operation_log): store data in jsonb instead of files 2022-11-22 18:06:05 +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
fcfe09f05a refactor(user): rename delete_and_keep_track_dossiers 2022-11-16 17:52:47 +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
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
Paul Chavard
95f65900d3 refactor(active_storage): no download on clone 2022-11-10 12:25:55 +00: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
simon lehericey
1760ccbc01 fix(merge): transfers hidden procedures 2022-11-07 14:11:05 +01:00
Eric Leroy-Terquem
aca2775874 remove routee? method 2022-11-04 12:03:44 +01:00
Eric Leroy-Terquem
5578115acf update routee? method 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
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
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