Commit graph

575 commits

Author SHA1 Message Date
seb-by-ouidou
c45e2eaccc feat: write message to gestionnaires as administrateur 2024-01-09 13:25:04 +01:00
Colin Darie
3b0e4e59d5
Merge pull request #9858 from colinux/fix-invite-html-injection
Tech: sanitize les messages utilisateurs dans les emails
2023-12-14 17:27:28 +00:00
Colin Darie
fd7839773b fix(email): sanitize user message 2023-12-14 12:51:56 +01:00
Lisa Durand
f6f18e9c86 send email to tiers if notification by email is set 2023-12-12 22:35:11 +00:00
seb-by-ouidou
8c1bc9e62f feat: batch action for repousser_expiration depuis expirant 2023-12-09 06:27:00 +01:00
seb-by-ouidou
5c80f6c3f0 feat: batch action for desarchiver 2023-12-09 06:27:00 +01:00
seb-by-ouidou
c0c2e35881 feat: batch action for restaurer 2023-12-09 06:27:00 +01:00
seb-by-ouidou
5ec95d781c feat: batch action for supprimer 2023-12-09 06:27:00 +01:00
Paul Chavard
a2ed35d44e spec(dossier): improuve dossier with state factories 2023-11-14 23:59:45 +01:00
mfo
b61fa88fe0
Merge pull request #9621 from mfo/US/type-de-champs-ej
amelioration(chorus): ETQ admin, je peux ajouter un type de champ EngagementJuridique
2023-11-09 14:40:49 +00:00
mfo
87c3615774 review(tech): utilise un code unique pr les elements de l'autocomplete, corrections de typos, amelioration du code
Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-11-09 11:10:17 +01:00
Martin
13624f0f7e add type de champs ej bin/rails generate add_champ EngagementJuridique 2023-11-09 10:09:13 +01:00
Colin Darie
ad671092c0
refactor(announces): note form as view component 2023-11-08 18:23:07 +01:00
Eric Leroy-Terquem
0968f02a26
Merge pull request #9648 from demarches-simplifiees/add-rnf-service
Ajout d'un nouveau référentiel : le Répertoire National des Fondations (RNF)
2023-11-08 09:06:47 +00:00
Paul Chavard
34a76d8afd feat(dossier): commune champ is an autocomplete now 2023-11-07 20:58:39 +01:00
Eric Leroy-Terquem
694cbcd0a2 feat(rnf): add rnf type_de_champ 2023-11-07 14:21:28 +01:00
Martin
857c1f0c21 amelioration(ChorusComponent): ameliore le rendu de la tuile si celle ci n'est que partiellement rempli 2023-10-19 07:31:14 +02:00
Kara Diaby
a26df43577 User : Ajoute le type de champ Expression régulière coté utilisateur 2023-10-16 08:53:52 +00:00
Kara Diaby
3b5bbb0779 Add new type de champ expression_reguliere with tests 2023-10-16 08:53:52 +00:00
Colin Darie
760005de35
chore(schema): add dossiers_count & instructeur_id to exports 2023-10-09 11:23:12 +02:00
seb-by-ouidou
44b4b5d0ab feat: rename admins_group_manager to gestionnaire 2023-10-03 13:51:57 +02:00
seb-by-ouidou
e2f792b44b FEAT: init admins group 2023-10-03 13:51:57 +02:00
Christophe Robillard
41b2c9355b instructeur can update contact information for groupe instructeur 2023-09-11 08:58:04 +02:00
Christophe Robillard
ef7b0c7377 alert admin with procedures without service 2023-07-27 10:08:30 +02:00
Colin Darie
5998cfe31f refactor(correction): rename kind => reason with default correction => incorrect 2023-07-21 16:45:47 +02:00
Lisa Durand
3e30834644
Merge pull request #9274 from demarches-simplifiees/bach-operation-all-instruction-actions
[Actions multiples] Ajouter la possibilité pour les instructeurs de classer sans suite et refuser
2023-07-12 09:43:29 +00:00
Colin Darie
73a28d2eca
fix(sva): don't process dossiers submitted before sva was enabled 2023-07-11 10:02:47 +02:00
Colin Darie
7225f1b023
fix(sva): not compatible with declarative procedure 2023-07-11 10:02:47 +02:00
Colin Darie
e1b21f980f
feat(sva): pending correction email mention sva/svr 2023-07-11 10:02:47 +02:00
Colin Darie
512f6ca0ec
feat(sva): reset start date when on a correction "incomplete" 2023-07-11 10:01:49 +02:00
Colin Darie
afe373c6b4
feat(sva): transition to en_instruction when (re-)submitting a dossier 2023-07-11 10:01:46 +02:00
Colin Darie
8c52c4f63f
feat(sva): date calculator service for a dossier and a procedure 2023-07-11 10:01:46 +02:00
Paul Chavard
d5820277c0 feat(cojo): add cojo type de champ 2023-07-10 14:57:34 +02:00
Lisa Durand
b2ba15a277 add specs 2023-07-04 11:40:11 +02:00
Eric Leroy-Terquem
a2c636d784 fix(tests): create groupe instructeurs with factory 2023-07-03 14:47:56 +02:00
Eric Leroy-Terquem
16676a3d3f test(groupe instructeur): toggle routing in after create in factory 2023-07-03 14:47:56 +02:00
Paul Chavard
6723bdcd9d fix(carto): no crash on points with elevation 2023-06-12 14:56:52 +02:00
Paul Chavard
c4432b1b47 perf(carto): use json schema to validate geojson instead of rgeo 2023-06-06 15:43:56 +02:00
Colin Darie
5ab44fc7a9
chore: rename dossier_resolution => dossier_correction 2023-06-02 16:16:14 +02:00
Colin Darie
2c79ca94f5
chore(schema): create dossier_corrections 2023-06-02 16:13:15 +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
simon lehericey
6f41f0e1c6 factories: add traits about files 2023-05-16 14:49:36 +02:00
Christophe Robillard
3705dc2553 determine default zones according to tchap hs 2023-05-16 09:40:53 +02:00
Colin Darie
25956c5141
fix(geoarea): geometry must not be nil 2023-04-22 16:23:39 +02: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
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
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
21b548d32b fix(dossier): delete all champs starting with children 2023-04-13 11:08:10 +02:00
Martin
4f9c45c489 bug(export.pdf): ETQ expert, lorsque j'exporte un dossier, celui ci devrait contenir les avis non confidentiels ainsi que mes avis 2023-03-28 16:55:12 +02:00
Damien Le Thiec
731cd56594 Merge branch 'main' into feature/prefill_repetible 2023-02-22 19:49:06 +01:00
Martin
5e10e680dc chore(spec): corrige les spec cassées et remanie un peu des specs ecrites 2023-02-20 11:47:14 +01:00
Martin
a89f5d373f amelioration(procedures#filtres): filtre par regions avec un enum sur la collection des regions normalisés 2023-02-20 11:47:14 +01:00
Martin
68de0c6566 correctif(procedures#filtres): le filtre par departement ne fonctionnait plus. utilise un enum sur la collection des departements possible normalisés 2023-02-20 11:47:14 +01:00
Damien Le Thiec
dce4c84f9a Merge branch 'main' into feature/prefill_repetible 2023-02-16 17:08:30 +01:00
sebastiencarceles
d5ffd61ab6 validate values inclusion 2023-02-16 10:49:15 +01:00
Damien Le Thiec
dbb92e7fd3 Merge branch 'main' into feature/prefill_repetible 2023-02-11 22:40:56 +01:00
Damien Le Thiec
b9c2d1251b Add missing tests repetition prefill 2023-02-06 17:38:59 +01:00
Martin
6a25120f80 amelioration(dolist_api): echoue avec un fail pour remonter dans notre gestion des retry 2023-02-03 17:19:36 +01:00
Damien Le Thiec
63e7c17fda First tests for prefill repetition 2023-02-03 12:14:18 +01:00
Colin Darie
eb9cd90ee8 chore(schema): +procedure#estimated_duration_visible 2023-02-01 11:02:55 +01:00
Paul Chavard
a4cbbe721e feat(types de champ): add EPCI champ 2023-01-20 11:32:36 +01:00
Paul Chavard
cdb3ce65cb feat(graphql): expose more information on demarche descriptor 2023-01-18 13:46:40 +01:00
Colin Darie
784b0458fe feat(dolist): consolidate dispatched events with delivered emails 2023-01-18 09:56:40 +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
Martin
0aba708b34 correctif(spec): associe le dossier suivis a l'instructeur du batch operation. sinon c'est un autre instructeur qui est crée 2023-01-16 11:14:29 +01:00
Lisa Durand
06c6a4ab0c add action 'unfollow' to page 'suivis' 2023-01-16 11:14:29 +01:00
Lisa Durand
2f666b487e add action 'repasser en construction' to page 'suivis' 2023-01-16 11:14:29 +01:00
Paul Chavard
af33d5d65c refactor(repetition): use row_id instead of row 2023-01-10 19:31:41 +01:00
Lisa Durand
25a7fa5a34 add bulk action 'follow' 2023-01-09 11:58:51 +01:00
Lisa Durand
d7ebb67889 implement first step - accepte without motivation and PJ 2023-01-05 16:20:18 +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
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
Martin
186d4e6539 correctif(ChampDepartement): gere les departement a 3 codes 2022-12-27 14:55:57 +01:00
Martin
48c80e9387 correctif(api/v1): ajoute la methode manquante for_api sur le type de champs departement 2022-12-27 11:45:43 +01:00
Damien Le Thiec
9e083ea3f7
Merge branch 'main' into feature/prefill_civility 2022-12-26 11:31:52 +01:00
Christophe Robillard
f4977f358b fix spec procedure_cloning
add zone to new procedure
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
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
Lisa Durand
89730b485b add bulk action feature for 'passer_en_instruction' 2022-12-15 10:04:25 +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
ebbada752f feat(api_token): add APIToken model 2022-12-07 18:19:37 +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
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
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
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
cafda4f6f0 refactor(attestation_template): move to procedure 2022-11-23 12:26:26 +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
Eric Leroy-Terquem
aca2775874 remove routee? method 2022-11-04 12:03:44 +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
Damien Le Thiec
73f6063c87
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 15:36:46 +02:00
Martin
6752da40a9 test(procedure.direction): can we drop this column ? 2022-10-07 18:39:17 +02:00
Christophe Robillard
bdcb451d3c procedure publiee must have one zone at least 2022-10-07 10:48:35 +02:00
Martin
a256dfbaa0 fix(spec): missed a failed spec previously. sorry 2022-10-06 15:34:29 +02:00