Commit graph

658 commits

Author SHA1 Message Date
sebastiencarceles
5417d3adea add external id index to champs 2023-02-07 12:04:49 +01:00
Martin
2de9026c13 amelioration(dolist_api): forward le message_id afin de faciliter les investigations 2023-02-03 17:19:36 +01:00
Colin Darie
eb9cd90ee8 chore(schema): +procedure#estimated_duration_visible 2023-02-01 11:02:55 +01:00
Eric Leroy-Terquem
1b67f93c66 feat(avis): add reminded_at field to avis 2023-01-30 11:13:23 +01:00
Paul Chavard
dad393355b chore(db): remove unused columns 2023-01-17 12:49:22 +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
bd3fbbce49 add schema and annotation 2023-01-11 11:19:24 +01:00
simon lehericey
28ab19e4f7 remove default value as it can cause lock and does not add value 2023-01-11 11:18:21 +01:00
Eric Leroy-Terquem
60cd9a5d0e add migrated champ routage to dossiers, procedures and procedure_revisions 2023-01-11 11:18:21 +01:00
François Vantomme
f0ff364ed6 fix(migration): backfill procedure nil duree_conservation_etendue_par_ds 2023-01-11 11:00:43 +01:00
Paul Chavard
af33d5d65c refactor(repetition): use row_id instead of row 2023-01-10 19:31:41 +01:00
Colin Darie
07167cead9 chore(schema): create email_events 2023-01-10 16:07:35 +01:00
Paul Chavard
dfe65136be refactor(repetition): add row_id to champs 2023-01-05 18:04:54 +01:00
Paul Chavard
378f3c5fb0 use join table instead of arrays 2023-01-05 16:20:18 +01:00
Paul Chavard
ec6045c370 chore(blobs): add virus_scan_result index 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
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
sebastiencarceles
4e1dff0dce fix schema about prefilled default 2022-12-14 15:44:27 +01:00
simon lehericey
e1f63f0148 fix(schema): add missing team_account attribute 2022-12-08 15:42:14 +01:00
sebastiencarceles
38894fc853 review: prefilled has no default value 2022-12-08 15:27:39 +01:00
sebastiencarceles
373e8aeadb review: validate prefilled champs only 2022-12-08 15:27:39 +01:00
Paul Chavard
47f716f9fa feat(api_token): add api_tokens table 2022-12-07 18:19:37 +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
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
0014ce4b91 chore(schema): +procedures#piece_justificative_multiple 2022-12-05 10:47:10 +01:00
Paul Chavard
ece68076a7 feat(dossier): add some metadata to archive and remove operation log 2022-11-30 16:20:13 +01:00
Paul Chavard
1022e4d18b fix(db): update schema timestamp 2022-11-24 18:20:54 +01:00
simon lehericey
870d7280fb fix(procedure): add not null constraint on duree_conservation 2022-11-23 18:04:49 +01:00
Paul Chavard
e4bf1bd2db feat(dossier): add data to DossierOperationLog 2022-11-22 18:06:05 +01:00
Christophe Robillard
cee087a794 add libelle index on procedures 2022-11-22 17:08:17 +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
844004818a amelioration(dossier.clone): dossier.clone, permet de cloner un dossier 2022-11-14 09:13:52 +01:00
Martin
c9292e7ba8 amelioration(bdd): mise en place d'un flag pour identifier les anciens comptes d'admin de DS 2022-11-08 09:55:21 +01:00
simon lehericey
46852c7f81 fix(migration): ignore strong migration for small nb of procedure 2022-10-27 09:39:41 +02:00
Kara Diaby
492c7f377f migration 2022-10-21 19:13:12 +02:00
Paul Chavard
fa18ebd63a fix(message): add instructeurs foreign key 2022-10-20 14:42:42 +02:00
simon lehericey
de875632e6 refactor(spec): use match_array 2022-10-14 09:45:58 +02:00
Martin
654d38626b correctif(fusion de compte): recupération sur les comptes usagers ayant initié la fusion de leurs compte sur lui même [ce qui detruit la donnée] 2022-10-13 17:00:20 +02:00
Damien Le Thiec
73f6063c87
Merge branch 'main' into feature/add_rna_type_de_champs 2022-10-11 15:36:46 +02:00
Damien Le Thiec
bcdc9c18ae Remove skip_fetch_data mechanism 2022-10-11 11:52:59 +02:00
Paul Chavard
bc5e46e6de chore(db): add index on type to champs 2022-10-11 10:43:32 +02:00
Martin
c52b06a84f fix(data): move type de champs engagement to checkbox 2022-10-07 18:30:56 +02:00
Christophe Robillard
6d90f65159 backfill procedures_zones 2022-10-07 10:48:34 +02:00
Christophe Robillard
bffd9d61a9 add habtm between procedures and zones 2022-10-07 10:48:34 +02:00
Martin
f2a6697ebe fix(migration): backfill max_duree_conservation_dossiers_dans_ds without typo 2022-10-06 20:08:48 +02:00
simon lehericey
95430b2ee8 perf: add index on invite dossier_id 2022-10-06 17:17:27 +02:00
Martin
405a885160 feat(procedure.max_duree_conservation_dossiers_dans_ds): make it more flexible 2022-10-05 17:27:09 +02:00
Christophe Robillard
dc15b39648 add zone_label migration 2022-09-26 16:58:53 +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
Paul Chavard
2485fb67cc fix(db): add missing foreign key on attachements blob_id 2022-09-20 15:18:19 +02:00
Paul Chavard
84b9644bcd fix(db): add missing foreign keys 2022-09-20 15:16:52 +02:00
Colin Darie
81149cc809 chore(schema): safer migration for add_etablissment_infos_to_services 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
a4d9a45280 chore(schema): +services#siret 2022-09-06 09:23:52 +02:00
simon lehericey
8c884b4869 fix(migration): fix avis email notification migration 2022-09-02 17:23:04 +02:00
Kara Diaby
aab0c445de Add instant avis email notification to assign_tos 2022-09-02 16:17:22 +02:00
Martin
5b551682cb feat(super-admin): re-add to procedure without any instructeur 2022-08-24 14:37:27 +02:00
Martin
e23525ff4a feat(clean.super_admin.assign_tos): remove former assign to so our support team is happy :-) 2022-08-23 14:39:40 +02:00
Martin
c2e0994e11 feat(Administrateur::ArchivesController#*): prevent SuperAdmin to index/download archives 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
Paul Chavard
e764aade13 fix(db): types_de_champ migration is too long 2022-08-03 14:22:34 +02:00
Paul Chavard
10ef4a4be5 chore(db): remove ignored columns 2022-08-02 15:24:52 +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
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
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
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
a1623a1213 fix(data): ensure to populate closed column in after_party migration 2022-06-21 18:46:13 +02:00
Martin
4275096349 fix(AddColumnClosedToGroupeInstructeurs): add column with change_column_default 2022-06-21 16:15:28 +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
758933f6f9 tdc can have condition 2022-06-17 14:53:28 +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
Kara Diaby
0381444770 migration 2022-05-26 12:45:05 +02:00
Martin
3737311390 feat(procedure.procedure_expires_when_termine_enabled): enable by default, allow contributor to choose the default settings of this flag using an env var during migration. ie: DEFAULT_PROCEDURE_EXPIRES_WHEN_TERMINE_ENABLED=true|false
feat(administrateurs/procedures#show): warning/alert when procedure_expires_when_termine_enabled is not true on current procedure

feat(administrateur/procedure#update): after an update redirect to procedure show: suggested by: https://ux.stackexchange.com/questions/55291/after-updating-form-should-redirect-back-to-form-itself-or-to-the-show-page-or-b and confirmed by Olivier

clean(Flipper.archive_zip_globale): no more in use, so remove all occurences

Update app/views/administrateurs/procedures/_suggest_expires_when_termine.html.haml

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

Update app/views/administrateurs/procedures/_suggest_expires_when_termine.html.haml

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

Update app/views/administrateurs/procedures/_suggest_expires_when_termine.html.haml

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

Update spec/views/administrateurs/procedures/show.html.haml_spec.rb

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>

fix(review): typo, why ena?, who knows

fix(env.example.optional): add missing DEFAULT_PROCEDURE_EXPIRES_WHEN_TERMINE_ENABLED
2022-05-05 13:07:11 +02:00
Martin
636f887698 fix(user.merge): when merging old_user having an instructeur with dossier_operation_logs containing the old_user.instructeur_id, should be able to merge to new instructeur
feat(user.merge): when user have an instructeur having dossier_opertions_logs containing instructeur_id
2022-05-04 14:24:11 +02:00
Paul Chavard
27f9a820cc feat(dossier): add preview flag 2022-04-28 11:52:38 +02:00
Martin
be090a1bec feat(administrateur/procedure#create): allow admin to add a lien to the DPO, allow user to consult link to dpo. enhance spec on _procedure_footer.html
Update spec/views/users/_procedure_footer.html.haml_spec.rb

Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2022-04-27 15:09:02 +02:00
Remi-Frk
17bf19e3f0 fix(migrate): lien administrateurs_procedures - administrateurs 2022-04-25 14:20:57 +02:00
simon lehericey
53de567b59 revert fix(user.merge) : waiting for ignore column instructeur_id in ruby code 2022-04-12 14:02:20 +02:00
Martin
e83f5fe475 fix(user.merge): when merging old_user having an instructeur with dossier_operation_logs containing the old_user.instructeur_id, should be able to merge to new instructeur
feat(user.merge): when user have an instructeur having dossier_opertions_logs containing instructeur_id
2022-04-12 11:28:33 +02:00
Martin
f84c7ac5e4 fix(migration): apply what strong migration recommends 2022-04-07 10:25:05 +02:00
Paul Chavard
21945b6df0 fix(exports): disable strong migration checks because we are operating on a “small” table 2022-04-07 09:44:09 +02:00
Paul Chavard
9904dabffe feat(procedure_presentation): pass filters as serialized snapshot 2022-04-06 17:08:38 +02:00
Paul Chavard
be1a2f916d feat(exports): add statut and procedure_presentation to exports 2022-04-06 17:08:38 +02:00
simon lehericey
200e8680d5 add uniq index on attestation dossier_id 2022-04-05 15:43:21 +02:00
Pierre de La Morinerie
79ea80c199 db: remove deprecated role columns on user 2022-03-29 14:52:38 +02:00
Pierre de La Morinerie
017625207e db: add constraints to role tables 2022-03-29 14:52:38 +02:00
Pierre de La Morinerie
9dcd92a678 db: add not-null constraints to AdministrateursInstructeur 2022-03-22 13:32:02 +01:00
Pierre de La Morinerie
21bf4d38cf db: alphabetize schema.rb
This avoids the column order being de-synchronized between different
machines.
2022-03-16 10:30:25 +01:00
Pierre de La Morinerie
48ea53b90d db: add foreign keys to Administrateur, Instructeur and Expert 2022-03-15 15:15:51 +01:00
Pierre de La Morinerie
27edc6676d db: add foreign key contraint to AdministrateursProcedure
In production there are around 20 000 AdministrateursProcedure
records that reference a deleted Procedure.
2022-03-08 14:48:17 +01:00
Pierre de La Morinerie
a4108c7787 db: backport delete_orphans in recent migrations
Recent migrations used ActiveRecord when removing invalid data. This may
break if the ActiveRecord model later changes.

To ensure these migrations will run correctly, even when the code will
have changed, let's use an SQL-based helper instead of ActiveRecord.
2022-03-08 14:48:17 +01:00
Pierre de La Morinerie
13dfa577bd db: add missing part of schema.rb 2022-03-02 14:09:43 +01:00
Pierre de La Morinerie
5eee6b161f db: add foreign key contraints to AdministrateursInstructeur 2022-03-02 14:09:23 +01:00
Pierre de La Morinerie
3fde7021e7 db: add foreign key contraint to AdministrateursProcedure 2022-03-01 16:58:04 +01:00
Martin
b808b4db00 fix(relation): avoid double association between procedure/procedure_revision/dossier_submitted_message 2022-02-25 14:01:18 +01:00
Martin
35b9487897 feat(data.integrity): add foreign key to prevent orphan data 2022-02-25 14:01:18 +01:00