Colin Darie
e18dbb976f
fix(graphql/serializer): PersonneMorale#date_creation may be null
...
Ça fix le passage du dossier dans un dossier "terminé" pour un dossier
dont un champ avec SIRET correspond à un établissement sans date de creation
connue.
2022-09-26 18:05:04 +02:00
Christophe Robillard
ddd5f6ece2
make label method name more explict
2022-09-26 16:58:53 +02:00
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
Christophe Robillard
fd98247b48
[manager] add list of dubious procedures
2022-05-25 14:44:53 +02:00
Pierre de La Morinerie
8936461d5b
app: cache the duration estimate for published procedures
2022-05-25 10:39:18 +02:00
Pierre de La Morinerie
3e91a16895
app: display estimated fill duration on procedure description
2022-05-25 10:39:15 +02:00
Pierre de La Morinerie
3b57d98692
model: add estimated_fill_duration to type_de_champ
2022-05-25 10:37:59 +02:00
Pierre de La Morinerie
4fcb85fd65
app: remove procedure_dossier_papertrail feature flag
...
The feature is now enabled for all procedures.
2022-05-24 17:32:11 +02:00
simon lehericey
8ce080bd3e
updated_at pb
2022-05-24 15:38:50 +02:00
simon lehericey
db5d291acd
complete spec and alternative implem
2022-05-24 15:38:50 +02:00
simon lehericey
abc3681053
delegate stable_id to tdc
2022-05-24 15:38:50 +02:00
simon lehericey
e7078279b8
rename published to target to be coherent
2022-05-24 15:38:50 +02:00
simon lehericey
75ec99e709
comments
2022-05-24 15:38:50 +02:00
Paul Chavard
0817731d6a
refactor(dossier): rebase to use new revisions
2022-05-24 15:38:50 +02:00
Martin
51f0be1034
clean(deadcode): remove dead methods
2022-05-24 14:23:40 +02:00
Martin
0eccb08f8b
fix(root): do not forget to move claimant_id when merging instructeur
2022-05-24 14:23:40 +02:00
Paul Chavard
b635952b2f
refactor(revision): types_de_champ for export
2022-05-23 18:36:18 +02:00
Paul Chavard
50aa50b047
refactor(type_de_champ): use children_of when serializing type_de_champ
2022-05-23 18:22:42 +02:00
Paul Chavard
ee50b8ad25
refactor(graphql): fix types_de_champ usage
2022-05-23 18:03:55 +02:00
Paul Chavard
a6cf311f56
Revert "if is not only in draft, its gonna be cloned anyway"
...
This reverts commit 71e9240a7d
.
2022-05-18 22:53:39 +02:00
simon lehericey
74653631c3
few comments
2022-05-18 22:23:31 +02:00
simon lehericey
71e9240a7d
if is not only in draft, its gonna be cloned anyway
2022-05-18 22:23:31 +02:00
simon lehericey
20288fbb7d
revise_type_de_champ -> replace_tdcs_and_children_by_clones
2022-05-18 22:15:22 +02:00
simon lehericey
e7524b3f0d
extract var
2022-05-18 21:59:31 +02:00
Paul Chavard
0e335f58ac
fix(revision): update children coordinate instead of duplicating
2022-05-18 19:39:20 +02:00
Pierre de La Morinerie
49410ff5f7
models: update database comments
2022-05-18 15:39:33 +02:00
simon lehericey
419d853d1d
add target_revision on rebase
2022-05-18 15:18:17 +02:00
simon lehericey
8bd3de2050
remove use of repetition.types_de_champ (except rebase)
2022-05-18 15:18:17 +02:00
simon lehericey
1921661fad
simplify children_of
2022-05-18 12:30:58 +02:00
simon lehericey
633f0d1ce5
remove_repetition
2022-05-18 12:12:25 +02:00
simon lehericey
4d97f6aa8c
types_de_champ_for_revision
2022-05-18 11:40:34 +02:00
Paul Chavard
6c2a3bafa4
refactor(dossier): champs order by coordinate
2022-05-18 11:20:50 +02:00
simon lehericey
be33c0ce7b
extract coordinate_and_tdc
2022-05-18 10:11:31 +02:00
simon lehericey
7f23449f24
remove set_position
2022-05-18 10:11:31 +02:00
Paul Chavard
0dfc015690
feat(dossiers): bring back export all dossiers
2022-05-17 18:34:00 +02:00
Paul Chavard
b6ea44f7e7
refactor(revision): remove type_de_champ#revision_id
2022-05-17 11:31:49 +02:00
Pierre de La Morinerie
0063b68689
mailers: add deposit receipt to initiated_mail
...
See #6146
2022-05-17 10:25:13 +02:00
Paul Chavard
8d9929aa9f
fix(revision): (re)move child type de champ should clone parent for now
2022-05-13 17:17:24 +02:00
Paul Chavard
85c20784a2
refactor(revision): delete unused code
2022-05-13 17:17:23 +02:00
Paul Chavard
d7678c4389
Revert "Merge pull request #7295 from tchak/rollback-attempt"
...
This reverts commit 24b37c230d
, reversing
changes made to 08b90b9173
.
2022-05-13 17:17:23 +02:00
Kara Diaby
e99bd5f558
models
2022-05-13 10:31:51 +02:00
Paul Chavard
6adb3f7a3a
fix(revision): fix migrate_parent!
2022-05-12 10:40:41 +02:00
Paul Chavard
edf0cbf320
bring back find_type_de_champ_by_stable_id old implementation
2022-05-11 20:29:01 +02:00
Paul Chavard
4c26e34c79
Revert "Merge pull request #7270 from betagouv/remove_type_de_champ_v2"
...
This reverts commit 41b6f8f51b
, reversing
changes made to 79d5946ab6
.
2022-05-11 20:03:42 +02:00
Paul Chavard
08caa122dd
Revert "Merge pull request #7280 from betagouv/move_type_de_champ_v2"
...
This reverts commit 08b90b9173
, reversing
changes made to bc9a90bd08
.
2022-05-11 20:03:33 +02:00
simon lehericey
5d6dd853d4
refactor reorder: add order_place only in children
2022-05-11 16:54:26 +02:00
simon lehericey
df91fd1180
move_type_de_champ new style
2022-05-11 16:54:26 +02:00
simon lehericey
b6c2aa30f4
reorder the siblings after deletion
2022-05-11 15:59:17 +02:00
simon lehericey
5dd8bbe797
fix remove type de champ
2022-05-11 15:59:17 +02:00
Kara Diaby
d187b7e881
model
2022-05-10 16:16:16 +02:00
Martin
bf277d4802
bug(export): expect dossiers_for_export not to include dossiers brouillon
...
fix(export.dossiers_for_export): add missing visible_by_administration
2022-05-10 16:09:12 +02:00
simon lehericey
d2509e7492
add procedure_revision children_of
2022-05-10 14:52:57 +02:00
Martin
75da4d8c8d
Revert "migration(fix.data): when a repetable revision_types_de_champ points to a non active revision type de champs, relink it to the actuel revision_type_de_champs pointing to the stable id of its parent.type_de_champ.stable_id"
...
This reverts commit 19360e7aac
.
2022-05-09 18:45:35 +02:00
Martin
19360e7aac
migration(fix.data): when a repetable revision_types_de_champ points to a non active revision type de champs, relink it to the actuel revision_type_de_champs pointing to the stable id of its parent.type_de_champ.stable_id
2022-05-09 18:01:02 +02:00
simon lehericey
4ec5b418cb
fix create_new_revision
2022-05-06 12:37:59 +02:00
Paul Chavard
842506f993
refactor(revision): rename revision methods params to reflect usage of stable_id
2022-05-06 11:08:58 +02:00
Paul Chavard
98814c3812
refactor(revision): test for type_de_champ having a unique revision
2022-05-06 11:08:51 +02:00
simon lehericey
ce0a592f3c
simplify find_type_de_champ_by_id
2022-05-06 10:34:40 +02:00
Martin
ba7a316f5e
fix(Dossier.for_export): instead of iterating champs to build an hash {stable_id: values} ; we iterate on the list of all type de champs, so when there is a type de champ with mutliple values for export, we build the column with the nil value
2022-05-06 09:38:45 +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
Paul Chavard
4523c0590c
fix(dossier): champs repetable in champs private
2022-05-04 15:57:25 +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
simon lehericey
1ef8d99e6e
simplify a bit more
2022-05-04 13:16:12 +02:00
simon lehericey
37e01ea399
re introduce revision_types_de_champ
2022-05-04 13:16:12 +02:00
Paul Chavard
2d1370d123
refactor(champ): simplify repetition champ
2022-05-03 16:14:54 +02:00
Paul Chavard
b94bc8fd8a
refactor(dossier): use champ id as champ attributes key
2022-05-03 16:14:54 +02:00
simon lehericey
a2947751e2
add scope to query old admins
2022-05-03 12:14:02 +02:00
simon lehericey
ea361643be
types_de_champ -> types_de_champs_public
2022-05-03 11:05:24 +02:00
Paul Chavard
1e928a277d
chore(devise): drop unmaintained dependencie
2022-04-28 12:28:33 +02:00
Paul Chavard
68ca9efba0
feat(dossier): use persisted dossier for preview
2022-04-28 12:20:41 +02:00
Paul Chavard
27f9a820cc
feat(dossier): add preview flag
2022-04-28 11:52:38 +02:00
Martin
3c0e3f725d
feat(administrateur/procedures#publication): show dubious to administrateur
...
Update app/views/administrateurs/procedures/publication.html.haml
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-04-27 15:13:22 +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
Paul Chavard
91879b89ce
fix(commentaire): unified destroy commentaire
2022-04-26 14:54:58 +02:00
simon lehericey
fe6f211cc9
ignore instructeur_id in dol
2022-04-25 14:07:23 +02:00
Paul Chavard
23b60c87e9
fix(procedure): cloned procedure should not have auto_archive_on
...
fix #7149
2022-04-22 10:48:31 +02:00
Paul Chavard
4624fa141f
fix(turbo): use a safer render method
2022-04-21 19:41:27 +02:00
simon lehericey
9fd5219751
fix sort in procedure presentation
2022-04-15 12:21:39 +02:00
Paul Chavard
22f23c58c7
fix(dossiers): fix columns order
2022-04-14 17:04:42 +02:00
simon lehericey
23707d6033
ignore file not found error when cloning procedure
2022-04-14 13:46:16 +02:00
Paul Chavard
c671f25d34
fix(dossier): do not show unwanted closed procedure banners
2022-04-14 12:22:37 +02:00
Paul Chavard
83a8d87e95
i18n(procedure_presentation): translate fields
2022-04-14 11:38:01 +02:00
Paul Chavard
433c01b1e6
Revert "Merge pull request #7137 from betagouv/faster_pdf"
...
This reverts commit 9da44bd913
, reversing
changes made to ebac71796c
.
2022-04-12 19:22:07 +02:00
Paul Chavard
caace89d98
refactor(export): use predefined helpers
2022-04-12 14:54:54 +02:00
Paul Chavard
d14e132305
feat(export): add zip format support
2022-04-12 14:54:54 +02:00
Paul Chavard
2832ea0286
refactor(export): return blob from to_* methods
2022-04-12 14:54:54 +02:00
Paul Chavard
a194616772
refactor(export): remove unnecessary to_sym
2022-04-12 14:54:54 +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
simon lehericey
ba688a477a
small refactor
2022-04-12 11:56:56 +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
Paul Chavard
90dd5bc9c5
fix(dossiers): dossier extend_conservation actually works
2022-04-08 13:40:28 +02:00
Paul Chavard
23e2429d0d
fix(export): make count argument optional
2022-04-06 17:08:38 +02:00
Paul Chavard
9904dabffe
feat(procedure_presentation): pass filters as serialized snapshot
2022-04-06 17:08:38 +02:00
Paul Chavard
e82dc9c8b5
feat(exports): add ability to create exports with filters
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
Paul Chavard
ec3ed049ef
refactor(procedure_presentation): expose filtered_sorted_ids method
2022-04-05 15:50:53 +02:00
Martin
4890530428
fix(Dossier.processed_in_month): recast date to datetime in scope
2022-04-05 13:54:36 +02:00
Martin
9484c4cdf4
fix(Dossier.processed_in_month): using PG between operator with a date does not play nicely when it is compared to DateTime in postgres. meaning given a Date as 2022/03/31, when compared with a DateTime in postgres, the casting of 2022/03/31 to Datetime becomes 2022/03/31 00:00. So we skiped all dossiers from last date in month
2022-04-05 13:54:36 +02:00
Martin
c1884f231c
Revert "Merge pull request #7105 from betagouv/US/fix-dossier.processed_in_month"
...
This reverts commit a0e144b9a7
, reversing
changes made to 49848bd150
.
2022-04-05 13:39:37 +02:00
Martin
d6d9db9721
tech(Sorbet): prepare usage of sorbet to avoid defensive programming style [casting date to datetime]
2022-04-05 12:14:07 +02:00
Martin
ec78340c06
fix(Dossier.processed_in_month): recast date to datetime in scope
2022-04-05 12:14:07 +02:00
Martin
ab777a790c
fix(Dossier.processed_in_month): using PG between operator with a date does not play nicely when it is compared to DateTime in postgres. meaning given a Date as 2022/03/31, when compared with a DateTime in postgres, the casting of 2022/03/31 to Datetime becomes 2022/03/31 00:00. So we skiped all dossiers from last date in month
2022-04-05 12:14:07 +02:00
Paul Chavard
0daae815d8
refactor(dossier): use by_statut
2022-04-05 09:42:23 +02:00
Paul Chavard
6da54936b7
refactor(procedure_presentation): use internal reference to instructeur
2022-04-05 09:42:23 +02:00
Paul Chavard
706c648be8
refactor(procedure): remove unused code
2022-04-05 09:42:23 +02:00
simon lehericey
57f9e5bac3
always allow dossier pjs download (-9 queries)
2022-04-04 17:26:49 +02:00
Martin
ad4e5a8bc6
fix(instructeurs/procedures#index): counter not in sync
2022-04-04 16:28:25 +02:00
Kara Diaby
e06215281a
modify commentaire model
2022-03-31 15:48:17 +02:00
Martin
dbcf21a555
feat(archive): extract archive status management within job to simplify the main service as well as to isolate this part for a merge with exports csv/xslx [maybe?]
...
Update app/dashboards/archive_dashboard.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-03-31 13:35:49 +02:00
Paul Chavard
6df18e1234
fix(dossier): only expire dossiers visible by user or administration
2022-03-31 12:17:24 +02:00
Paul Chavard
a171ebb772
fix(dossiers): exclude deleted dossiers from notifications
2022-03-31 12:17:24 +02:00
Martin
7ec1021e00
feat(Archive.prepare_broader_reach): activate by default the archive button in the export dropdown. add a call to action to contact our support to enable the feature. increase estimated file size limit up to 100.gigabytes
2022-03-30 16:21:07 +02:00
Pierre de La Morinerie
017625207e
db: add constraints to role tables
2022-03-29 14:52:38 +02:00
Kara Diaby
217793c5c8
modify model
2022-03-29 12:30:52 +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
fbe0410702
models: fix a typo in a ProcedurePresentation's comment
2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
6849a73aec
models: ignore deprecated User columns
2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
31bd05f835
models: inverse the direction of the User role associations
2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
d4da6502ba
models: remove double-write callback on User
2022-03-22 07:58:44 +01:00
Kara Diaby
8bcdf59778
change commentaire model
2022-03-17 13:57:49 +01:00
Kara Diaby
eda5f75ec3
modify dossier model
2022-03-17 13:57:49 +01:00
Paul Chavard
c530399eac
feat(procedure): display revisions diffs
2022-03-17 10:26:38 +01:00
Martin
5739150f15
feat(service/archive_uploader): add an archive uploader class to upload files thru a custom script which handle file encryption of massive file (bigger than 4Go)
...
Update doc/object-storange-and-data-encryption.md
Co-authored-by: LeSim <mail@simon.lehericey.net>
Update app/services/archive_uploader.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
Update doc/object-storange-and-data-encryption.md
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
clean(doc): align document file name and document h1
clean(review): refactore based on various comments
clean(review): refactore based on various comments
2022-03-16 14:56:21 +01:00
Pierre de La Morinerie
ae3e360139
models: double-write to the newly created foreign keys
...
This code is only used to handle a live system creating new
Administrateurs, Instructeurs or Experts before the migration to the new
foreign keys.
2022-03-15 15:57:22 +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
be834ba58d
models: reload old_user roles before destroying it
...
Otherwise ActiveRecord believes that old_user still has roles (although
they have been migrated to the new user), and attempts to delete them.
2022-03-15 15:13:45 +01:00
Pierre de La Morinerie
2cac7d96be
models: fix procedure_revision comments indentation
2022-03-15 15:13:45 +01:00
simon lehericey
44f2d93277
quick fix of sections in preview
2022-03-15 10:54:39 +01:00
Paul Chavard
77c2187747
fix(instructeur): avoid n+1 in instructeur_dossier#show and user_dossier#show
2022-03-15 09:57:54 +01:00
Paul Chavard
0695ea322a
refactor(instructeur): improuve dossiers list view
2022-03-11 14:06:34 +01:00
Paul Chavard
c60a8970f1
perf(dossier): memoize champ.sections on dossier
2022-03-11 00:15:53 +01:00
Paul Chavard
54b559364a
feat(dossier): replace discarded with visible_by_administration
2022-03-10 14:29:40 +01:00
Paul Chavard
59b0f3961d
refactor(dossier): improuve dossiers_count_summary
2022-03-10 14:29:40 +01:00
Pierre de La Morinerie
a645c5781d
models: delete AdministrateursProcedure when destroying Procedure
2022-03-08 09:20:34 +01:00
Pierre de La Morinerie
087e438eb6
models: delete AdministrateursInstructeur when destroying Instructeur
...
By default, `has_and_belongs_to_many` properly deletes the record in
the join table.
However, as the association is declared manually with a
`has_many / through`, it doesn't delete the joined record automatically.
As we also lack a foreign-key contraint on the join table, that means
a dangling record remains in the join table.
To fix this, let's declare it a proper `has_and_belongs_to_many`
association, which will let the join record be deleted automatically
on destroy.
2022-03-02 11:26:53 +01:00
Pierre de La Morinerie
e32c9a9f94
models: don't attempt to format invalid phone numbers
...
This is a defensive-programming measure, because formatting an
invalid phone number may truncate some leading numbers.
2022-03-02 09:57:03 +00:00
Pierre de La Morinerie
f35d18cd5c
models: stop truncating DROM phone numbers
...
Fix #6996
2022-03-02 09:57:03 +00:00
Pierre de La Morinerie
5150e33212
models: ensure DROM phone numbers are valid
...
They were accepted before, because they were 'possible' – but now
they are explicitely considered as valid.
2022-03-02 09:57:03 +00:00
Pierre de La Morinerie
71e1b6c973
models: delete AdministrateursProcedure when destroying Administrateur
...
By default, `has_and_belongs_to_many` properly deletes the record in
the join table.
However, as the association is declared manually with a
`has_many / through`, it doesn't delete the joined record automatically.
As we also lack a foreign-key contraint on the join table, that means
a dangling record remains in the join table.
To fix this, let's declare it a proper `has_and_belongs_to_many`
association, which will let the join record be deleted automatically
on destroy.
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
85a588541b
feat(dossier_submitted_message): add a new system to customize the standby page (/merci) after an user created his folder. this is a basic feature that will come with more options asap
...
wip(dossier_created_hook): add tile to administrateurs/procedure#show in order to crud dossier_created_hook
refactor(css.utilities): remove merge helpers.scss within utils.scss (same purpose). use scss each for spacer modifiers
refactor(dossiers/_merci.html): extract partial _merci so we can re-use it in preview of dossier_created_hook.
feat(wip): current progress
2022-02-25 14:01:18 +01:00
Paul Chavard
2d396fcfb7
feat(dossier): rebase dossiers en construction and en instruction
2022-02-18 17:08:38 +01:00
Paul Chavard
08030bcdb7
fix(attestation_template): handle attestation changes on procedures without revisions
2022-02-11 11:12:10 +01:00
Paul Chavard
76b1b85fa7
fix(attestation_template): add revision diff support
2022-02-11 08:45:32 +01:00
Paul Chavard
e269077c40
refactor(attestation_template): cleanup relationships
2022-02-11 08:45:32 +01:00
Paul Chavard
88e80e9e32
Merge pull request #6901 from adullact/feature/6859-jwt-token-expiration
...
[API Entreprise] Ajout du support des jetons JWT sans clé d'expiration
2022-02-10 11:48:39 +01:00
Kara Diaby
a6b2873bfc
modify instructeur model
2022-02-09 14:43:36 +01:00
Kara Diaby
0ce61f451e
modify dossier model
2022-02-09 14:43:36 +01:00
Paul Chavard
12151acb99
Revert "Revert "feat(attestation): revise attestations""
...
This reverts commit 4e7733e571
.
2022-02-08 16:22:59 +01:00
François Vantomme
eba9a87123
refactor(API Entreprise): raise an error on blank token
2022-02-07 15:18:16 +01:00
Pierre de La Morinerie
e6cf07b810
stats: move date formatting out of the Stat model
...
Before this commit, the monthly dossiers count was serialized into the
Stat record using human-formatted dates, as:
```ruby
s.dossiers_in_the_last_4_months = {
"octobre 2021"=>409592,
"novembre 2021"=>497823,
"décembre 2021"=>38170,
"janvier 2022"=>0
}
```
Turns out the ordering of keys in a serialized hash is not guaranteed.
After a round-trip to the database, the keys will be wrongly sorted.
Instead we want to save raw Date objects, which will preserve the
ordering. The date formatting can be applied at display-time by the
controller.
Fix #6848
2022-02-02 14:13:53 +01:00