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
Pierre de La Morinerie
ca58e60dc0
validators: rename revisions
namespace to types_de_champ
2022-02-01 12:37:16 +01:00
Pierre de La Morinerie
d680602c84
models: validate private types_de_champ
2022-02-01 12:37:16 +01:00
Pierre de La Morinerie
e8e37cce15
models: refactor the types_de_champ validators
...
Context: we want to validate public and private types_de_champ
separately.
Before we validated the whole revision (and then validators themselves
enumerated all champs, public and private).
Now we validate the actual public types_de_champ, which will let us
validate separately the private types_de_champ.
2022-02-01 12:37:16 +01:00
Kara Diaby
0f968f4c4e
modify models
2022-01-27 17:01:27 +01:00
Paul Chavard
4e7733e571
Revert "feat(attestation): revise attestations"
...
This reverts commit e413872530
.
2022-01-25 18:26:34 +01:00
Kara Diaby
2eb35065f8
fix dossier deletion mailers
2022-01-25 11:46:05 +01:00
Kara Diaby
0e3532a0b2
Fixe la liste 'tous' des dossiers instructeurs lorsqu'un dossier est en constructino et caché par l'usager
2022-01-24 16:47:47 +01:00
Paul Chavard
e413872530
feat(attestation): revise attestations
2022-01-19 18:00:37 +01:00
Paul Chavard
c1cb89bb44
fix(revision): changed? conflicts with rails method
2022-01-19 18:00:37 +01:00
Paul Chavard
403e71b41f
feat(procedure): only purge procedures without dossiers
2022-01-18 11:22:04 +01:00
Paul Chavard
7937e58caa
fix(archives): only export dossiers in archive groupe_instructeurs
...
fix #6793
2022-01-18 11:16:20 +01:00
Paul Chavard
7e0d471a08
improuve discarded_expired scopes
2022-01-12 15:49:38 +01:00
Kara Diaby
e2caf5718f
modify instructeur model
2022-01-12 15:49:38 +01:00
Kara Diaby
894b065615
modify dossier model
2022-01-12 15:49:37 +01:00
Paul Chavard
fc058f721d
a11y(champs): expose ids for UI on champ
2022-01-05 12:33:40 +01:00
Kara Diaby
1ca553e088
rename hidden_by_instructeur by hidden_by_administration
2022-01-03 11:51:25 +01:00
Paul Chavard
ad4be3c482
refactor(dossier): handle discard by admin and super admin
2022-01-03 11:51:25 +01:00
Kara Diaby
b408811c5a
l'expert ne voit pas les dossiers supprimés par l'instructeur
2022-01-03 11:51:25 +01:00
Kara Diaby
051d7b2028
change dossier method
2021-12-29 17:37:58 +01:00
Kara Diaby
37e991ccb8
User : delete the folder if the instructeur has hide it
2021-12-29 17:37:58 +01:00
Kara Diaby
22ac853815
add hidden_by_instructeur scope
2021-12-29 17:37:58 +01:00
Kara Diaby
cd95b730e0
add hidden_by_instructeur_at on dossiers
2021-12-29 17:37:57 +01:00
Martin
d0ab1711ff
fix(profil_controller#update_email): ensure we are not merging same account
...
fix(profil_controller#update_email): changing email from current_user.email to current_user.email destroy current user. whoops ☠️ '
Update config/locales/en.yml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
Update config/locales/fr.yml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
Update spec/controllers/users/profil_controller_spec.rb
Update config/locales/fr.yml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
Update spec/controllers/users/profil_controller_spec.rb
fix(spec): broken due to typo
2021-12-29 13:36:47 +01:00
Christophe Robillard
6e36fee7b3
superadmin can display list of procedures without zone
2021-12-23 19:18:46 +01:00
Christophe Robillard
c7b5e57d2a
superadmin can get procedures from zone
2021-12-23 19:07:42 +01:00
Paul Chavard
4e779f445d
fix(instructeur): copy notifications settings from previous groupe instructeur
...
fix #6763
2021-12-23 13:55:25 +01:00
François Vantomme
14e0c68266
feat(api particulier): add MESRI field
2021-12-16 16:45:18 +01:00
maatinito
0a31c8bc79
refactor date_trunc queries using groupdate gem
2021-12-14 08:50:11 +01:00
maatinito
573b3d39e2
Fix date_trunc sql queries for timezoned forks
2021-12-14 08:50:09 +01:00
Paul Chavard
c7b1dc7f87
fix(bulk_messages): destroy bulk messages with procedures
2021-12-09 16:16:40 +01:00
Paul Chavard
efd8ddb99e
fix(graphql): do not crash if attestation is nil
2021-12-08 13:12:42 +01:00
François Vantomme
6ab8ac0662
feat (api particulier): add Pole emploi field
2021-12-08 10:36:25 +01:00
Paul Chavard
5615baa985
Revert "Merge pull request #6724 from tchak/fix-approximative_expiration_date"
...
This reverts commit c95a67d970
, reversing
changes made to 032989a400
.
2021-12-07 13:32:39 +01:00
Paul Chavard
436569b08c
Revert "Merge pull request #6727 from tchak/fix-approximative_expiration_date-again"
...
This reverts commit 951f974478
, reversing
changes made to c95a67d970
.
2021-12-07 13:32:27 +01:00
Paul Chavard
48ee830586
fix(dossier): fix approximative_expiration_date again
2021-12-07 13:02:53 +01:00
Paul Chavard
60d4bcc4f7
fix(dossier): fix approximative_expiration_date
2021-12-07 12:47:27 +01:00
François Vantomme
2110ef072c
feat(api particulier): add DGFiP field
2021-12-07 11:03:05 +01:00
Paul Chavard
5e0f8a5816
task(type_de_champ): migrate type_de_champ parent_id
2021-12-06 21:45:54 +01:00
Paul Chavard
09c37435ad
feat(procedure_revision_types_de_champ): add parent_id
2021-12-06 21:45:54 +01:00
Paul Chavard
0036933425
feat(graphql): add commune and departement information to API
2021-12-06 21:01:28 +01:00
Paul Chavard
fcbe364ac8
feat(commune): display departement information on commune champ
2021-12-06 21:01:28 +01:00
Paul Chavard
2ba05bfb4f
fix(dossier): use depose_at instead of en_construction_at
2021-12-06 15:49:17 +01:00
Martin
081d5094a9
feat(instructeurs/procedure/dossiers#extend_conservation): add extends duree conservation in action button list, also rewire this action for user [extend by procedure.duree_conservation_dans_ds by default] but force 1.month for instructeur. add new icon for standby based on https://en.wikipedia.org/wiki/Power_symbol
2021-12-06 07:20:01 +01:00
Martin
d8a8d1fdab
feat(instructeur/dossier/header/_expiration_banner): split trads and add dedicated expiration banner for instructeur. also enhance wording to include duree conservation + extension_conservation
...
feat(expiration_banner): enhance wording of expiration
feat(dossiers/expiration_banner): enhance wording regarding expiration to include duree_conservation_dossiers_dans_ds + extension_conservation, also add spec on expiration_banner for instructeur
2021-12-06 07:05:17 +01:00
Martin
1bb868714c
fix(spec/lint/review): lint and fix spec of previous commits, also fix based on tchak feedback
2021-12-06 07:05:17 +01:00
Martin
d87f8b57cc
feat(instructeurs/procedures#show): add dossier experiant in procedure#show
2021-12-06 07:05:17 +01:00
Martin
2dfbc70d41
feat(instructeur#dossiers_count_summary): add counter for expirants. ignore brouillon
2021-12-06 07:05:17 +01:00
Martin
ce87878ff0
refactor(traitement.process_expired): move process expired to procedure
2021-12-03 16:32:36 +01:00
Christophe Robillard
561f6fb274
add belongs_to zone for procedure
2021-12-02 19:23:05 +01:00
Christophe Robillard
219eaf0d5e
add zone model
2021-12-02 19:16:11 +01:00
Pierre de La Morinerie
b7d17b0989
models: validate that no drop-downs are empty on publishing
...
Disallow publishing a procedure containing drop-downs with no selectable
values.
2021-12-02 09:00:37 +01:00
Pierre de La Morinerie
e219ec33d8
validators: rename no_empty_repetitions to no_empty_repetition
2021-12-02 09:00:37 +01:00
Martin
725521c3a1
fix(expiration_banner): only show expirations info when flip is enabled
...
fix(lint): lint haml
fix(spec): enable flipper and allow procedure to receive flipper check when checking banner presence
fix(doc): add missing documentation on readme regarding system testing with a visual feedback
fix(typo): add missing accent
clean(PR): feedback from Tchak, better to wrap feature check for expirability by procedure within dossier.expirable? helper
2021-11-30 16:05:32 +01:00
Pierre de La Morinerie
52b0fbf9b7
models: validate repetitions on publishing
2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
48133c2595
models: don't save the procedure before the state transition
...
Otherwise a validation error occurs here instead of on save.
2021-11-30 13:34:41 +01:00
simon lehericey
5a0fb6237f
😭 AASM does not support keyword arguments
...
https://github.com/aasm/aasm/issues/672
2021-11-30 09:42:45 +01:00
Pierre de La Morinerie
184a401182
app: rename new_administrateur
to administrateurs
2021-11-30 08:49:38 +01:00
Martin
cf82c030e8
hotfix(scoping): try to avoid requesting archived: false when using termine scope, use state_termine instead
2021-11-26 15:09:53 +01:00
Martin
970e43efb8
feat(stats#index): update Stat model to also query DossierDeleted in stats computation
...
tech(question): discard_and_keep_track! ; are we really keeping track with default_scope { kept } ?
feat(stats): add DeletedDossier in Stat computations
Revert "tech(question): discard_and_keep_track! ; are we really keeping track with default_scope { kept } ?"
This reverts commit d1155b7eeaaf1a9f80189e59667e109541fcb089.
feat(stats): support deleted_dossiers for last_four_months_hash and cumulative_hash. extract sanitize query & merge hashes in methdos
clean(rubocop): lint with rubocop
Update db/migrate/20211126080118_add_index_to_deleted_at_to_deleted_dossiers.rb
Co-authored-by: LeSim <mail@simon.lehericey.net>
fix(rubocop): avoid uneeded allocation
fix(migration): add concurrent index with expected synthax
fix(brakeman): add ignore message since group date_trunc evaluation is used by only ourself
2021-11-26 13:29:40 +01:00
kara Diaby
eaac293da3
add a new tab traités on user dossiers
2021-11-26 09:45:13 +01:00
Paul Chavard
d847775c68
feat(traitements): add depose_at to dossiers
2021-11-25 12:57:55 +03:00
Paul Chavard
1f1dd9fce5
fix(traitements): add missing traitements to dossiers when reverting a decision
2021-11-25 12:57:55 +03:00
Pierre de La Morinerie
e5f5440663
models: explicitely save procedure's new revision
...
Deep-cloned objects have all their relationships stale. Thus, for a
newly deep-cloned revision, `revision.types_de_champs` returns `[]`,
even when it actually has associated types de champ.
This causes consecutive champs creations and re-ordering to fail in
subtle ways, like:
```
procedure.draft_revision.add_type_de_champ(…)
procedure.publish_revision!
procedure.draft_revision.add_type_de_champ(…)
procedure.draft_revision.move_type_de_champ(…) # this will fail
```
As `publish_revision!` created a new stale revision, moving the type
de champ fails because not all existing champs are found until the
object is refreshed.
We don't hit this path in production, because usually only a single
operation is made in a request.
To fix this, save the new revision before associating it as the draft
procedure.
(Another option would be to `reload` the revision after creation, but
this seems better contained and matches the name of the method.)
2021-11-25 08:49:17 +01:00
mfo
e7d9d047fe
Merge branch 'main' into 6649-etq-usager-instructeur-rendre-la-suppression-plus-visible
2021-11-24 14:07:32 +01:00
Pierre de La Morinerie
60c2718f29
models: remove custom code for file size validation message
...
With active_storage_validations 0.9.6, we can use the %{max_size}
variable directly in the error message.
2021-11-24 10:06:45 +01:00
Pierre de La Morinerie
2227dcc1e7
app: remove leftovers of procedure path autocomplete
...
We used to pre-validate the procedure, to display in advance if the path
could be used.
Now that the path autocomplete is long gone, we can remove this kludgy
code.
2021-11-23 14:30:21 +01:00
simon lehericey
5234a1854c
manage AgentConnect callback
2021-11-23 14:17:59 +01:00
simon lehericey
1926a630f9
add agent_connect_id to instructeur
2021-11-23 14:17:59 +01:00
simon lehericey
898df449d4
redirect to AgentConnect
2021-11-23 14:17:59 +01:00
Martin
b6adf5fc72
feat(dossiers/show): enhance header with expirations message/banner. also ensure consistent design between dossier states
...
fix(spec): broken due to last refactoring
spec(dossier.extend_conservation): add system spec
lint(ruby): still not yet ready for auto lint in IDE...
2021-11-23 05:50:25 +01:00
Martin
a9978fb70b
clean(code): move mfo comment to its rightful place
2021-11-19 14:34:20 +01:00
Martin
608a85148f
feat(Dossier.close_to_expiration): add method to find any kind of dossier close to expiration [reuse previous scopes], add missing spec to termine_close_to_expiration, complement spec for each kind of expiration scope with general close_to_expiration spec
2021-11-19 14:28:54 +01:00
Martin
d8257284ef
tech(refactor): extract states close to expiration within their scope.
2021-11-19 14:07:47 +01:00
Martin
1d721f14a0
fix(spec): get back to stable state
2021-11-19 12:36:03 +01:00
Martin
646459a1da
fix(spec): at least let us start from a green suite
2021-11-18 18:15:57 +01:00
Paul Chavard
df474b60cf
WIP
2021-11-18 18:58:17 +03:00
Paul Chavard
ae09b37e72
fix(champs): save departement info on champ commune
2021-11-17 14:52:47 +03:00
mfo
82b23b92c0
Merge branch 'main' into 6624/etq-instructeur-je-souhaite-supprimer-des-messages-envoyes-par-erreur
2021-11-17 05:41:56 +01:00
Paul Chavard
e74d599042
feat(procedure): remove duree_conservation_dossiers_hors_ds
2021-11-16 19:55:56 +03:00
Paul Chavard
04e67ea20a
fix(dossier): add instructeur email to traitements when available
2021-11-16 19:00:20 +03:00
mfo
1d174df2ec
Merge branch 'main' into 6624/etq-instructeur-je-souhaite-supprimer-des-messages-envoyes-par-erreur
2021-11-16 16:37:15 +01:00
Martin
f0950b592b
clean(CommentaireService): extract soft delete within controller. returning an instance with an error[:base] is not persisted with validation : avoid poluting stuff
2021-11-16 16:13:11 +01:00
Martin
8bbd77f89f
refactor(mail.delay): use simplier implementation using after_action to prevent email delivery with delay
2021-11-16 15:12:05 +01:00
Martin
0aecc301c9
refactor(Commentarie.soft_delete): use discard
2021-11-16 14:28:38 +01:00
simon lehericey
e3c1e19424
include hidden dossier in merge
2021-11-15 23:14:41 +01:00
Martin
ddabed0c7e
fix(refactor): continue to revert to past implementation. now use a job instead of calling deliver_later(wait: 5.minutes) [was not a satisfying implementation]
2021-11-15 15:45:48 +01:00