Martin
ab04369c06
bug(DeclarativeProceduresJob.perform_now): fail all next procedure on one dossier failure
2022-06-10 14:59:36 +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
1f2f148464
tests
2022-06-08 14:38:17 +02:00
Martin
7ed9d586cf
fix(drop_down_list): ensure to skip disabled input when sending data via autosave
2022-06-02 09:06:37 +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
Pierre de La Morinerie
c1616adf8c
app: remove procedure-estimated-fill-time feature-flag
...
The feature is now enabled for every procedure.
Ref #7338
2022-06-01 11:11:55 +02:00
Pierre de La Morinerie
2b90d7cc01
helpers: allow champ without persisted dossier
...
This fixes the /patron page. I also added an end-to-end test
to avoid breaking this page in the future.
2022-05-31 15:12:29 +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
02675a104d
fix(revision): fix tests to use new revison system
2022-05-31 08:58:53 +02:00
Paul Chavard
a36672239d
refactor(revision): rename find_or_clone_type_de_champ
2022-05-31 08:58:53 +02:00
Martin
91f1fa4ffb
bug(avis#instruction): fail when claimant had been destroyed during a merge
2022-05-30 15:42:36 +02:00
Kara Diaby
51b8d8f254
tests
2022-05-30 14:40:49 +02:00
Kara Diaby
00c6e152f5
tests
2022-05-26 12:45:05 +02:00
Pierre de La Morinerie
c738d7d07f
js: display estimated duration in champ editor
2022-05-25 21:50:49 +02:00
Pierre de La Morinerie
736ef10bb3
spec: cleanup system/types_de_champ_spec.rb
2022-05-25 21:50:49 +02:00
Christophe Robillard
f14cd7b022
remove warning mail for dubious procedures
2022-05-25 14:44:53 +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
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
4c19a127d6
add rebase specs
2022-05-24 15:38:50 +02:00
simon lehericey
b3ce124aa8
move rebase spec to its own file
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
d0599dd36b
bug(root): test root
2022-05-24 14:23:40 +02:00
Martin
fbc4e1810b
bug(expert/avis#instruction): raise when instructeur was merged
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
8c6feb1e1f
feat(graphql): expose repasser_en_construction and repasser_en_instruction
2022-05-23 18:12:33 +02:00
Paul Chavard
99a8786dd5
fix(expert): expert should be allowed to delete messages
2022-05-20 15:47:48 +02:00
simon lehericey
c5a0fd4349
use children_of on validation repetition is not empty
2022-05-20 09:24:05 +02:00
Paul Chavard
24d47eb6d3
bug(revision): revising child type de champ create duplicate coordinate
2022-05-18 19:32:56 +02:00
simon lehericey
fd4d543b20
fix test
2022-05-18 15:18:17 +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
cdd597db19
refactor(dossier): fix champ repetition factories
2022-05-18 11:24:14 +02:00
simon lehericey
0b90f4d30d
is the order important ?
2022-05-18 10:11:31 +02:00
simon lehericey
ae86cdcf9e
strange test
2022-05-18 10:11:31 +02:00
simon lehericey
5767c9b97e
fix test
2022-05-18 10:11:31 +02:00
simon lehericey
7f23449f24
remove set_position
2022-05-18 10:11:31 +02:00
Paul Chavard
e33022ffc7
refactor(dossier): export to use turbo-poll
2022-05-17 16:08:47 +02:00
Paul Chavard
e9b02642c5
refactor(attachment): attachments controller to use turbo
2022-05-17 16:08:47 +02:00
Paul Chavard
7e1c793728
refactor(attachment): add Attachment::ShowComponent
2022-05-17 16:08:47 +02:00
Paul Chavard
d6384caf10
refactor(attachment): add Attachment::EditComponent
2022-05-17 16:08:47 +02:00
Martin
ad5c659f88
bug(instructeurs/dossiers#destroy): redirect on destroyed dossier -> NotFound
2022-05-17 11:42:10 +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
Pierre de La Morinerie
e8b6731af8
spec: improve performances of notification_mailer_preview
...
The time to find the last dossier could be very long for large
procedures.
2022-05-17 10:25:13 +02:00
Paul Chavard
6909337500
fix(spec): try fix dossier expiration spec
2022-05-17 10:14:43 +02:00
simon lehericey
10fff77d69
spec: split cases
2022-05-16 16:51:49 +02:00
simon lehericey
a26a662df4
spec: move one level up
2022-05-16 16:51:49 +02:00
Paul Chavard
95bd13872b
refactor(dossier): change state with turbo
2022-05-13 17:38:09 +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
Martin
da57a1dc9e
fix(commencer#commencer): broken due to missing interpolated variable in i18n
2022-05-13 13:15:31 +02:00
Martin
0826baeba3
bug(commencer#commencer): raise when procedure does not have a service
...
fix(commencer#commencer): use alternate message when procedure does not have a service
2022-05-12 16:41:11 +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
df91fd1180
move_type_de_champ new style
2022-05-11 16:54:26 +02:00
simon lehericey
795513e093
spec: clean
2022-05-11 16:54:26 +02:00
simon lehericey
58c3b6b16a
fix spec : datetime is present in more recent revision
2022-05-11 15:59:17 +02:00
simon lehericey
b6c2aa30f4
reorder the siblings after deletion
2022-05-11 15:59:17 +02:00
simon lehericey
6bf52b1f99
remove children shared between 2 revisions
2022-05-11 15:59:16 +02:00
simon lehericey
285f402483
spec: add test case
2022-05-11 15:59:16 +02:00
simon lehericey
b889d18217
spec: use children_of
2022-05-11 15:59:16 +02:00
Paul Chavard
142e6c032c
cleanup(dossier): remove legacy menu
2022-05-11 11:01:25 +02:00
Paul Chavard
c9b8d43acd
feat(autosave): use new autosave controller
2022-05-10 18:10:20 +02:00
Kara Diaby
7b73cb239a
tests
2022-05-10 17:13:08 +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
Pierre de La Morinerie
41cf700c15
spec: fix avis/instruction view spec
...
Due to a faulty naming convention, the test was not executed.
2022-05-10 12:51:27 +02:00
Pierre de La Morinerie
1ad807ab6b
spec: fix avis/index view spec
...
Due to a faulty naming convention, the test was not executed.
2022-05-10 12:51:06 +02:00
simon lehericey
cb4c35e797
spec: add special case for repetition_type_de_champ
2022-05-06 12:37:59 +02:00
simon lehericey
45f5cd3f4a
spec: split procedure creation
2022-05-06 12:37:59 +02:00
simon lehericey
02fc25af23
spec: more procedure creation split
2022-05-06 11:23:10 +02:00
simon lehericey
6d38a44f1f
spec: be clear we talk about draft
2022-05-06 11:23:10 +02:00
simon lehericey
c1d0256687
spec: split procedure creation
2022-05-06 11:23:10 +02:00
simon lehericey
becdd4a0ed
spec: refactor
2022-05-06 11:23:10 +02:00
Paul Chavard
9e0b3b642f
cleanup(sendinblue): remove sendinblue tracking
2022-05-06 11:14:44 +02:00
simon lehericey
2d42b7d57d
spec: fix flaky
2022-05-06 10:34:40 +02:00
simon lehericey
d33e7c8cab
spec: another isolated type_de_champ_repetition
2022-05-06 10:34:40 +02:00
simon lehericey
0fc71afc29
spec: fix private type de champ repetition
2022-05-06 10:34:40 +02:00
simon lehericey
64175db4dd
link children tdc by ProcedureRevisionTypeDeChamp
2022-05-06 10:34:40 +02:00
Martin
8a6c3bbec0
fixup! bug(type_de_champ.repetition): on repetition, when there is a TypeDeChamp::Commune, champs for export should contain 2 entries [one with commune (postal_code), the other for commune (code_insee)].
2022-05-06 09:38:45 +02:00
Martin
b1340586de
bug(type_de_champ.repetition): on repetition, when there is a TypeDeChamp::Commune, champs for export should contain 2 entries [one with commune (postal_code), the other for commune (code_insee)].
2022-05-06 09:38:45 +02:00
Kara Diaby
5f6f19871f
tests
2022-05-06 09:04:15 +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
Pierre de La Morinerie
59d8479b85
dossiers: fix dossier_vide with drop_down_list
...
Previously a drop-down list with an ["Autre", "__other__"] value crashed
the PDF generation.
2022-05-04 16:34:37 +02:00
Pierre de La Morinerie
0e60830102
specs: add a test for dossier_vide.pdf.prawn
2022-05-04 16:34:37 +02:00
Paul Chavard
5f1fda1adc
fix(graphql): stop crashing on dossiers with deleted users
2022-05-04 16:16:47 +02:00
Pierre de La Morinerie
7109e2d4e6
views: add a link to the deposit receipt
2022-05-04 16:09:52 +02:00
Pierre de La Morinerie
9bc5364ca2
app: add controller and view to generate a deposit receipt
2022-05-04 16:09:52 +02:00
Paul Chavard
4523c0590c
fix(dossier): champs repetable in champs private
2022-05-04 15:57:25 +02:00
Paul Chavard
f8e3397f82
refactor(turbo): password complexity check use turbo
2022-05-04 14:11:43 +02:00
Paul Chavard
2db892d876
refactor(turbo): champ siret and dossier_link use turbo
2022-05-04 14:11:43 +02:00
Paul Chavard
1c2bd5543f
refactor(turbo): champ carte use turbo
2022-05-04 14:11:43 +02:00
simon lehericey
35ae011b59
remove duplicate test case (see tdc_0)
2022-05-04 13:16:12 +02:00
simon lehericey
96eec7e566
refactor spec
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
39ecc669b1
refactor(champ): simplify dossier link champ
2022-05-03 16:14:54 +02:00
Paul Chavard
3384b535c5
refactor(champ): simplify siret champ
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
Martin
2529773515
bug(commencer/test): with procedure without service nor organisation, it crashes
2022-04-28 14:19:55 +02:00
Paul Chavard
68ca9efba0
feat(dossier): use persisted dossier for preview
2022-04-28 12:20:41 +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
d2ab8b5593
feat(message): replace message partial with MessageComponent
2022-04-26 14:54:58 +02:00
Paul Chavard
91879b89ce
fix(commentaire): unified destroy commentaire
2022-04-26 14:54:58 +02:00
Paul Chavard
009c44cc20
refactor(avis): remove unused controller action
2022-04-26 14:54:58 +02:00
Paul Chavard
86df16ebda
feat(view_components): add view_components
2022-04-26 14:54:58 +02:00
Martin
418d4ede17
test(commencer): test dossier_vide_pdf and dossier_vide_pdf_test
2022-04-25 15:00:48 +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
Martin
79c473ecf9
fix(ProcedureExportService.to_zip): prebatch dossiers only for to_csv,to_xlsx,to_ods. also add spec around to_zip
2022-04-22 05:13:51 +02:00
Martin
a3c5bf58ac
bug(ProcedureExportService.to_zip): use in_batches on Array
2022-04-22 05:13:51 +02:00
Paul Chavard
cad63391db
refactor(turbo): use turbo in procedure administrateurs controller
2022-04-21 19:41:27 +02:00
Paul Chavard
69d5713c19
fix(turbo): fix anonymous controller RSpec test
...
https://github.com/hotwired/hotwire-rails/issues/42
2022-04-21 19:41:27 +02:00
Paul Chavard
64c599e208
refactor(stimulus): initiate react components via stimulus
2022-04-20 14:08:47 +02:00
simon lehericey
9fd5219751
fix sort in procedure presentation
2022-04-15 12:21:39 +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
38a6b2db63
fix(graphql): fix AddressTypeType
2022-04-12 19:12:50 +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
561b83781e
refactor(archive): remove dependencie on archive from ArchiveUploader
2022-04-12 14:54:54 +02:00
Paul Chavard
cf8c084a59
refactor: extract download_and_zip in to a shared service
2022-04-12 14:54:54 +02:00
Paul Chavard
b6bb9552e6
fix(graphql): detect custom champs in fragment definitions
2022-04-12 14:24:15 +02:00
simon lehericey
579578cf0c
fix system spec
2022-04-12 12:05:08 +02:00
simon lehericey
4bbe2db668
only export safe pj
2022-04-12 12:05:08 +02:00
simon lehericey
4d3412daf5
batch it
2022-04-12 11:56:56 +02:00
simon lehericey
29dacb4686
remove env dependence in spec
2022-04-11 14:40:02 +02:00
simon lehericey
1dcfb2509f
check nonce
2022-04-11 14:40:02 +02:00
simon lehericey
9938586d96
check state
2022-04-11 13:56:27 +02:00
Paul Chavard
90dd5bc9c5
fix(dossiers): dossier extend_conservation actually works
2022-04-08 13:40:28 +02:00
simon lehericey
4f73c6105f
remove duplicate spec
2022-04-07 12:06:13 +02:00
simon lehericey
e2130cc2d3
add witness dossier
2022-04-07 12:06:13 +02:00
simon lehericey
951d964701
clean pj_service test
2022-04-07 12:06:13 +02:00
simon lehericey
34b0578d70
pj_and_path only take dossier id
2022-04-07 12:06:13 +02:00
simon lehericey
7ac1288905
pj_service take a dossier collection !
2022-04-07 12:06:13 +02:00
simon lehericey
51b71aaa01
always call create_list_from_dossiers
2022-04-07 12:06:13 +02:00
Martin
9bac5c65ba
feat(instructeurs/dossier#create_avis): only followed dossier receive notifications, so when an instructeur ask for an avis, he follows the dossier
...
Update app/controllers/concerns/create_avis_concern.rb
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
Update spec/controllers/instructeurs/dossiers_controller_spec.rb
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-04-07 09:05:23 +02:00
Martin
a9769ae277
fix(instructeur/dossiers#create_avis): as an instructeur, when I ask an avis, i hope to be notified when the expert give his avis
2022-04-07 09:05:23 +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
simon lehericey
200e8680d5
add uniq index on attestation dossier_id
2022-04-05 15:43:21 +02:00
Martin
9e8807d12a
feat(ArchiveUploader.upload_with_chunking_wrapper): retry once on error
2022-04-05 15:11:21 +02:00
Martin
c72ba43c55
feat(ArchiveUploader.upload_with_chunking_wrapper): expect to retry call to wrapper once
2022-04-05 15:11:21 +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
c07e0fc13e
fix(Dossier.processed_in_month): ensure proper usage via method sig instead of defensive programming style
2022-04-05 12:14:07 +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
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
simon lehericey
1f98f75ccc
remove unused method
2022-04-05 11:55:14 +02:00
simon lehericey
4c3b9979e9
fix test
2022-04-05 11:55:14 +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
f71c89aa91
refactor(procedure): cleanup tests
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
1d99e21a27
tech(bug): identify
2022-04-04 16:28:25 +02:00
Kara Diaby
b2bcc34cfd
tests
2022-03-31 15:48:18 +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
Martin
ab2caaa5f7
fix(ProcedureArchiveService.zip_root_folder): should take archive instance otherwise when we generate many archive for the same procedure, errors may occures
2022-03-30 16:29:54 +02:00
Martin
ab0a172488
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
Kara Diaby
71614d4ba3
tests
2022-03-29 12:30:52 +02:00
simon lehericey
7ecf20ce75
harden email validation
2022-03-24 13:00:54 +01:00
Paul Chavard
7aacb7565c
fix(dossiers): mark as read dossier on update_annotations
2022-03-22 09:19:24 +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
56edba37bc
specs: make the ProcedurePresentation#sorted_ids test more robust
...
Before the Dossiers were already created in the correct order, so the
sorting wasn't really tested.
2022-03-22 07:58:44 +01:00
Martin
98c1fb8abc
feat(archive): drop old feature
2022-03-18 14:26:09 +01:00
Kara Diaby
4bfcf4f9d9
tests
2022-03-17 13:57:49 +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
1eebc2f1e1
specs: make test migrations safer
...
This will avoid strong_migrations to flag them as dangerous.
2022-03-16 10:30:25 +01:00
simon lehericey
0a3eb4a909
reinforce preview testing
2022-03-15 11:15:28 +01:00
Paul Chavard
ec2f2dc78c
feat(graphql): expose more dossier informations
2022-03-14 15:58:02 +01:00
Paul Chavard
a50d07400e
refactor(instructeur): cleanup destroy / restore routes
2022-03-11 14:06:34 +01:00
Paul Chavard
78bf1147d0
refactor(instructeur): use better fallback location
2022-03-11 13:55:36 +01:00
Paul Chavard
c60a8970f1
perf(dossier): memoize champ.sections on dossier
2022-03-11 00:15:53 +01:00
Paul Chavard
51d7fd6190
test(dossier): update spec to use visible_by_administration
2022-03-10 14:29:40 +01:00
Pierre de La Morinerie
3a16235868
db: Add a delete_orphans
db helper
2022-03-08 14:47:43 +01:00
Paul Chavard
91caef0bfe
fix(dossier): ensure submitted dossiers always have groupe instructeur
2022-03-02 16:57:12 +00: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
mfo
4346775169
Merge branch 'main' into US/fix-avis
2022-02-28 15:08:25 +01:00
Martin
48612028f4
fix(avis_controller#*): missing ACL
2022-02-28 14:24:41 +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
Pierre de La Morinerie
30d7cf634a
tasks: restore older after_party tasks
...
Turns out deleting the tasks after 6 months only may not be enough for instances deploying
only once a year, for instance.
This reverts commit 77b65f3aa0
.
2022-02-22 15:39:16 +01:00
Paul Chavard
2d396fcfb7
feat(dossier): rebase dossiers en construction and en instruction
2022-02-18 17:08:38 +01:00
Paul Chavard
50f095a5c6
test(user): fix unstable spec
2022-02-17 14:45:53 +01:00
Pierre de La Morinerie
c9f1a2b8ea
mailer: improve notify_new_answer wording
...
And also insert the reply email address directly in the email body.
2022-02-16 18:35:30 +01:00
Pierre de La Morinerie
17c83b1ce2
mailer: fix notify_new_answer mailer preview
2022-02-16 18:26:45 +01:00
Pierre de La Morinerie
8786b60285
specs: fix flaky "dossier brouillon" spec
...
When filling all the champs of a dossier, we skip the "Address"
champ (because it would attempt to request a blocked URL).
But that means the "Yes/No" radio buttons may be under the sticky
bottom bar, and thus not register the click – which makes the test fail.
Fix the issue by manually scrolling to the radio buttons.
2022-02-15 15:04:49 +01:00
Jon
97feca6305
feat(ClamAV): add config to disable clamav usage
2022-02-15 09:15:47 +01:00
Martin
f84b69276e
fix(expiration_banner.message): miss match when procedure was not expirable ; always showing expiration message
2022-02-11 15:49:37 +01:00
Paul Chavard
fac77d97ef
task(attestation_template): reassign_redundant_attestation_templates
2022-02-11 11:30:24 +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
24ff41d2c0
tests
2022-02-09 14:43:36 +01:00
Paul Chavard
77e42dd0e2
Update spec/lib/tasks/deployment/20220112184331_revise_attestation_templates_spec.rb
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2022-02-08 16:22:59 +01:00
Paul Chavard
1fc7db2562
fix(attestation_template): fix migration task
2022-02-08 16:22:59 +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
b9d6c32af7
Test (Universign): mock API URL constant
...
Addressable::URI::InvalidURIError:
Absolute URI missing hierarchical segment: 'http://'
2022-02-08 15:59:50 +01:00
Pierre de La Morinerie
847abca122
config: simplify mailer configuration again
...
Move everything to initializers, and replace the email settings
interceptor by a BalancerDeliveryMethod.
It has the advantage that it can be configured entirely from the
`config/environment.rb` file, without an extra file to look at.
2022-02-08 12:44:43 +01:00
François Vantomme
2bdf58cb79
style(rubocop): fix Layout/SpaceInsideBlockBraces offense
2022-02-08 12:35:08 +01:00
Paul Chavard
e87e8b2c26
Merge pull request #6899 from adullact/feature/6857-no-sandbox
...
ETQ développeur, je voudrais pouvoir influer sur l'option --no-sandbox du pilote Selenium Chrome lors des tests
2022-02-08 12:29:51 +01:00
Paul Chavard
dad17ec2f8
Merge pull request #6906 from adullact/fix/6864-franceconnect-application-name
...
[FranceConnect] les tests échouent quand la variable d'env APPLICATION_NAME a une autre valeur que celle par défaut
2022-02-08 11:53:16 +01:00
Paul Chavard
5b147e6d81
Merge pull request #6903 from adullact/fix/6861-feature-test-emails
...
Les feature tests touchant aux emails échouent de manière aléatoire
2022-02-08 11:52:28 +01:00
Paul Chavard
2773e065ed
Merge pull request #6907 from adullact/fix/6865-instructeur-random-test
...
Des tests sur les instructeurs échouent aléatoirement
2022-02-08 11:45:36 +01:00
Paul Chavard
0268511264
fix(manager): remove admins added for a day
...
fix #6855
2022-02-08 11:18:44 +01:00
François Vantomme
eba9a87123
refactor(API Entreprise): raise an error on blank token
2022-02-07 15:18:16 +01:00
François Vantomme
dacc1dca68
fix(groupe instructeur): avoid false-negative tests due to array ordering
2022-02-04 17:43:08 +01:00
François Vantomme
27ccf6bbdd
fix(france connect): stub application name in tests
2022-02-04 17:42:02 +01:00
François Vantomme
9ff7fa73e4
Fix (Expert): clear emails before feature tests
...
Failures:
1) Inviting an expert: as an Instructeur I can invite an expert
Failure/Error: invitation_email = open_email(expert.email.to_s)
Diff:
-/procedures/2/avis/2/sign_up/email/expert1@expert.com
+/procedures/1/avis/1/sign_up/email/expert1@expert.com
2022-02-04 17:40:03 +01:00
François Vantomme
2032eb8144
Test (Capybara): add no-sandbox option to headless chrome driver
...
Activating this option fix the 'DevToolsActivePort file doesn't exist'
error.
https://stackoverflow.com/questions/50642308/webdriverexception-unknown-error-devtoolsactiveport-file-doesnt-exist-while-t
2022-02-04 17:34:10 +01:00
Christophe Robillard
447612abdf
fix a11y-8.9.1
...
no p tag when Champ text with no value
2022-02-02 19:03:40 +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
842cc11689
tests
2022-01-31 10:03:44 +01:00
Kara Diaby
96556ca4b3
locales
2022-01-31 10:03:44 +01:00
Paul Chavard
4e7733e571
Revert "feat(attestation): revise attestations"
...
This reverts commit e413872530
.
2022-01-25 18:26:34 +01:00
Kara Diaby
c9f402aa5b
tests
2022-01-25 11:46:05 +01:00
Kara Diaby
2eb35065f8
fix dossier deletion mailers
2022-01-25 11:46:05 +01:00
Kara Diaby
7a49985e2c
tests
2022-01-24 16:47:47 +01:00
Martin
47fa95a577
feat(MonAvisEmbedValidator): allow mon avis button without title
2022-01-24 15:56:29 +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
3d8471e064
fix(dossier): do not send notification on expiration when dossier is already deleted
2022-01-19 17:52:53 +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
7e81b257b1
test(system): simplify select menu selector
2022-01-13 17:49:16 +01:00
Kara Diaby
bdcb0ca0e9
tests
2022-01-12 15:49:38 +01:00
Pierre de La Morinerie
062f52feb9
Fix ProcedureAdministrateursController#destroy
...
- The "no remove oneself" rule wasn't actually enforced
- `flash.error` is not a flash category
2022-01-07 15:39:58 +01:00
Pierre de La Morinerie
fb75a55b89
Add specs for Administrateurs::ProcedureAdministrateursController
2022-01-07 15:39:58 +01:00
Martin
383a92bcd9
fix(parallel_download_queue): tophoeus does not like raise from a request handler [crash straight to first frame]
2022-01-07 14:24:37 +01:00
Pierre de La Morinerie
2e1a3c32cb
helpers: handle flash[:error]
...
Errors generated by the `invisible-catcha` gem are reported as
`flash[:error]` (which differs from Rail's usual `flash[:alert]`).
We probably shouldn't use flash[:error] in our own codebase; but we can
handle its use in third-party libraries.
2022-01-06 14:09:31 +01:00
Pierre de La Morinerie
68b112e00a
helpers: don't crash on unknown flash level
...
Errors generated by the `invisible-catcha` gem are reported as
`flash[:error]` (which differs from Rail's usual `flash[:alert]`).
Avoid crashing when the flash level passed to this helper is not known.
2022-01-06 14:09:26 +01:00
Martin
f770ac4907
fix(users/champs/piece_justificative#update): ensure to bump dossier.last_champ_updated_at otherwise instructeurs are not notified when user update their piece_justificative
2022-01-06 13:09:57 +01:00
Martin
a9ffaf942e
feat(attestation): can enable/disable attestation no matter the state of the procedure
2022-01-05 18:20:11 +01:00
Paul Chavard
cb66348916
a11y(select): cleanup select helpers in specs
2022-01-05 12:33:40 +01:00
Paul Chavard
968384952a
a11y(capybara): enable use of aria-label in spec
2022-01-05 12:33:40 +01:00
Paul Chavard
28c1763701
a11y(champs): generalize describedby and update to use new Combo props
2022-01-05 12:33:40 +01:00
simon lehericey
00871cfe13
Fix ping controller in dev
...
For an unknown reason, ActiveRecord::Base.connected? does not work anymore in dev. It returns false negative.
This simple workaround can timeout. The caller has to monitor the response time.
2022-01-05 11:44:32 +01:00
Martin
3eb1c1a421
feat(async_backend): switch to typhoeus
2022-01-04 16:27:23 +01:00
Martin
ce1b189dcd
refactor(DownloadManager): extract parallel download in dedicated class. move error management in custom class for procedure exports using the didicated class
2022-01-04 16:17:03 +01:00
Martin
2ed9cccba0
extract download all attachments in dedicated class using async/async-http for better perf
2022-01-04 16:17:03 +01:00
Martin
252eee272b
feat(support#create): block with invisible captcha [avoid painful captcha]
2022-01-04 14:49:00 +01:00
Paul Chavard
7f0dde9be4
fix(a11y): add aria to tabs
2022-01-04 09:44:32 +01:00
Kara Diaby
1ca553e088
rename hidden_by_instructeur by hidden_by_administration
2022-01-03 11:51:25 +01:00
Kara Diaby
598cb09c6d
tests
2021-12-29 17:37:58 +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
Paul Chavard
4e779f445d
fix(instructeur): copy notifications settings from previous groupe instructeur
...
fix #6763
2021-12-23 13:55:25 +01:00
Christophe Robillard
f9609b0b0b
fix zone specs
...
by reenabling task before the next spec is run
2021-12-23 09:58:31 +01:00
Pierre de La Morinerie
4efc1053f9
specs: make dossiers deletion specs more robust
...
It would fail when ran on some dates, like "21 Dec. 2021".
2021-12-21 17:20:32 +01:00
Christophe Robillard
822c754581
add namespace for populate_zones task
2021-12-16 17:20:06 +01:00
Christophe Robillard
882f92268c
update zone to procedures
2021-12-16 17:20:06 +01:00
François Vantomme
14e0c68266
feat(api particulier): add MESRI field
2021-12-16 16:45:18 +01:00
François Vantomme
3d81d4b541
feat(api particulier): add MESRI adapter
2021-12-16 16:45:17 +01:00
François Vantomme
66a9109cd7
feat(api particulier): add MESRI support to sources service
2021-12-16 16:45:17 +01:00
Martin
b9d13df483
fix(spec): avoid flacky test. 15.days ago is not always on the previous month. eg: this spec failed on 16 of december, stats is still in december
2021-12-16 15:02:17 +01:00
Christophe Robillard
84c648eef0
manual task for populating zones
2021-12-15 19:37:32 +01:00
simon lehericey
c7f7855f14
avoid phishing
2021-12-15 13:51:49 +01:00
Pierre de La Morinerie
be1ddb59ec
views: localize the stats partial
...
Also rename 'procédure' to 'démarches'.
2021-12-14 15:03:22 +01:00
Martin
5ad0ee8ca9
fix(spec.flacky): try to use extractor in a more conventional way to extract file content
2021-12-14 14:18:59 +01:00
maatinito
0a31c8bc79
refactor date_trunc queries using groupdate gem
2021-12-14 08:50:11 +01:00
Martin
f7bc387e44
feat(flipper): use new way of generating archive only on some procedure flipped with new actor :zip_using_binary
2021-12-13 16:37:04 +01:00
simon lehericey
f0b0e7fd9a
Switch to usage of zip unix binary to create archive. Also use a dedicated queue for DelayedJob
...
use dedicated archives queue
As the used disk space will increase, we want a fined grain control
move zip logic in dedicated method
zip
wip
wip
fix(spec): pass spec in green
tech(improvements): avoid File.delete(folder), favor FileUtils.remove_entry_secure which is safer. Also wrap most of code that open file within blocks so it is cleaned when the block ends. Lastly use attachement.download to avoid big memory pressure [download in chunk, write in chunk] otherwise big file [124>1GO] are loaded in memory. what if we run multiple jobs/download in parallel ?
fix(spec): try to retry with grace
clean(procedure_archive_service_spec.rb): better retry [avoid to rewrite on open file]
lint(things): everything
2021-12-13 16:37:04 +01:00
Martin
4b2e858a1a
fix(mon_avis_embed_validator): enhance regexp
2021-12-13 14:49:40 +01:00
Paul Chavard
c7b1dc7f87
fix(bulk_messages): destroy bulk messages with procedures
2021-12-09 16:16:40 +01:00
Paul Chavard
b67818e425
feat(helpscout): add a tag to messages submited through contact form
2021-12-09 11:47:13 +01:00
Paul Chavard
efd8ddb99e
fix(graphql): do not crash if attestation is nil
2021-12-08 13:12:42 +01:00
simon lehericey
3bdf6b63d9
small wording fixes
2021-12-08 11:19:30 +01:00
François Vantomme
6ab8ac0662
feat (api particulier): add Pole emploi field
2021-12-08 10:36:25 +01:00
François Vantomme
4cfc9f7d86
feat(api particulier): add Pole Emploi adapter
2021-12-08 10:36:11 +01:00
François Vantomme
a24cf18c9d
feat (api particulier): add Pole Emploi support to sources service
2021-12-08 10:36:11 +01:00
François Vantomme
2110ef072c
feat(api particulier): add DGFiP field
2021-12-07 11:03:05 +01:00
François Vantomme
08405226b7
style(api particulier): fix a typo in CNAF tests
2021-12-07 11:03:05 +01:00
François Vantomme
f0913edebd
feat(api particulier): add DGFiP adapter
2021-12-07 11:03:05 +01:00
François Vantomme
97de7c197d
feat(api particulier): add DGFIP support to sources service
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
2ba05bfb4f
fix(dossier): use depose_at instead of en_construction_at
2021-12-06 15:49:17 +01:00
Martin
a9413f9b12
feat(manager): add procedure_expires_when_termine_enabled to administrate
2021-12-06 07:49:59 +01:00
Martin
2778b42f1a
feat(instructeurs/procedures#show): re-align tabs at the start of the container. re-align demander cell content verticaly
2021-12-06 07:20:01 +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
22531560d8
feat(tabs.expirants): re-order so it comes before deleted dossiers
2021-12-06 07:05:17 +01:00
Martin
8e9b15aef4
clean(expiration_banner): dedicated to user not shared
2021-12-06 07:05:17 +01:00