Commit graph

3107 commits

Author SHA1 Message Date
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
ad77b9321b amelioration(formulaire-usager): groupes les champs suivant un titre de section dans une balise html de type <fieldset> de sorte a améliorer l'accessibilite de la plateforme 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
Paul Chavard
ce466d072a feat(manager): display procedure state and unpublished date 2023-04-19 19:59:54 +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
9c6af921e5 Use has_one defaut_procdre to avoid before destroy prepend 2023-04-19 13:52:42 +02:00
simon lehericey
95ab81fd1c feat(routing): use procedure.defaut_groupe_instructeur_id to find defaut_groupe_instructeur 2023-04-19 13:52:41 +02:00
Paul Chavard
8904516b85 chore(procedure): remove duplicate code 2023-04-19 13:00:37 +02:00
Colin Darie
1af404c5e7
chore(rubocop): fix Rails/WhereMissing 2023-04-19 12:55:14 +02:00
Colin Darie
f4ad5289cd
chore(rubocop): fix Rails/RedundantPresenceValidationOnBelongsTo 2023-04-19 12:55:14 +02:00
Colin Darie
20f0b64736
chore(rubocop): fix Rails/WhereNotWithMultipleConditions 2023-04-19 12:55:14 +02:00
Colin Darie
e9649b667e
chore(rubocop): fix Rails/IgnoredColumnsAssignment 2023-04-19 12:55:14 +02:00
Colin Darie
8fa5e0dbb8
chore(rubocop): fix Rails/UnusedIgnoredColumns 2023-04-19 12:55:14 +02:00
Colin Darie
7aba5ccc3e
chore(rubocop): fix Rails/DurationArithmetic 2023-04-19 12:55:13 +02:00
Colin Darie
160178b8f8
chore(rubocop): fix Rails/ExpandedDateRange 2023-04-19 12:55:13 +02:00
Colin Darie
bd8e8633e7
chore(rubocop): fix Rails/CompactBlank 2023-04-19 12:55:13 +02:00
Colin Darie
ca11ec8380
chore(rubocop): fix Rails/OutputSafety 2023-04-19 12:55:12 +02:00
Paul Chavard
0912a30eb0 feat(dossier): use turbo on select with other 2023-04-18 15:24:23 +02:00
Paul Chavard
eb599394e0 feat(dossier): use turbo on linked lists 2023-04-18 15:24:23 +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
21b548d32b fix(dossier): delete all champs starting with children 2023-04-13 11:08:10 +02:00
Paul Chavard
7054c2d9ef fix(demarche): always reset outside of transactions 2023-04-13 11:05:38 +02:00
simon lehericey
f6948cfd5e feat(routing): record first groupe as default_groupe_instructeur 2023-04-13 10:36:42 +02:00
Eric Leroy-Terquem
cade677355 feat(db): add defaut_groupe_instructeur_id column to procedures 2023-04-13 10:36:42 +02:00
simon lehericey
c1f67499aa feat(routing): server side: prevent tdc deletion if used for routing 2023-04-13 10:28:52 +02:00
simon lehericey
3f55fddcef feat(routing): ui side: prevent tdc deletion if used for routing 2023-04-13 10:28:52 +02:00
krichtof
78938b5a07 filter demarches by siret service 2023-04-12 18:53:57 +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
0b95a912c6
Merge pull request #8858 from tchak/feat-refactor-dossier-link-champ
feat(dossier): use turbo to select linked dossier
2023-04-07 08:49:11 +00:00
Paul Chavard
79fee39888
Merge pull request #8872 from tchak/fix-champ-multiselect
fix(dossier): selecting blank option should not empty selection
2023-04-06 14:32:35 +00:00
Paul Chavard
ffb332159f fix(dossier): selecting blank option should not empty selection 2023-04-06 15:24:52 +02:00
Paul Chavard
a2f7d1df72 fix(graphql): pendingDeletedSince should not crash 2023-04-06 15:07:48 +02:00
Paul Chavard
7ea443f86a
Merge pull request #8860 from demarches-simplifiees/ay11-actions-multiples
[a11y] actions multiples
2023-04-05 16:41:06 +00: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
Paul Chavard
52c8b0b297 feat(dossier): use turbo to select linked dossier 2023-04-05 11:40:03 +02:00
Lisa Durand
9065e57e62 add aria-sort on sortable column 2023-04-05 10:05:51 +02:00
Martin
75657b5484 correctif(administrateur.merge): la fusion de compte entre admin devrait dissocie 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
ed33f1916a fix(commune): to_s should always return a string 2023-04-04 15:32:03 +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
Paul Chavard
e2d5834dc2
Update app/models/user.rb
Co-authored-by: Colin Darie <colin@darie.eu>
2023-04-04 15:02:20 +02:00
mfo
2c32e38383
Merge pull request #8851 from demarches-simplifiees/fix_condtion_check_on_children
fix(condition_check_on_children): give proper upper tdc to child cond…
2023-04-04 08:48:02 +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
Lisa Durand
dde64415ae
Merge pull request #8845 from demarches-simplifiees/remove-dossiers-termines-from-avis-views
[bug] retirer les notifications + compteur des avis pour les dossiers terminés
2023-04-04 08:20:48 +00:00
Paul Chavard
0864666d0a fix(dossier): an invited user can remove (leave) a dossier 2023-04-03 20:10:44 +02:00
Lisa Durand
2f012578eb remove dossier termine from avis views 2023-04-03 18:20:17 +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
mfo
54d88e7dd0
Merge pull request #8699 from mfo/US/8661
a11y(bloc-repetable): amélioration des interactions avec les répétitions d'un bloc répétable
2023-03-31 14:39:23 +00:00
Martin
a53c32b41e correctif(validation-des-conditions): les conditions dans un bloc repetable identifient les conditions invalident
Update app/models/procedure_revision.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-03-31 16:38:27 +02:00
LeSim
b003fd8be8
Merge pull request #8774 from E-L-T/add-routing-to-groupe-instructeurs
Add routing rules to groupe instructeurs
2023-03-31 10:16:51 +00:00
Martin
21701a1e37 patch(demarche.lien_demarche): ignore cette colonne pr la supprimer plus tard 2023-03-31 09:57:27 +02:00
Martin
92d3f9c192 a11y(bloc-repetable.repetition): supprime une repetition via un bouton et non un lien 2023-03-31 08:51:39 +02:00
Martin
a3f1e1926a a11y(bloc-repetable): ETQ usager qui navigue au clavier, lorsque j'ajoute un champs repetable, le focus vient sur le 1er champs du bloc repetable 2023-03-31 08:51:39 +02:00
Eric Leroy-Terquem
6f6bbd6ca1 feat(routing): put routing logic behind a feature flag 2023-03-30 10:52:53 +02:00
simon lehericey
3cede55d41 feat(routing): add routing engine 2023-03-30 10:51:20 +02:00
simon lehericey
bf737edec1 refactor: move serializer 2023-03-30 10:51:20 +02:00
simon lehericey
0ca7c805df feat(routing): serialize routing condition 2023-03-30 10:51:20 +02:00
Eric Leroy-Terquem
3ef6adccd6 feat(db): add routing column to groupe_instructeurs 2023-03-30 10:51:20 +02:00
simon lehericey
1592006f63 feat(procedure): defaut_group_instructeur is the first created 2023-03-30 10:51:20 +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
dc605015b3 feat(commune): chose commune by postal code 2023-03-28 16:34:19 +02:00
Paul Chavard
275150d727 feat(graphql): expose pendingDeletedDossiers
fix #8785
2023-03-22 19:40:43 +01:00
Paul Chavard
ee1df3f05f fix(dossier): fix rebasing submitted dossiers private champs type changes 2023-03-22 11:43:08 +01:00
Lisa Durand
f27e362cae fix validation of yes-no question in avis 2023-03-21 17:07:05 +01:00
Colin Darie
3a9b2d99e3
Merge pull request #8776 from colinux/fix-deadlocks
Fix: corrige peut-être des deadlocks postgresql sur le champ SIRET
2023-03-21 11:11:46 +00: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
krichtof
da49497f0b
Merge pull request #8726 from demarches-simplifiees/disable-otp-4-super-admin
desactive le 2FA suivant la config
2023-03-20 10:34:27 +00:00
Lisa Durand
ee2f795dec pr feedbacks - add validation for yes/no answer - improve locales use 2023-03-16 11:32:05 +01:00
Lisa Durand
3b3d5182bf add new column to spreadsheets 2023-03-16 11:32:05 +01:00
Lisa Durand
a4a99a72ec first step to add question in experts avis 2023-03-16 11:32:05 +01:00
simon lehericey
8b5d493f12 clean: log current_user in api v2, when not using token_v3 2023-03-16 10:06:23 +01:00
simon lehericey
c0ca9f156e clean: remove unused Current.instructeur 2023-03-15 21:51:02 +01:00
simon lehericey
a984c21f64 clean: remove unused Current.administrateur 2023-03-15 21:51:02 +01:00
Paul Chavard
42e74dfc76 feat(api_token): enable fin graned access rights on tokens 2023-03-15 19:09:49 +01:00
Paul Chavard
8ee13f1719 feat(api_token): add allowed_procedure_ids and write_access 2023-03-15 19:09:49 +01:00
Paul Chavard
64f79bb6d8 feat(api_token): add allowed_procedure_ids to api tokens 2023-03-15 19:09:49 +01:00
Paul Chavard
cbaa77fca7 feat(annotations): activate autosave 2023-03-14 15:22:13 +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
6243e5fb92
Merge pull request #8748 from colinux/fix-clone-estimated-dossier
Administrateur: le clone d'une démarche ne copie pas le cache du nombre de dossiers
2023-03-09 15:25:08 +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
4288f28ac8 chore(job): same max_run_time between ArchiveCreationJob and ExportJob 2023-03-09 15:37:13 +01:00
Colin Darie
9e6d06fd9c fix(job): attempt to fix a pg timeout int Cron::NotifyDraftNotSubmittedJob 2023-03-08 18:45:02 +01:00
Colin Darie
d6887f8aa4 fix(procedure): clone reset estimated_dossiers_count 2023-03-07 19:11:30 +01:00
Martin
2b99bbd836 correctif(cadastre): certaines parcelles cadastrales ne contiennent pas la surface. cf: cadastre : numero: 4120 commune: 73094 prefixe: 000 section: A à CREST VOLAND 2023-03-07 14:42:44 +01:00
Martin
5e24c0e19a correctif(dossier.export.pdf): l'export au format pdf d'un dossier ayant un champ de type repetition contenant un titre est bien sous-sectionné 2023-03-07 07:00:28 +01:00
Colin Darie
35674838d1
Merge pull request #8720 from demarches-simplifiees/feat/8549
ETQ administrateur, je souhaite filtrer avec plusieurs tags
2023-03-06 10:19:22 +00: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
Kara Diaby
cb0417aad4 Possibilité de selectionner plusieurs tags dans la page toutes les demarches 2023-03-03 11:50:47 +01: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
Christophe Robillard
6af01077b6 disable 2FA according to config
2FA is disabled for superadmin unless `SUPER_ADMIN_OTP_ENABLED` is equal
to `enabled` (default value)
2023-03-02 13:47:48 +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
Paul Chavard
d3ef0fcf79 fix(datetime): improuve datetime field on old browsers 2023-03-01 12:30:25 +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
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
Sébastien Carceles
e16f2bc39d
Merge branch 'main' into prefill/siret 2023-02-27 14:13:03 +01:00
Paul Chavard
2a6065ea31
Merge pull request #8694 from tchak/fix-filter-options
fix(filter): fix find type de champ by stable_id
2023-02-27 12:48:25 +00: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
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
531c5ec056 fix(filter): fix find type de champ by stable_id 2023-02-24 13:32:46 +01:00
Martin
fc1bb68a3a correctif(filtres): les filtres par colonne se font par stable_id, non pas par id 2023-02-24 09:39:16 +01: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
17f8475b07 Refacto comparaison typed id 2023-02-23 11:00:09 +01:00
Damien Le Thiec
61d2edc42e Cache champ attributes 2023-02-22 20:05:36 +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
Paul Chavard
3c3629d151 refactor(instructeurs): add_instructeurs should add 2023-02-22 09:49:26 +01:00
Paul Chavard
fcd0f7c609 bring back find_or_create_instructeurs 2023-02-22 09:49:26 +01:00
Eric Leroy-Terquem
d0c432d939 refactor(groupe instructeur): move method to Instructeur model 2023-02-22 09:49:26 +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
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
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
Sébastien Carceles
8c67df7130 review: use selected options
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2023-02-16 10:49:15 +01:00
sebastiencarceles
e344b97d51 review: readability 2023-02-16 10:49:15 +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
5a89a2dbe4 Use Stable ID for repetitions prefill 2023-02-15 12:15:34 +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
6f65a4c2fe 🚨 line length 2023-02-14 13:49:41 +01:00
sebastiencarceles
681e1cf518 ♻️ refactor possible_values impl for clarity 2023-02-14 13:45:30 +01:00
sebastiencarceles
a07446da6c ♻️ rename method for clarity 2023-02-14 11:45:39 +01:00
sebastiencarceles
0159a10969 🐛 make possible_values_list method public 2023-02-14 11:41:35 +01:00
sebastiencarceles
a77a0e2c7f ⚰️ dead code is dead 2023-02-14 11:35:35 +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
mfo
76ef4ae96e
Merge pull request #8613 from colinux/email-template-subject-length
Email: limite le sujet généré à 100 caractères et utilise le sujet par défaut si le modèle est vide
2023-02-13 17:31:04 +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
4a6841c009 Fix linter 2023-02-11 22:51:37 +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
Colin Darie
aeb602a63d fix(mail): default subject fallback when subject template is empty
Closes #8448
2023-02-09 17:49:43 +01:00
Damien Le Thiec
4b0e6ea382
Convert datetime field to datetime_local (#8572)
* Convert datetime field to datetime_local

* Fix tests

* Add value formatting view datetime component

* Add helper datetime component value
2023-02-09 15:18:38 +01:00
Colin Darie
e626eb69ce feat(admin): import groupe instructeurs csv when procedure is closed 2023-02-09 11:17:13 +01:00
Colin Darie
a4329b6699 chore(export/job): set procedure_id for sentry 2023-02-09 11:06:54 +01:00
Damien Le Thiec
c5f1f80d25 Add prefill params tests repetition 2023-02-08 17:38:51 +01:00
Paul Chavard
1693e46acb fix(dossier): prevent crash when updating champs in rebase 2023-02-08 14:56:26 +01:00
Colin Darie
0958053c72 chore(dossier): can destroy dossier having dossier_batch_operations
Ça peut arriver lors des démarches en test, avec des dossiers tests
en cours d'instruction.
2023-02-08 14:42:14 +01:00
Paul Chavard
dc9a455d22 fix(dossier): prevent crash in rebase 2023-02-08 11:11:14 +01:00
Kara Diaby
984ef67827 Prend en compte uniquement les procédures publiées dans les propositions de tags 2023-02-06 17:03:51 +01:00
Paul Chavard
6924b8e46d feat(dossier): optional repetition champ should not add first row 2023-02-06 11:53:32 +01:00
Martin
f4cc8078b4 amelioration(EmailEvent): purge les email_events vieux de plus de un mois
Update app/models/email_event.rb

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

Update app/jobs/cron/purge_old_email_event_job.rb

Co-authored-by: Colin Darie <colin@darie.eu>
2023-02-06 10:35:57 +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
Martin
2de9026c13 amelioration(dolist_api): forward le message_id afin de faciliter les investigations 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
Paul Chavard
2971100081 fix(dossier): do not try to rebase if procedure is not published 2023-02-02 10:11:46 +01:00
Lisa Durand
3a82558c3f use super instead of run_at 2023-02-01 17:06:04 +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
Colin Darie
eb9cd90ee8 chore(schema): +procedure#estimated_duration_visible 2023-02-01 11:02:55 +01:00
Paul Chavard
9c83939431 fix(dossier): fix adding repetition in a new revision 2023-02-01 10:36:46 +01:00
Eric Leroy-Terquem
b306dea5cf refactor(avis): rename revive by remind 2023-02-01 09:55:46 +01:00
Eric Leroy-Terquem
004bf5be38 feat(avis): add remind_by! method 2023-02-01 09:55:46 +01:00
Damien Le Thiec
5a7b740f58 Clean rubocop alerts 2023-01-31 17:06:00 +01:00
Damien Le Thiec
4a07fd6223 Merge branch 'main' into feature/prefill_repetible 2023-01-31 16:49:40 +01:00
Damien Le Thiec
e1748a2666 Fix "see more" link for prefillable fields 2023-01-31 16:48:38 +01:00
Damien Le Thiec
d7b01255fe Merge branch 'main' into feature/prefill_repetible 2023-01-31 16:39:00 +01:00
Martin
2edfcdd652 correctif(liens.invitations): utilise le mapping rails as: :target_model, sinon on requete uniquement par l'id du model, qui peut etre problématique en cas de relation polymorphiques avec des ensembles d'id se superposant 2023-01-31 16:33:31 +01:00
Damien Le Thiec
f91cc05d95 Small fix link to prefill type de champ 2023-01-31 16:24:32 +01:00
Damien Le Thiec
20ba96ba3c POST working with prefill query example for repeating fields 2023-01-31 14:54:23 +01:00
Martin
88553eec9b correctif(dossier_transfer): le transfer de dossier vers un email contenant des majuscule ne fonctionnait pas 2023-01-31 14:52:57 +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
Paul Chavard
6cacfbdf32 refactor(dossier): refactor rebase 2023-01-30 12:01:11 +01:00
Paul Chavard
2f4e85f163 fix(dossier): set rebased_at only on changed champs 2023-01-30 12:01:11 +01:00
Paul Chavard
626b28ca16 perf(tags parser): improuve parser perf 2023-01-30 11:52:35 +01:00
Eric Leroy-Terquem
1b67f93c66 feat(avis): add reminded_at field to avis 2023-01-30 11:13:23 +01:00
Paul Chavard
298721f90d fix(dossier): fix clone with data 2023-01-30 10:58:26 +01:00
Damien Le Thiec
81df033282 First draft repeatable 2023-01-26 17:57:57 +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
Paul Chavard
508cdec33f fix(morph): ids should not start with numbers 2023-01-26 10:42:22 +01:00
Colin Darie
51c1736d00 refactor(conditional): extract in a ChampConditionalConcern with tests 2023-01-26 09:06:30 +01:00
Colin Darie
7c13449b4f feat(conditional): show loader during autosave when other champs are dependent of it 2023-01-26 09:06:30 +01:00
Colin Darie
81f00774af feat(logic): operators sources 2023-01-26 09:06:30 +01:00
Kara Diaby
b18d76dff6 Ne prend pas en compte les tags sur les démarches en brouillon 2023-01-24 14:53:27 +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
Paul Chavard
a4cbbe721e feat(types de champ): add EPCI champ 2023-01-20 11:32:36 +01:00
Paul Chavard
f38ee8f03f feat(dossier): implement refresh_after_update on champs 2023-01-20 11:05:25 +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
Kara Diaby
eac5a42a32 model 2023-01-18 18:46:42 +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
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
Colin Darie
ef3546e9f1 fix(email-event): apparently mail subject could be null 2023-01-17 16:46:54 +01:00
Colin Darie
13479fc88e
fix(admin): display of procedure admins count 2023-01-17 16:02:08 +01:00
Paul Chavard
dad393355b chore(db): remove unused columns 2023-01-17 12:49:22 +01:00
Paul Chavard
44488c7014 feat(dossier): use select in filters bygroupe instructeur 2023-01-16 14:00:08 +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
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
Paul Chavard
5641c2b078 fix(groupe_instructeur): only show to administrators the number of visible files 2023-01-11 21:49:08 +01:00
Martin
822eda7c42 correctif(safe_mailer): fix bug sur de la synthax 2023-01-11 20:29:51 +01:00
Martin
3e6b82ed9e amelioration(safe_mailer): ajoute au manager la fonction pour configurer le routage des mails sur un fournisseur unique
Update app/mailers/devise_user_mailer.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>
2023-01-11 17:32:24 +01:00
Martin
2f43ffc940 data(safe_mailer): ajout d'un object permetant d'orienter les mails vers un unique fournisseur au cas ou l'autre soit down 2023-01-11 17:13:05 +01:00
simon lehericey
528b2c2b88 fix(procedure): valid juridique on create and publication 2023-01-11 14:05:17 +01:00
simon lehericey
bd3fbbce49 add schema and annotation 2023-01-11 11:19:24 +01:00
Paul Chavard
afc1f12028 feat(graphql): implement add/remove instructeurs via API 2023-01-10 20:33:35 +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
5ae5de0d9c refactor(email): log event when error occurs before recipients was set 2023-01-10 16:07:35 +01:00
Colin Darie
0a22c1d2f0 chore(email): log smtp errors 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
Colin Darie
07167cead9 chore(schema): create email_events 2023-01-10 16:07:35 +01:00
Colin Darie
0a890acc33 fix(conditional): huge perf improvement by caching champ visibility
Hyper nécessaire lorsqu'il y a des champs qui dépendent d'autres champs
en cascade.

Co-authored-by: simon lehericey <mail@simon.lehericey.net>
Co-authored-by: mfo <martin@sharypic.com>
2023-01-10 11:41:08 +01:00
Paul Chavard
5128b9a086 refactor(demarches): use turbo_stream template 2023-01-10 09:48:32 +01:00
Lisa Durand
67c104c8eb affiner le scope 2023-01-09 11:58:51 +01:00
Lisa Durand
25a7fa5a34 add bulk action 'follow' 2023-01-09 11:58:51 +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
dfe65136be refactor(repetition): add row_id to champs 2023-01-05 18:04:54 +01:00
Paul Chavard
940f8c0474 fix(graphql): fix departements with alphanumeric codes 2023-01-05 17:33:03 +01:00
Lisa Durand
4afb873afc feedbacks from Martin 2023-01-05 16:20:18 +01:00
Lisa Durand
59468fe351 add justificatif_motivation field to batch operation accepter 2023-01-05 16:20:18 +01:00
Lisa Durand
1bc0609543 add motivation field to batch operation accepter 2023-01-05 16:20:18 +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 &nbsp; 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
c4a30084fe refactor(virus_scan): remove lock 2023-01-04 12:12:11 +01:00
Paul Chavard
6e18090fb3 refactor(virus_scan_result): use column instead of metadata on blob 2023-01-04 12:12:11 +01:00
Paul Chavard
d469bca0ae refactor(watermark): use column instead of metadata on blob 2023-01-04 12:07:08 +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
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
1f5db1faf2
Merge pull request #8340 from mfo/US/fix-champs-pays
sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name
2022-12-28 09:51:18 +01:00
Martin
a2d3ec7a21 sentry(3830513995): champs pays peut avoir un external_id a '', test la presence d'external_id sinon on peut renvoyer du nil via Champs::PaysChamp.name 2022-12-27 16:28:34 +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
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
Martin
3732c079a7 correctif(champ.normalize): enleve les null chars uniquement si il y en a. sinon on rappel value=() avec nos champs surchargeant ce setter 2022-12-27 11:43:34 +01: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
mfo
62813f3d74
Merge pull request #8323 from tchak/fix-graphql-champs
feat(graphql): add pays champ to API
2022-12-22 13:51:02 +01:00
mfo
e3bf0d8fec
Merge pull request #8327 from tchak/feat-rebase-after-repasser-en-instruction
feat(dossier): rebase after repasser en instruction
2022-12-22 13:50:43 +01:00
Paul Chavard
f4f38982b4 feat(dossier): rebase after repasser en instruction 2022-12-22 13:44:03 +01:00
Paul Chavard
6363206c44 fix(dossier): when rebase creates a champ always push in to champs 2022-12-22 13:44:03 +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
072156d38e feat(graphql): add pays champ to API 2022-12-22 11:56:45 +01:00