Commit graph

2437 commits

Author SHA1 Message Date
Christophe Robillard
f452e1014a make label_at more concise 2022-09-26 16:58:53 +02:00
Christophe Robillard
240f1b249f makes the NA label for zone more explicit 2022-09-26 16:58:53 +02:00
Christophe Robillard
9a9330159c choose zone options with correct label
label of the zone is the one available when the procedure has been published (or at the creation if the procedure has not been published)
2022-09-26 16:58:53 +02:00
Christophe Robillard
62f19aba8a get all available zones at specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
9773977496 know if a zone exist at a specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
59cce4203a get zone label at specific date 2022-09-26 16:58:53 +02:00
Christophe Robillard
a504e82021 add zone label 2022-09-26 16:58:53 +02:00
simon lehericey
f53e8608ae refactor(conditional): error message system 2022-09-26 10:21:15 +02:00
simon lehericey
ab42b27176 refactor(logic): add comments 2022-09-26 10:21:15 +02:00
simon lehericey
fcb9b55bc4 feat(conditional): add include operator 2022-09-26 10:21:15 +02:00
Damien Le Thiec
542c5b518f Improve and connect RNA Adapter 2022-09-22 17:13:53 +02:00
Colin Darie
6a4a9c8e03 fix(cron/procedure-declarative): don't auto accept a dossier still in degraded mode 2022-09-22 16:26:14 +02:00
Colin Darie
9b929c86ea
Merge pull request #7760 from betagouv/dsfr-dossier-top-form
DSFR: convert dossier top form elements
2022-09-21 16:44:51 +02:00
Colin Darie
e7de19b24d fix(dossier): avoir final state if etablissement is still in degraded mode
Maintenant qu'on autorise un dossier pour entreprise a être créé en mode "dégradé",
(avec établissement incomplet suite à API Entreprise/INSEE down…),
on empêche de l'accepter/refuser/classer sans suite tant qu'on a pas
vérifié son SIRET.

Fix https://sentry.io/organizations/demarches-simplifiees/issues/2839832517/?project=1429550&query=is%3Aunresolved
2022-09-21 16:00:59 +02:00
Colin Darie
a5e1d8865b style(france_connect_account): convert notice about FC user to DSFR 2022-09-21 15:47:35 +02:00
Paul Chavard
16bba911ba Revert "Merge pull request #7637 from tchak/chore-add-missing-foreign-keys"
This reverts commit b21ee46dc2, reversing
changes made to dd85b5c35c.
2022-09-21 15:20:42 +02:00
Damien Le Thiec
d8afe81034 Setup RNA champ 2022-09-21 15:18:08 +02:00
Damien Le Thiec
606ac48964 Add new RNA Type de champ 2022-09-21 15:17:23 +02:00
Paul Chavard
84b9644bcd fix(db): add missing foreign keys 2022-09-20 15:16:52 +02:00
Martin
eae05b0a6f feat(export.xslx): add code commune to geo_area.label 2022-09-17 08:59:06 +02:00
Colin Darie
95a4e8a907
feat(api_entreprise): create etablissement with fallback when API is down
On créé l'établissement uniquement avec le SIRET, sans que ce soit bloquant
pour compléter le dossier. On demande à l'utilisateur de vérifier
lui-même la concordance du SIRET avec son entreprise.

Cf #7766
2022-09-16 10:43:59 +02:00
simon lehericey
c43bf2e5c9 fix(conditional): only parse user input as int if compared with a number 2022-09-09 11:28:32 +02:00
Paul Chavard
d35ceb7214 fix(champs): finish EditableChampComponent refactor 2022-09-08 11:26:29 +02:00
simon lehericey
ac0ac171ad perf(dossier): remove unused row validation
Gain, one request per champ not child
2022-09-07 15:00:40 +02:00
Paul Chavard
c05bc61c99 fix(revisions): improuve changes information display 2022-09-07 13:52:44 +02:00
Colin Darie
91c735a219 chore(service): SIRET is required 2022-09-06 09:23:52 +02:00
Colin Darie
9d59a50cd4 chore(manager/services): show etablissement adresse & geopoint 2022-09-06 09:23:52 +02:00
Colin Darie
67cbc61e1e chore(services): update etablissement adresse & geocode when siret changes 2022-09-06 09:23:52 +02:00
Colin Darie
7d39cc6b3e chore(schema): +services#etablissement_{infos,geopoint}
- `etablissement_infos` est une représentation partielle en jsonb
de ce qui est renvoyé par l'API Entreprise.
(On ne conserve que l'adresse pour le moment, utilisée pour le geocodage)
- `etablissement_geopoint` est le point (x,y) issu du géocodage de
l'établissement
2022-09-06 09:23:52 +02:00
Colin Darie
64ce2719ed feat(services): accept an optional SIRET
Closes #7359
2022-09-06 09:23:52 +02:00
Colin Darie
a4d9a45280 chore(schema): +services#siret 2022-09-06 09:23:52 +02:00
Colin Darie
4e3b063b87
feat(carte/export): list geo labels 2022-09-05 11:02:51 +02:00
simon lehericey
8c884b4869 fix(migration): fix avis email notification migration 2022-09-02 17:23:04 +02:00
Kara Diaby
f8d4644f73 models 2022-09-02 16:23:27 +02:00
Martin
5f2b290407 feat(Procedure.clone): reset subject.duree_conservation_dossiers_dans_ds when procedure.duree_conservation_etendue_par_ds was extended. only extends it on demand otherwise admin could clone old procedure with higher duree_conservation_dossiers_dans_ds 2022-08-31 14:56:00 +02:00
Martin
6e31decc2d feat(Procedure.clone): stop cloning procedure service which is confusing for some administrateurs 2022-08-31 14:56:00 +02:00
Colin Darie
4ece7c2494 fix(champ): remove null byte before save
Les null bytes peuvent être injectés lors de c/c depuis certains documents,
et ne sont pas sauvegardables en base, rendant la sauvegarde d'un dossier impossible.

Closes #7656

https://sentry.io/organizations/demarches-simplifiees/issues/3194932607/activity/?project=1429550&query=is%3Aunresolved
2022-08-31 11:39:34 +02:00
Christian
63a4a13323 Graphql: Fix champs sort in repetition 2022-08-31 11:15:28 +02:00
Martin
2f5528398f feat(manager#outdated_procedure): allow super admin to enable procedure_expires_when_termine_enabled for old procedure
revew(typo): various typo, tx christophe :-)

fix(spec): due to typo fixes
2022-08-24 13:10:48 +02:00
Martin
dc524cf615 fix(spec): broken spec due to TDD and refacto on former code 2022-08-23 13:28:10 +02:00
Martin
711b2ee2e4 feat(ExportComponent): only render it when connected instructeur/administrateur is not from manager 2022-08-23 13:28:10 +02:00
Martin
d1297bc1f5 tech(rubocopify): ... just clean up ... 2022-08-23 13:28:10 +02:00
Martin
c2e0994e11 feat(Administrateur::ArchivesController#*): prevent SuperAdmin to index/download archives 2022-08-23 13:28:10 +02:00
Martin
ef67958324 feat(manager): add #add_administrateur_with_confirmation and #confirm_add_administrateur so SuperAdmin requires another SuperAdmin approval to add an administrator to a procedure. Add #add_administrateur_and_instructeur for SuperAdmin willing to be administrateur/instructeur for 24 2022-08-23 13:28:10 +02:00
Martin
f0a4cbb61e feat(assign_tos): add manager column to assign_tos table. Same idea as administrateur_procedures.manager which flag a link between procedure/administrateur coming from a SuperAdmin [target: able to avoid SuperAdmin sec issues] 2022-08-23 13:28:10 +02:00
simon lehericey
650c36e3e2 feat(conditional): add not eq operator 2022-08-10 11:59:09 +02:00
simon lehericey
898badb579 a champ is mandatory when visible with a mandatory tdc 2022-08-09 10:25:47 +02:00
Paul Chavard
a24885c2ee feat(champ): can condition on other option 2022-08-04 15:28:54 +02:00
Paul Chavard
bbca7344e5 fix(conditional): mandatory champs inside hidden repetition should not be validated 2022-08-04 14:48:40 +02:00
Colin Darie
adced0f33a fix(revision): fix stable siblings order when there are multiple identical position
Ça arrive parfois dans les tests, et potentiellement en prod :
après avoir créé un nouveau `revision_type_de_champ`,
on se retrouve très momentanément avec 2
RTDC ayant le même position en attendant le renumérotation peu près.

https://github.com/betagouv/demarches-simplifiees.fr/blob/main/app/models/procedure_revision.rb#L55

Ceci conduisait à une renumérotation erronnée quand la db renvoyait
le nouveau RTDC créé *avant* les précédents.
2022-08-03 18:29:48 +02:00
Colin Darie
8dc966feb4 fix(dossier_transfer): requires an actual email
Closes #7621
2022-08-03 11:44:54 +02:00
Paul Chavard
435a635b3d fix(procedure_presentation): find last instance of type_de_champ through coordinates 2022-08-02 15:24:52 +02:00
Paul Chavard
48a4e8bec5 chore(db): remove already dropped ignored columns 2022-08-02 15:24:52 +02:00
Paul Chavard
782af3322a fix(patron): when rendering “patron” champs should have dossier 2022-07-28 12:10:32 +02:00
Colin Darie
197fa54ea4 fix(archives): purge stuck pending archives
Cf 0cb096b3d6440a4da05ca2902ed6fa72a93e6579
2022-07-27 15:26:59 +02:00
Colin Darie
f1957e51f8 fix(exports): purge stuck (pending) exports, not generated or failed
Avec l'autre PR, ça reproduit le comportement d'avant, c'est à dire
que quoiqu'il arrive un export est purgé :
- soit 16h après sa génération (on a 16h pour le télécharger)
- soit 12h après sa création, et qu'il est bloqué

Auparavant, tous les exports étaient purgés au bout de 3h quelle que soit
le statut.
2022-07-27 15:26:59 +02:00
Colin Darie
67d2cb2061 chore(schema): add exports#job_status
Same behavior as Archive

On destroy tous les exports existants qui n'ont pas cette notion de status.
2022-07-26 17:53:24 +02:00
Colin Darie
6845b2ed08 fix(export): fix PurgeStaledExportsJob regression with stale scope
cc #7547
2022-07-26 14:26:22 +02:00
Colin Darie
11cd73b4ac feat(export/csv): list etablisement entreprise_etat_administratif 2022-07-25 10:58:02 +02:00
Colin Darie
f05e9331a7 chore(entreprises): save etat_administratif from API 2022-07-25 10:58:02 +02:00
Colin Darie
e1d3d1f844 chore(schema): add entreprise_etat_administratif to etablissements 2022-07-25 10:58:02 +02:00
Martin
3e56fdd1d7 fix(export): when it takes more than 3 hours, exports are purge before being generated. make it possible to have an export that takes more than 3 hours and share this behaviour with kind of same class archive 2022-07-25 10:48:54 +02:00
simon lehericey
0d3856e84a fix(conditional): handle incorrect user input 2022-07-22 15:55:43 +02:00
Paul Chavard
d9eea35ae8 fix(dossier): decoralate dropdown behaviour from autosave 2022-07-21 18:40:16 +02:00
Paul Chavard
3e40b6d7bc fix(graphql): handle annotations inside blocks 2022-07-21 14:54:14 +02:00
Paul Chavard
902dc678de perf(graphql): improuve dossier loading 2022-07-21 12:29:08 +02:00
Paul Chavard
042703cead refactor(dossier): extract dossier preloader 2022-07-21 12:29:08 +02:00
simon lehericey
821fd2394b small refactor 2022-07-20 15:48:16 +02:00
simon lehericey
72583f846b champ value return nil if champ is hidden 2022-07-20 11:23:57 +02:00
Paul Chavard
e85fe71887 fix(champ): allow to submit when secondary options are empty 2022-07-20 10:49:07 +02:00
simon lehericey
2d26ba3507 fix: binary operator computes false by default 2022-07-19 10:11:24 +02:00
Martin
05b6b462b6 feat(new_max_duree_conservation): make it configurable for other instances 2022-07-18 14:08:53 +02:00
Martin
24c8dc5829 feat(procedure.duree_conservation_dossiers_dans_ds): decrease max duree_conservation_dossiers_dans_ds from 36 to 12 2022-07-18 14:08:53 +02:00
Paul Chavard
98a0bc8c71 refactor(condition): use dom_id with stable_id 2022-07-13 15:38:43 +02:00
Paul Chavard
0adfd92213 refactor(condition): use standard revision change ops 2022-07-13 15:32:25 +02:00
simon lehericey
2cad0e11d3 display condition change between version 2022-07-13 15:10:23 +02:00
Paul Chavard
0f9d8b6a39 feat(dossier): exclude conditionally invisible fields from mandatory check 2022-07-12 17:33:42 +02:00
Paul Chavard
120b593015 feat(dossier): toggle conditional champs visibility 2022-07-12 17:33:42 +02:00
simon lehericey
6f7fb9841c fix: make edition annotation work again 2022-07-12 14:17:05 +02:00
Colin Darie
d805114a72 Revert "feat(revision): list updated placeholder option for generic type de champ"
This reverts commit fe0282e904.

Continue 2bd33ada45b036f73f3fc78150621092e0667693
2022-07-12 11:37:58 +02:00
Colin Darie
8c08d0295b Revert "feat(champ): customizable placeholders for text & textarea champs"
This reverts commit 9e26ee932e.

Finalement les champs génériques ne doivent pas avoir de placeholder
personnalisable, ce sera uniquement via la description.
2022-07-12 11:37:58 +02:00
simon lehericey
c4c0c275e1 fix: coordinate_and_tdc return nil if not found 2022-07-12 10:44:40 +02:00
simon lehericey
faa2797d80 fix: champ_value for tdc destroyed 2022-07-12 10:44:40 +02:00
simon lehericey
2fee0ddfd4 feature: type_de_champ_controller 2022-07-12 10:44:40 +02:00
simon lehericey
256d4e4fda refactor: reorder -> renumber 2022-07-12 10:44:40 +02:00
simon lehericey
64d82798a6 fix create_tdc after_stable_id 2022-07-12 10:16:22 +02:00
Colin Darie
fe0282e904
feat(revision): list updated placeholder option for generic type de champ 2022-07-11 17:16:20 +02:00
Colin Darie
9e26ee932e
feat(champ): customizable placeholders for text & textarea champs
Closes #7429
2022-07-11 17:16:20 +02:00
Martin
4c0aac8e0c fix(linked_dropdown/dropdown): for dropdown_list, drop blank option because rails add it when the field is required. kind of same behaviour for linked_dropdown_list [but requires to manage it on the front too] 2022-07-11 14:47:26 +02:00
Martin
8eceee54ff fix(targeted_user_link): on invitation user are not always already created 2022-07-11 14:37:01 +02:00
Paul Chavard
4d48055158 feat(tags): expose used_type_de_champ_tags 2022-07-07 23:23:17 +02:00
simon lehericey
61839ef1ac add logic condition_split 2022-07-06 20:27:14 +02:00
Christophe Robillard
e2348aa8f1 rename publiques scope to opendata 2022-07-06 17:59:03 +02:00
Christophe Robillard
b56706b6b8 add scope publiques for procedures 2022-07-06 17:59:03 +02:00
Paul Chavard
fb37f8c5a8 fix(dossier): fix some reset draft changes edge cases 2022-07-06 16:52:12 +02:00
simon lehericey
42488419b5 add condition form model 2022-07-06 16:35:23 +02:00
Paul Chavard
9b45dcea3f feat(demarche): add possibility to reset draft revision 2022-07-06 14:18:01 +02:00
simon lehericey
b715d1f495 Revert "Add id to term"
This reverts commit 87385d03fd.
2022-07-06 09:44:54 +02:00
simon lehericey
350d32c369 in serialization rename op to term 2022-07-05 14:47:49 +02:00
simon lehericey
87385d03fd Add id to term 2022-07-05 14:47:49 +02:00
simon lehericey
d8454d9d47 remove text from managed_type_de_champ 2022-07-05 12:07:06 +02:00
simon lehericey
c631c5cd82 Logic add_empty_condition_to 2022-07-05 12:07:06 +02:00
simon lehericey
df7acf70c8 and empty_operator compute always true 2022-07-05 12:07:06 +02:00
simon lehericey
6e8206b8b4 add unmanaged champ value type 2022-07-05 12:07:06 +02:00
simon lehericey
144b522773 empty operator is no longer an error 2022-07-05 12:07:06 +02:00
simon lehericey
976e760045 empty has nil value 2022-07-05 12:07:06 +02:00
simon lehericey
04965ac35a improve constant and empty to_s 2022-07-05 12:07:06 +02:00
simon lehericey
dda5bc35ed extract champ value type 2022-07-05 12:07:06 +02:00
simon lehericey
809319f593 exposed champ value managed tdc 2022-07-05 12:07:06 +02:00
simon lehericey
5ebaf59fdb parent_id -> parent_stable_id 2022-07-05 11:53:18 +02:00
simon lehericey
1342356651 after_id -> after_stable_id 2022-07-05 11:53:18 +02:00
Paul Chavard
9a6a8411d3 feat(export): add déparctement info to commune champ export 2022-07-04 16:30:16 +02:00
simon lehericey
f8c7003192 fix drop down other 2022-07-01 16:05:31 +02:00
Martin
54cc9de51e feat(dubious): add RIB & IBAN and fix NRIPP istead of NIRPP 2022-06-29 17:07:00 +02:00
Martin
4ec61e58ac feat(EditComponent): add max_file_size and content_types to upload buttons inspired by dsfr 2022-06-28 17:44:35 +02:00
Martin
ea71908850 fix(ChampEditor): add missing drop_down_other for type_de_champ.drop_down_list_with_other? 2022-06-27 17:19:10 +02:00
Christophe Robillard
6dd27ec7ed reset opendata to true when procedure is cloned by another admin 2022-06-23 14:11:09 +02:00
Christophe Robillard
ea59f5f260 add opendata boolean attribute for procedure
when opendata is set to true, it means that descriptive's procedure can be
public
when opendata is set to false, ti means that descriptive's can not be
public, because the procedure is only available for public servants, not
citizens.
2022-06-23 14:11:09 +02:00
Martin
ab4d4c83a8 feat(GroupeInstructeurs.closed): add closed option to GroupeInstructeur in order to prevent usagers to submit dossier 2022-06-20 16:32:06 +02:00
Martin
274b5eab2e feat(invite): wrap invitation with targeted_user_links 2022-06-17 16:44:37 +02:00
simon lehericey
9596dac508 force resync types_de_champ and types_de_champ_public/private 2022-06-17 14:54:21 +02:00
simon lehericey
0db27b8718 validate conditions on revision 2022-06-17 14:54:21 +02:00
simon lehericey
758933f6f9 tdc can have condition 2022-06-17 14:53:28 +02:00
simon lehericey
9f49e8c2ea add ensure_compatibility_from_left 2022-06-17 14:53:27 +02:00
simon lehericey
5ac3049033 add champ_value for dropdown 2022-06-17 14:53:27 +02:00
simon lehericey
809d991819 add champ_value 2022-06-17 14:53:27 +02:00
simon lehericey
daaa54b6f0 add n_ary operators 2022-06-17 14:53:27 +02:00
simon lehericey
698eff0a50 add equal operator 2022-06-17 14:53:27 +02:00
simon lehericey
ebe95b83fa add compatibility checks 2022-06-17 14:53:27 +02:00
simon lehericey
a98a6d6d1e add binary operators 2022-06-17 14:53:27 +02:00
simon lehericey
6ebfc505c4 add empty 2022-06-17 14:53:27 +02:00
simon lehericey
58da4805fa add constant 2022-06-17 14:53:27 +02:00
Paul Chavard
350ed3a11a feat(graphql): expose revision on demarche descriptor type 2022-06-17 12:33:35 +02:00
Paul Chavard
bbc44fe339 fix(export): no crash on empty repetitions 2022-06-17 11:33:48 +02:00
Paul Chavard
6801b04b7b feat(type_de_champ): type_de_champ editor in stimulus/turbo 2022-06-17 11:04:09 +02:00
Paul Chavard
1573d20ee9 types_de_champ controller to use turbo 2022-06-17 11:04:09 +02:00
Paul Chavard
65bd996f2a refactor(types_de_champ_editor): remove old react editor 2022-06-17 11:04:09 +02:00
Paul Chavard
564daeffe8 perf(dossier): improuve dossier preloading perf 2022-06-14 09:04:26 +01:00
Martin
56f7133799 fix(procedure_presentation): can not present a 'virtual field' like depose_since
fix(data): add migration to remove fields depose_since from existing procedure presentation
2022-06-14 09:02:37 +02:00
Kara Diaby
d58ecb3fcc Lors de la restauration d'une démarche supprimée, met sur les dossiers liés hidden_by_administration_at à nil 2022-06-10 12:33:47 +02:00
Paul Chavard
95a1ea1047 feat(procedure_presentation): add since date filters 2022-06-09 13:01:22 +01:00
Kara Diaby
d2bd2ffcbe controller 2022-06-08 14:38:17 +02:00
Kara Diaby
60eed4ec01 model 2022-06-02 15:48:11 +02:00
Martin
d39b3b09ed fix(webhook.perform): ensure to enqueue job with current state/updated_at for consistency reason 2022-06-01 15:54:55 +02:00
Paul Chavard
462b2618a4 feat(procedure): move new children to new parent in transaction 2022-06-01 09:33:39 +02:00
Martin
cb890343ff feat(targeted_user_link): add targeted user link to wrap expert invitation in order to avoid access issue when the expert is connected with another account
feat(user.merge): ensure to merge user.targeted_user_link

Update app/models/targeted_user_link.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

Update app/models/targeted_user_link.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

Update app/models/targeted_user_link.rb

Co-authored-by: LeSim <mail@simon.lehericey.net>

feat(db/create_targeted_user_links): ensure not null with fk
2022-05-31 14:50:31 +02:00
Paul Chavard
c0a253078c fix(revision): fix clone démarches with repetitions 2022-05-31 13:28:56 +02:00
Paul Chavard
a36672239d refactor(revision): rename find_or_clone_type_de_champ 2022-05-31 08:58:53 +02:00
Paul Chavard
6f98def288 refactor(revision): remove old code 2022-05-31 08:58:53 +02:00
Kara Diaby
36aff57f24 model 2022-05-26 12:45:05 +02:00