Pierre de La Morinerie
0063b68689
mailers: add deposit receipt to initiated_mail
...
See #6146
2022-05-17 10:25:13 +02:00
Martin
bb96d49743
fix(recherche#index): move paginate outside of table row loop
2022-05-16 15:56:02 +02:00
Paul Chavard
6d0b3d93ed
fix(autosave): prevent autosave if current champ is detached from the form
2022-05-16 14:07:02 +02:00
Paul Chavard
246db0e1cf
fix(menu-button): should be a button
2022-05-16 09:44:30 +02:00
Paul Chavard
e193c652e7
fix(recherche): expert actions should be a menu-button
2022-05-16 09:44:10 +02:00
Paul Chavard
95bd13872b
refactor(dossier): change state with turbo
2022-05-13 17:38:09 +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
Martin
a7bb6f1627
feat(links): add link to www.solidarite-numerique.fr
2022-05-13 15:25:04 +02:00
Martin
da57a1dc9e
fix(commencer#commencer): broken due to missing interpolated variable in i18n
2022-05-13 13:15:31 +02:00
Kara Diaby
e99bd5f558
models
2022-05-13 10:31:51 +02:00
Kara Diaby
897d5571f7
layout
2022-05-13 10:31:51 +02:00
mfo
c6ef17341b
Merge branch 'main' into sentry/3267070633
2022-05-12 16:41:33 +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
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
Paul Chavard
2e8bc7e1d0
fix(js): polyfill Node.isConnected for IE
2022-05-11 16:23:42 +02:00
Paul Chavard
771a92a5e2
refactor(menu-button): use menu button controller
2022-05-11 16:23:42 +02:00
Paul Chavard
b076ecaf96
feat(a11y): implement accessible menu button
2022-05-11 16:23:42 +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
Paul Chavard
10f6378cf0
fix(upload): silence common client errors in sentry
2022-05-11 13:44:50 +02:00
Paul Chavard
142e6c032c
cleanup(dossier): remove legacy menu
2022-05-11 11:01:25 +02:00
Paul Chavard
531464fab1
fix(js): bring back js request for now
2022-05-11 09:34:19 +02:00
Paul Chavard
c9b8d43acd
feat(autosave): use new autosave controller
2022-05-10 18:10:20 +02:00
Paul Chavard
3fea34732e
feat(autosave): add stimulus autosave-status controller
2022-05-10 18:10:20 +02:00
Paul Chavard
adb19a941f
feat(autosave): add stimulus autosave controller
2022-05-10 18:10:20 +02:00
Paul Chavard
525eebf600
feat(js): implement auto upload class
2022-05-10 18:10:20 +02:00
Paul Chavard
b29116817b
refactor(js): improuve uploader
2022-05-10 18:10:20 +02:00
Paul Chavard
ce58ab98c1
refactor(js): move around stimulus initializers
2022-05-10 18:10:20 +02:00
Paul Chavard
39761f45a0
cleanup(js): remove old autosave/autoupload code
2022-05-10 18:10:20 +02:00
Paul Chavard
3d8980f686
feat(httpRequest): add error body parsing
2022-05-10 18:10:20 +02:00
Paul Chavard
12884e0242
cleanup(js): remove unused utils
2022-05-10 18:10:20 +02:00
Paul Chavard
59c6fd1763
refactor(ts): improuve utils types
2022-05-10 18:10:20 +02:00
Paul Chavard
9b01b2cff9
feat(stimulus): add onGlobal helper
2022-05-10 18:10:20 +02:00
Kara Diaby
513f749e72
layout
2022-05-10 16:16:16 +02:00
Kara Diaby
d187b7e881
model
2022-05-10 16:16:16 +02:00
Kara Diaby
990fc04b03
controller
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
Paul Chavard
c5addb4829
fix(turbo): use link_to instead of submit button
2022-05-10 13:39:33 +02:00
Paul Chavard
219fc2f3bc
fix(turbo): patch turbo to make link_to work without global turbo enabled
2022-05-10 13:39:33 +02:00
Paul Chavard
83afe1ad8c
fix(multiselect): allow to have options with the same label
2022-05-10 13:30:40 +02:00
Pierre de La Morinerie
2bd4599190
views: truncate procedure title in Experts breadcrumbs
2022-05-10 12:55:16 +02:00
Pierre de La Morinerie
3bdbf7bb4c
views: align Expert header actions to the right
2022-05-10 12:54:02 +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
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
simon lehericey
5040b877d1
remove unused franceconnect.js
2022-05-06 11:50:32 +02:00
Paul Chavard
9e0b3b642f
cleanup(sendinblue): remove sendinblue tracking
2022-05-06 11:14:44 +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
Kara Diaby
5f6f19871f
tests
2022-05-06 09:04:15 +02:00
Kara Diaby
39edea5541
Ajoute dans l'interface usager le contact du service de la démarche en cas de cloture ou suppression
2022-05-05 15:22:34 +02:00
Paul Chavard
dcd9e44ce7
fix(dossier): on dossier update render empty js response
2022-05-05 13:39:24 +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
fa1bc0b88b
fix(dossier): annotations privées form
2022-05-05 12:42:58 +02:00
Paul Chavard
4307445999
fix(js): prevent old Edge from crashing
2022-05-05 09:35:53 +02:00
Pierre de La Morinerie
63b1ff9e2d
dossiers: fix wrong use of created_at in the deposit receipt
2022-05-04 17:41:21 +02:00
Pierre de La Morinerie
982a209e7d
dossiers: use the depose_at date in the deposit recepit
...
A dossier has several submission dates:
- `depose_at` is the first date at which the dossier was submitted
- `en_construction_at` is the last date at which the dossier was
submitted OR reverted from `en_instruction` to `en_construction`.
For now we prefer to display the earliest date:
- it gives more rights to the user,
- en_construction_at means the administration can reset at will the date
printed on deposit receipts (by moving the dossier `en_instruction`
and then back), which we don't want.
2022-05-04 17:41:21 +02:00
Pierre de La Morinerie
0ffdbbdc6d
dossiers: display the procedure libelle properly on several lines
...
When the procedure libelle overflows on several lines, it should
push the next fields down (instead of overlapping them).
2022-05-04 17:34:13 +02:00
Pierre de La Morinerie
ff032fc5a7
dossiers: display a text box near an "Other" list field
2022-05-04 17:34:13 +02:00
Paul Chavard
1a9f2f0eef
refactor(champ): improuve repetition champ
2022-05-04 17:18:52 +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
Martin
636f887698
fix(user.merge): when merging old_user having an instructeur with dossier_operation_logs containing the old_user.instructeur_id, should be able to merge to new instructeur
...
feat(user.merge): when user have an instructeur having dossier_opertions_logs containing instructeur_id
2022-05-04 14:24:11 +02:00
Paul Chavard
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
Paul Chavard
1500a1cf28
feat(turbo): add enable and disable mutations
2022-05-04 14:11:43 +02:00
Paul Chavard
cfb83bbdda
feat(turbo): add on
method to stimulus application controller
2022-05-04 14:11:43 +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
Martin
a0df24b631
clean(SMTP.balancing): remove some env vars
2022-05-03 16:46:35 +02:00
Paul Chavard
9b12178bbd
refactor(champ): simplify piece justificative champ
2022-05-03 16:14:54 +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
4604be0796
refactor(champ): simplify carte 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
Paul Chavard
edba12705b
feat(controller): add read_param_value helper
2022-05-03 16:14:54 +02:00
Paul Chavard
cfeef3bf5f
refactor(champ): fix drop_down_list 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
Paul Chavard
af363b721b
refactor(js): use httpRequest instead of getJSON and ajax
2022-05-03 15:09:30 +02:00
Paul Chavard
229eb1a775
feat(js): add httpRequest
2022-05-03 15:09:30 +02:00
Paul Chavard
3f4004b188
fix(js): add DocumentFragment.children polyfill for IE
2022-05-03 12:38:17 +02:00
simon lehericey
da97ad1858
destroy all admins
2022-05-03 12:14:02 +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
simon lehericey
4b9ffe026b
fix(manager): brouillon is not deleted
2022-05-03 07:51:23 +02:00
Paul Chavard
a16d07ef7c
fix(js): fix IE 11 fucked template element support
2022-04-29 18:24:53 +02:00
Paul Chavard
1890c05974
fix(js): more polyfills for IE
2022-04-29 14:11:00 +02:00
simon lehericey
663f419404
fix typo in rgpd text
2022-04-29 11:57:38 +02:00
Christophe Robillard
5b0ce2bc6a
ameliore la decouvrabilité du code
...
ajoute dans le pied de page le lien sur le repo github
2022-04-28 17:16:34 +02:00
simon lehericey
4090d1e900
Ajoute un lien dans le footer
2022-04-28 15:57:01 +02:00
simon lehericey
14f841cdf2
show dolist logs to manager
2022-04-28 15:48:54 +02:00
Paul Chavard
67ba8acff7
fix(react): too soon for strict mode
2022-04-28 14:45:35 +02:00
Martin
552208a03c
fix(commencer/test): with procedure without service nor organisation, no more crashes
...
Update app/controllers/users/commencer_controller.rb
Co-authored-by: Paul Chavard <paul.chavard@beta.gouv.fr>
2022-04-28 14:19:55 +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
1e928a277d
chore(devise): drop unmaintained dependencie
2022-04-28 12:28:33 +02:00
Paul Chavard
26df3aaa58
refactor(dossier): remove preview special case
2022-04-28 12:20:41 +02:00
Paul Chavard
669b3ce5c3
refactor(siret): remove preview special case
2022-04-28 12:20:41 +02:00
Paul Chavard
5c77bc139a
refactor(carto): remove preview special case
2022-04-28 12:20:41 +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
Paul Chavard
20a78f08c9
fix(js): add turbo and stimulus polyfills
2022-04-28 11:14:26 +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
Martin
55d77e33ed
feat(ApiEntreprise.recipient): always use SIRET of dinum
...
Update config/env.example
Co-authored-by: LeSim <mail@simon.lehericey.net>
2022-04-27 14:30:50 +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
Paul Chavard
02f977fd8d
refactor(champs): refactor champs components to use typescript
2022-04-26 13:56:26 +02:00
Kara Diaby
b1ab0c6ed2
Ajoute un avertissement sur les champs de type Titre Identité
2022-04-26 08:33:30 +02:00
Martin
89d192bcfe
feat(adminstrateurs#dossier_vide): add button to /dossier_vide so administrateur can have a pdf version of their form to send it in regards to RGPD
2022-04-25 15:00:48 +02:00
Martin
be43696650
feat(users/procedure/*): add link to texte_juridique or deliberation
2022-04-25 14:31:33 +02:00
simon lehericey
fe6f211cc9
ignore instructeur_id in dol
2022-04-25 14:07:23 +02:00
Paul Chavard
bca97268a8
fix(upload): errorFromDirectUploadMessage should take Error or string
2022-04-24 11:47:17 +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
62dca1c7b0
refactor(js): remove ds:page:update event
2022-04-22 10:24:39 +02:00
Paul Chavard
b585808924
refactor(js): add geo-area stimulus controller
2022-04-22 09:40:52 +02:00
Paul Chavard
22aefbaa4a
refactor(js): remove geo-area event handlers
2022-04-22 09:40:17 +02:00
Paul Chavard
0dac59bffc
refactor(js): use DOMContentLoaded instead of ds:page:update
2022-04-22 09:40:17 +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
Paul Chavard
cad63391db
refactor(turbo): use turbo in procedure administrateurs controller
2022-04-21 19:41:27 +02:00
Paul Chavard
8d0383c6f8
refactor(turbo): use turbo in root controller
2022-04-21 19:41:27 +02:00
Paul Chavard
0bd71ad51a
feat(turbo): add turbo event helpers
2022-04-21 19:41:27 +02:00
Paul Chavard
4624fa141f
fix(turbo): use a safer render method
2022-04-21 19:41:27 +02:00
Paul Chavard
55d6b787c8
feat(js): add turbo
2022-04-21 19:41:27 +02:00
mfo
9e8da8dc06
Merge branch 'main' into US/sentry#3144617191
2022-04-21 17:52:08 +02:00
Martin
220db1f30e
fix(sentry#3144617191): render filesize to follow archive nicely
2022-04-21 17:41:10 +02:00
Kara Diaby
95bdc4a22a
layout
2022-04-21 11:34:40 +02:00
Paul Chavard
572e1dca8e
fix(a11y): html lang should reflect locale
...
fix #7150
2022-04-21 10:28:23 +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
Paul Chavard
c96adbf2d2
chore(chartkick): upgrade to 4.1 and use built-in lazy loading
2022-04-15 12:12:18 +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
Kara Diaby
3f2ef985c7
layout
2022-04-14 10:22:37 +02:00
Kara Diaby
900b8f7be6
controller
2022-04-14 10:22:37 +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
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
87e5e6faeb
refactor(export): add procedure attr to export service
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
a194616772
refactor(export): remove unnecessary to_sym
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
53de567b59
revert fix(user.merge) : waiting for ignore column instructeur_id in ruby code
2022-04-12 14:02:20 +02:00
simon lehericey
4bbe2db668
only export safe pj
2022-04-12 12:05:08 +02:00
simon lehericey
af27af7900
! instances : prawn does not like svg
...
win 10% on pdf generation
2022-04-12 11:56:56 +02:00
simon lehericey
ba688a477a
small refactor
2022-04-12 11:56:56 +02:00
simon lehericey
2269585188
preload all tdc once for all
2022-04-12 11:56:56 +02:00
simon lehericey
4c0b157383
includes stuff
2022-04-12 11:56:56 +02:00
simon lehericey
2c195e3ce2
extract procedure
2022-04-12 11:56:56 +02:00
simon lehericey
4d3412daf5
batch it
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
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
2ce9c842a1
refactor(type_de_champs): use typescript in type de champs editor
2022-04-08 14:34:27 +02:00
Paul Chavard
90dd5bc9c5
fix(dossiers): dossier extend_conservation actually works
2022-04-08 13:40:28 +02:00
simon lehericey
e2a54e3ee3
extract bill_ids per batch, and catch them all afterwards to avoid duplicate
2022-04-07 12:06:13 +02:00
simon lehericey
f24f6ee105
extract operation_logs_and_signature from pjs_for_dossiers
2022-04-07 12:06:13 +02:00
simon lehericey
c27d9a01f2
fetch documents by batch to avoid huge memory load
2022-04-07 12:06:13 +02:00
simon lehericey
e1afb35ca2
fetch pjs_for_dossier by dossiers
...
put all bills in bills folder
2022-04-07 12:06:13 +02:00
simon lehericey
11aedb2dc8
fetch pjs_for_commentaires by dossiers
2022-04-07 12:06:13 +02:00
simon lehericey
5631141a46
fetch pjs_for_champ by dossiers
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
51a6145d96
put dossier_pdf apart
2022-04-07 12:06:13 +02:00
simon lehericey
d5241381eb
extract pj_path method
2022-04-07 12:06:13 +02:00
simon lehericey
97443e2ff6
inline create_list_from_dossier into caller
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
simon lehericey
cf79e340ef
remove unused method
2022-04-07 12:06:13 +02:00
simon lehericey
3f7693ae13
style remove blank line
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
Paul Chavard
5bfcae1c0f
fix(dossiers): show correct count on download button
2022-04-06 17:08:38 +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
9e8807d12a
feat(ArchiveUploader.upload_with_chunking_wrapper): retry once on error
2022-04-05 15:11:21 +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
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
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
simon lehericey
bd0b88a410
move create_list_of_attachments
2022-04-05 11:55:14 +02:00
simon lehericey
1f98f75ccc
remove unused method
2022-04-05 11:55:14 +02:00
simon lehericey
f2fea1f882
faster pjs_for_dossier
2022-04-05 11:55:14 +02:00
simon lehericey
62e0553a4e
faster operation logs
2022-04-05 11:55:14 +02:00
simon lehericey
437e871f79
extract operation_logs_and_signatures method
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
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
Martin
e765ef16fd
fix(parallel_download_queue): appending content to file in those circumstances does not lead to good result. for now write response.body directly to the attachment [may lead to RAM overhead in case of big file... but i do not have another quick fix idea]
2022-04-01 18:22:28 +02:00
simon lehericey
dca6e65f8d
speed up commentaires
2022-04-01 15:51:43 +02:00
simon lehericey
0555ff68cd
speed up pjs_for_champs * 10
2022-04-01 15:51:41 +02:00
Kara Diaby
10aa9fa4be
layout
2022-03-31 15:48:18 +02:00
Kara Diaby
e06215281a
modify commentaire model
2022-03-31 15:48:17 +02:00
Kara Diaby
ec07ced968
modify avis controller
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
cd4d7b5d36
refactor(react): useDeferredValue
2022-03-31 12:39:17 +02:00
Paul Chavard
4a7324951b
refactor(react): useId
2022-03-31 12:39:17 +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
5bafc91220
fix(graphql): hide deleted dossiers
2022-03-31 12:17:24 +02:00
Paul Chavard
c2812a7633
fix(api): hide deleted dossiers
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
Paul Chavard
44c64669e9
Revert "Merge pull request #6787 from tchak/use-vite"
...
This reverts commit 5d572727b5
, reversing
changes made to 43be4482ee
.
2022-03-31 12:07:52 +02:00
Kara Diaby
4e4a70e1f8
Fixe la typo lorsqu'un expert veut envoyer un message
2022-03-30 16:55:37 +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
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
Paul Chavard
187e84a010
feat(assets): use vitejs to build javascript
2022-03-29 16:27:08 +02:00
Pierre de La Morinerie
017625207e
db: add constraints to role tables
2022-03-29 14:52:38 +02:00
Kara Diaby
b08011cff7
layout
2022-03-29 12:30:52 +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
Paul Chavard
af166f5520
fix(carto): render GeoJSON layers after map style changes
2022-03-22 09:26:11 +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
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
Martin
98c1fb8abc
feat(archive): drop old feature
2022-03-18 14:26:09 +01:00
simon lehericey
31d52d2483
do not open all fd at once
2022-03-17 22:44:53 +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
d2e9cb5253
fix(map): remove IGN token
2022-03-17 11:55:20 +01:00
Paul Chavard
31da6178cc
refactor(maplibre): improuve type imports
2022-03-17 11:55:20 +01:00
Paul Chavard
c530399eac
feat(procedure): display revisions diffs
2022-03-17 10:26:38 +01:00
Paul Chavard
6d69e153f3
fix(procedure): use non-breaking spaces
2022-03-17 10:26:38 +01:00
Paul Chavard
0cb34028d2
fix(procedure): use size instead of count
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
ec2f2dc78c
feat(graphql): expose more dossier informations
2022-03-14 15:58:02 +01:00
Paul Chavard
0695ea322a
refactor(instructeur): improuve dossiers list view
2022-03-11 14:06:34 +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
François Vantomme
d5cd0101c8
feat(footer): customize using custom views & locales
2022-03-10 17:31:20 +01:00
Paul Chavard
d3ceba8955
feat(manager): display hidden_by_user_at and hidden_by_administration_at in manager views
2022-03-10 14:29:40 +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
3a16235868
db: Add a delete_orphans
db helper
2022-03-08 14:47:43 +01:00
Pierre de La Morinerie
a645c5781d
models: delete AdministrateursProcedure when destroying Procedure
2022-03-08 09:20:34 +01:00
mfo
62351153a1
Merge branch 'main' into patch-1
2022-03-03 17:01:16 +01:00
Benoît Bernier
8ee6c5fe1b
Typo correction
2022-03-03 16:48:26 +01:00
Benoît Bernier
02661b5ec7
Typo correction
2022-03-03 16:46:02 +01:00
simon lehericey
a01e523f08
more compression
2022-03-03 09:30:15 +01:00
simon lehericey
ebd4d6a067
update FC/AG images
2022-03-03 09:30:15 +01:00
Paul Chavard
91caef0bfe
fix(dossier): ensure submitted dossiers always have groupe instructeur
2022-03-02 16:57:12 +00:00
Paul Chavard
ac6e219074
feat(administrateur): dossiers count should only include relevant dossiers
2022-03-02 15:37:42 +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
Paul Chavard
b8a22ae8b2
fix(multi-select): fix labels on multi select component
2022-03-02 09:48:54 +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
Paul Chavard
2a42690388
fix(carto): show map UI before loading map styles
2022-03-01 11:08:07 +00: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
simon lehericey
83d2e44cd7
do not show connect button on agentconnect page
2022-02-24 12:23:12 +01:00
simon lehericey
0d74a6e45e
compact display to show agentconnect to small screen
2022-02-24 12:23:12 +01:00
simon lehericey
28005db9aa
do not show left column on small screen
2022-02-24 12:23:12 +01:00
simon lehericey
7883b08a5e
apply new style to agent connect
2022-02-24 12:23:12 +01:00
Paul Chavard
7c8e97f084
chore(eslint): ignore type of global react-query queryFn
2022-02-23 15:28:51 +01:00
Paul Chavard
cd2273ba54
chore(eslint): ignore any types in maplibre styles
2022-02-23 15:28:51 +01:00
Paul Chavard
67bfeb261a
chore(eslint): fix gon types
2022-02-23 15:28:51 +01:00
Paul Chavard
12ddaa0533
chore(eslint): disable types because we use mapbox plugin with maplibre
2022-02-23 15:28:51 +01:00
Paul Chavard
96e9024694
chore(eslint): disable types on complicated event handlers
2022-02-23 15:28:51 +01:00
Paul Chavard
4e218ba562
chore(eslint): fix react-query cancelable promise type
2022-02-23 15:28:51 +01:00
Paul Chavard
a914950982
chore(eslint): fix getJSON reponse type
2022-02-23 15:28:51 +01:00
Paul Chavard
beafa21796
chore(eslint): fix isNumeric types
2022-02-23 15:28:51 +01:00
Paul Chavard
95b9e47993
chore(eslint): fix flash message root element query
2022-02-23 15:28:51 +01:00
Paul Chavard
68e89af775
chore(eslint): make react-hooks/exhaustive-deps rule as an error
2022-02-23 15:28:51 +01:00
Pierre de La Morinerie
a2028e115b
controllers: fix crash on APIEntreprise::API::Error::TimedOut
...
In that case we want to display the nicely formatted error message to the
user, instead of a "Error 500" page.
2022-02-23 11:36:25 +01:00
Pierre de La Morinerie
56c2e57aee
controllers: fix crash on APIEntreprise::API::Error::ServiceUnavailable
...
In that case we want to display the nicely formatted error message to the
user, instead of a "Error 500" page.
2022-02-23 11:31:41 +01:00
kreushed
1c5b1c0030
Mise a jour du volet gauche de la page session new
2022-02-21 18:21:38 +01:00
kreushed
167cb100b6
Mise a jour du volet droit de la page session new
2022-02-21 18:21:38 +01:00
kreushed
e0bf1ea8cf
Mise a jour des images
2022-02-21 17:34:53 +01:00
Paul Chavard
2d396fcfb7
feat(dossier): rebase dossiers en construction and en instruction
2022-02-18 17:08:38 +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
0a1214114e
mailer: re-order notify_new_answer template
...
This avoids an `if !…` condition.
2022-02-16 18:26:45 +01:00
Pierre de La Morinerie
50cafc033f
js: fix OperationQueue error handling
...
When an exception is raised, `response.json()` may have been called
already. In that case, when accessing `response.text()` in the error
handler, a "Response.text: Body has already been
consumed." error will be raised.
2022-02-15 12:23:18 +01:00
Pierre de La Morinerie
90b5e938e3
stats: fix Matomo cookie domains setting
...
It was exported to the GON as `cookie_domain`, but imported
by the tracking code as `cookieDomain`.
2022-02-15 11:55:24 +01:00
François Vantomme
cc6cb2ea30
feat(matomo): use env variables to set the domain
2022-02-15 09:25:23 +01:00
Jon
97feca6305
feat(ClamAV): add config to disable clamav usage
2022-02-15 09:15:47 +01:00
François Vantomme
ac915494df
feat(landing): hide testimonial & users sections
2022-02-15 08:49:23 +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
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
1f661325a5
refactor(carto): use maplibre instead of mapbox
2022-02-09 10:29:00 +01:00
Paul Chavard
ea6aec8b1a
chore(webpack): enable typescript
2022-02-09 10:29:00 +01:00
Paul Chavard
12151acb99
Revert "Revert "feat(attestation): revise attestations""
...
This reverts commit 4e7733e571
.
2022-02-08 16:22:59 +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
Pierre de La Morinerie
04cfc8ed9d
config: use alternate delivery methods to configure ActionMailer
...
Previously `SENDINBLUE_BALANCING` was used only when
`SENDINBLUE_ENABLED` was *disabled* (otherwise only SendInBlue was ever
used).
This commit:
- Ensure that `SENDINBLUE_BALANCING` is used only when SendInBlue is
*enabled* (which is more intuitive).
- Make it easier to add other delivery methods.
2022-02-08 12:44:43 +01:00
Paul Chavard
ad545771b7
Merge pull request #6918 from adullact/feature/6875-improve-landing-contrast
...
Amélioration du contraste de la landing page administration
2022-02-08 12:30:18 +01:00
LeSim
fe9adf061c
Merge pull request #6916 from adullact/feature/6873-dinum-vars
...
Déplacer toutes les mentions à la DINUM dans des variables
2022-02-08 11:58:05 +01:00
LeSim
fdc4e5bfbc
Merge pull request #6928 from adullact/feature/6886-watermark-url
...
Watermark depuis une URL distante
2022-02-08 11:45:26 +01:00
Pierre de La Morinerie
9a3109d960
stylesheet: add space between big number cards elements
2022-02-08 11:43:32 +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
Jon
88d3a6e4c3
feat: can have remote watemark file
2022-02-04 18:55:16 +01:00
François Vantomme
1f64d45ba4
refactor(footer): improve provided by rendering
2022-02-04 18:30:26 +01:00
François Vantomme
62562ff7a5
feat(landing): improve CTA rendering
2022-02-04 18:26:04 +01:00
François Vantomme
51cfd3d7ad
feat(env): add env variables for the provider data
2022-02-04 18:20:06 +01:00
Kara Diaby
5d10158fa6
Instructeur : ne peut plus cliquer sur un dossier supprimé dans la recherche
2022-02-03 11:17:39 +01:00
Christophe Robillard
b80ec84552
fix a11y-8.9.1 for attachement description error
2022-02-02 19:03:40 +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
Kara Diaby
81249aa798
Instructeurs : fixe la recherche cassée dans la précédente release
2022-02-02 09:33:28 +01:00
Kara Diaby
8d2f4597fa
fix recherche on supprimes_recemment dossiers instructeurs
2022-02-01 16:54:09 +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
82ddad125f
layout
2022-01-31 10:03:44 +01:00
Kara Diaby
0f968f4c4e
modify models
2022-01-27 17:01:27 +01:00
Kara Diaby
a94568e2ef
modify procedures controller
2022-01-27 17:01:09 +01:00
Pierre de La Morinerie
387701e7cb
config: add a new SAML_IDP_ENABLED env var
...
This fixes the app crashing on launch when using the production profile,
because the certificates are not present.
2022-01-26 16:45:50 +01:00
Paul Chavard
4e7733e571
Revert "feat(attestation): revise attestations"
...
This reverts commit e413872530
.
2022-01-25 18:26:34 +01:00
Paul Chavard
a9c4a81ab0
fix dossier mailer templates
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
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
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
Pierre de La Morinerie
68fd3aea39
config: rename SOURCE to LOGRAGE_SOURCE
2022-01-19 15:43:44 +01:00
Pierre de La Morinerie
d4fada9f6c
config: add MATOMO_HOST environment variable
2022-01-19 15:43:44 +01:00
Kara Diaby
8490826a78
import csv gi available only for published procedures
2022-01-18 13:21:11 +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
902f7f6cb3
fix(select): improuve multi select onBlure
2022-01-13 17:49:16 +01:00
Paul Chavard
7e81b257b1
test(system): simplify select menu selector
2022-01-13 17:49:16 +01:00
Paul Chavard
7e0d471a08
improuve discarded_expired scopes
2022-01-12 15:49:38 +01:00
Kara Diaby
68b45ae31d
modify instructeur procedures controller
2022-01-12 15:49:38 +01:00
Kara Diaby
e2caf5718f
modify instructeur model
2022-01-12 15:49:38 +01:00
Kara Diaby
4606650248
layout
2022-01-12 15:49:38 +01:00
Kara Diaby
894b065615
modify dossier model
2022-01-12 15:49:37 +01:00
Kara Diaby
006eac4240
modify controller
2022-01-12 15:49:37 +01:00
Paul Chavard
4a718eae92
fix(select): always show menu on click in the input
...
fix #6655
2022-01-11 12:11:45 +01:00
Paul Chavard
967699c305
fix(select): improuve no results found message
2022-01-11 12:10:20 +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
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
28c1763701
a11y(champs): generalize describedby and update to use new Combo props
2022-01-05 12:33:40 +01:00
Paul Chavard
3513182e7c
a11y(select): use new ComboMultiple component
2022-01-05 12:33:40 +01:00
Paul Chavard
d6b6bb0f2a
a11y(combobox): add support for describedby and labelledby and improuve external fields handling
2022-01-05 12:33:40 +01:00
Paul Chavard
fc058f721d
a11y(champs): expose ids for UI on champ
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
Paul Chavard
6776a5e05a
fix(react): remove register component cache
2022-01-03 19:41:23 +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
7d7b847437
Instructeur : delete the folder if the user 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
f239d46a45
add hide_dossier method to instructeurs
2021-12-29 17:37:57 +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
90c971567d
superadmin can show zone for a procedure
2021-12-23 19:07:42 +01:00
Christophe Robillard
c7b5e57d2a
superadmin can get procedures from zone
2021-12-23 19:07:42 +01:00
Christophe Robillard
537e6066d8
add Zones dashboard for superadmin
2021-12-23 19:07:42 +01:00
Christophe Robillard
878f735a80
facilite le remplissage automatique de l'email
2021-12-23 19:00:10 +01:00
Paul Chavard
4e779f445d
fix(instructeur): copy notifications settings from previous groupe instructeur
...
fix #6763
2021-12-23 13:55:25 +01:00
Paul Chavard
2f6cd317bf
fix(instructeur): set notification settings on all groupe instruteur for given procedure
2021-12-23 13:55:25 +01:00
Christophe Robillard
eda8aacfe4
fix a11y problem for support page
...
L'interpolation de `support.index.product.answer_html` produisait des balises p vides, ce qui contrevenait au critère 8.9.1 RGAA (https://www.numerique.gouv.fr/publications/rgaa-accessibilite/methode/criteres/#test-8-9-1 )
2021-12-23 10:49:52 +01:00
Pierre de La Morinerie
07230870d3
js: don't track external links
...
This fixes an issue where, by default, links to private attachments are
reported to Matomo.
This is benign: attachments URLs can be filtered out server-side, and
expire after one hour anyway. But we don't want to ship an insecure
configuration by default.
2021-12-23 09:50:21 +01:00
Paul Chavard
f8d245d2f8
refactor(js): use dynamic import
2021-12-21 17:09:49 +00:00
Paul Chavard
26f65e250c
fix(a11y): better contrast on placeholders
2021-12-21 16:50:31 +00:00
Paul Chavard
1c6ff09c5b
fix(a11y): stop using th in presentation only tables
2021-12-21 16:50:31 +00:00
Paul Chavard
64104f9fc3
fix(a11y): criteria 11.1
2021-12-21 16:50:31 +00:00
Paul Chavard
fc90dca920
fix(a11y): criteria 10.5
2021-12-21 16:50:31 +00:00
Paul Chavard
e264472481
fix(procedures): fix check to enable procedure delete
2021-12-16 17:28:42 +00: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
f08081abfe
fix(api particulier): remove $def key from pole emploi JSON schema
2021-12-16 16:45:18 +01:00
François Vantomme
115adbec70
style(api particulier): harmonize pole emploi resource name constant
2021-12-16 16:45:17 +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
Christophe Robillard
dec1f787a7
edit zone only if zonage feature enabled
2021-12-15 19:37:32 +01:00
Christophe Robillard
829d644c10
group related options in zone select box
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
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
Martin
721d926c0d
wip(fix): chdir
2021-12-13 16:37:04 +01:00
mfo
148be50c86
Update app/services/procedure_archive_service.rb
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2021-12-13 16:37:04 +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
maatinito
9df0d98109
Fix csv download of stats
...
https://medium.com/@mitsun.chieh/activerecord-relation-with-raw-sql-argument-returns-a-warning-exception-raising-8999f1b9898a
2021-12-10 16:48:11 +01:00
Paul Chavard
c7b1dc7f87
fix(bulk_messages): destroy bulk messages with procedures
2021-12-09 16:16:40 +01:00
Pierre de La Morinerie
0e35bc609d
notifications: don't preload dossiers on instructeurs
...
This request currently times out almost every night in production.
It's because although Instructeurs are loaded in batches (default batch
size is 1000), loading all dossiers for 1000 instructeurs is slow.
Turns out the code executed after this query to compute notifications
doesn't even use these dossiers. Indeed it is faster not to preload
them: both the initial query and the total treatment time are shorter.
Here's a quick benchmark made locally (but using production data):
- Before this commit:
Benchmark.measure { pp Instructeur.includes(assign_to: { procedure: :dossiers }).where(assign_tos: { daily_email_notifications_enabled: true }).limit(100).m
ap(&:email_notification_data) }
Only the initial query : 35s
Total time : 97s
- Without preloading dossiers:
Benchmark.measure { pp Instructeur.includes(assign_to: :procedure).where(assign_tos: { daily_email_notifications_enabled: true }).limit(100).m
ap(&:email_notification_data) }
Only the initial query : 0.08s (400x faster)
Total time : 29s (3,3x faster)
Plus it doesn't timeout, of course.
2021-12-09 12:10:00 +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
cfb8c184fe
perf(api particulier): use filter_map
instead of map.compact
...
https://docs.rubocop.org/rubocop-performance/cops_performance.html#performancemapcompact
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
Pierre de La Morinerie
c75dba701d
lib: replace URI.encode by CGI.escape
...
URI.encode was removed in Ruby 3.
Fix an error when adding a phone number to a Helpscout ticket.
2021-12-07 15:25:26 +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
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
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
ed2cbdc966
fix(champ): save departement name without code prefix
2021-12-06 20:58:08 +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
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
Martin
f8a17b2cc4
feat(procedures#index): add dossiers-expirant to instructeur/procedure#index
2021-12-03 16:32:03 +01:00
Christophe Robillard
3265ac2d84
localize zone
2021-12-02 19:24:26 +01:00
Christophe Robillard
9341c787a1
administrateur can add zone to procedure
2021-12-02 19:24:26 +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
Pierre de La Morinerie
115ca5e24a
js: don't create invalid menus by default
...
When a new "Menu" type de champ is added, it comes pre-filled with a
menu title – and nothing else. Which is confusing, and invalid.
Instead pre-fill the type de champ with actual values (no titles).
2021-12-02 09:00:37 +01:00
Pierre de La Morinerie
d524beee4e
app: remove :instructeur_bypass_email_login_token
from Flipper
2021-12-02 08:51:52 +01:00
Pierre de La Morinerie
ac07f05771
app: use Instructeur.bypass_email_login_token
2021-12-02 08:51:52 +01:00
Paul Chavard
46e2e34b89
fix(stats): remove super admin stats
2021-12-01 18:10:05 +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
Kara Diaby
f1525a798f
Avis : display introduction file to experts
2021-11-30 14:27:58 +01:00
Pierre de La Morinerie
28dfc6a1ba
manager: save bypass_email_login_token to both column and feature
2021-11-30 13:41:25 +01:00
Pierre de La Morinerie
99c77046d2
models: improve error message for invalid champs
...
Avoid prepending the message with 'Draft revision '
2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
b86dec8251
views: prevent procedure publication on validation error
2021-11-30 13:34:41 +01:00
Pierre de La Morinerie
9db62178d2
views: display revision errors on the procedure dashboard
2021-11-30 13:34:41 +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
c4cde500ce
fix acsv
2021-11-30 09:42:45 +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
simon lehericey
a0c0520502
avoid redirection to a deleted user
2021-11-29 15:27:17 +01:00
Kara Diaby
23677956f3
modify controller
2021-11-29 11:34:31 +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
2103f09be1
layout
2021-11-26 09:45:13 +01:00
Kara Diaby
24ba7b6633
modify dossier projection service
2021-11-26 09:45:13 +01:00
kara Diaby
eaac293da3
add a new tab traités on user dossiers
2021-11-26 09:45:13 +01:00
Martin
fdf0f18fda
fix(i18n): wrap text under i18n.t
...
i18n(france_connect/*): replace wording with i18n
fix(lint): i18n key issue
secu(views/france_connect/particulier/merge.html.haml): sanitize france_connect_email just in case
fix(brakeman): sanitize FCI.email_france_connect when used with html_safe via an I18n.t, also add exception to brakeman
2021-11-25 17:34:37 +01:00
Martin
febe890d28
fixup! Add confirmation by email when merging DC/FC accounts
2021-11-25 17:34:37 +01:00
Martin
8a315a4ac1
feat(UserMailer.france_connect_merge_confirmation): in addition to distance_of_time_in_words, add exact expiration date
2021-11-25 17:34:37 +01:00
Martin
21894d0a0a
feat(france_connect/particulier#callback): in case the FC email exists as an DC account which is an instructor or and administrator, returns early to new_session_path so he can connect with this existing account
2021-11-25 17:34:36 +01:00
Martin
ff073f8884
Add confirmation by email when merging DC/FC accounts
...
feat(fci.confirmation_code): add confirmation code to france_connect_informations
feat(user_mailer.france_connect_confirmation_code): add confirmation by email mail method/preview/spec, pointing to merge_mail_with_existing_account (reuse existing method)
feat(mail_merge): mail merge
feat(merge.cannot_use_france_connect): same behaviour as callback
clean(fci.confirmation_code): use same token for mail validation as merge
feat(resend_france_connect/particulier/merge_confirmation): resend email with link. also enhance some trads, cleanup halfy finished refacto
clean(tech): finalize story by plugging merge_with_new_account to email validation
fix(deadspec): was removed
fix(spec): broken after last refactoring
lint(rubocop): space before parenthesis
lint(haml-lint): yoohoooo space before =
fix(lint): scss now :D
Update app/assets/stylesheets/buttons.scss
cleanup
feat(france_connect): re-add confirm by email, with an option for confirmation by email instead of only confirmation by email
fixup! Add confirmation by email when merging DC/FC accounts
fix(lint): haml_spec failure
2021-11-25 17:34:34 +01:00
Paul Chavard
7d189575af
fix(commune): do not display foreign departement when selecting commune
2021-11-25 13:49:57 +03:00
mfo
91c3a8be19
fix(eslint): max columns
2021-11-25 13:43:28 +03:00
Martin
0d486981a6
fix(ComboCOmmunesSearch.typo): fix combo communes search typo
2021-11-25 13:43:28 +03: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
simon lehericey
bd4a5c419b
add title to agentconnect page
2021-11-24 12:50:47 +01:00
Paul Chavard
758e7d68e6
fix(graphql): fix and improuve query parsing for logs
2021-11-24 13:23:05 +03: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
Martin
0fd9e15cc1
i18n(expiration_banner): extract test in i18n files
2021-11-23 15:23:22 +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
c5097451ef
add redirect
2021-11-23 14:17:59 +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
simon lehericey
d2432e34eb
AgentConnect UI
2021-11-23 14:17:59 +01:00
mfo
49bb12a70e
Merge branch 'main' into 6649-etq-usager-instructeur-rendre-la-suppression-plus-visible
2021-11-23 11:05:51 +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
2a87b9bf89
feat(users/dossiers/*): rework header for consistent design, add some utils spacers
2021-11-22 14:46:10 +01:00
Pierre de La Morinerie
859a147c49
api: return error cause on parse error
...
Currently, when a query can't be parsed, the error is:
- logged to Sentry (which is useless to us),
- returned as a generic 'Internal Server Error' (which is useless to the
user who made the query).
With this commit, the error is instead ignored from our logs (because it
is a user error), but the parse error details are returned to the user,
with the following format:
> {'errors': [{'message': 'Parse error on ")" (RPAREN) at [3, 23]'}]}
2021-11-19 15:15:10 +01:00
Martin
3d1533dee9
feat(users/dossiers?statut=dossiers-expirant): add dossiers-expirant tab
2021-11-19 15:14:39 +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
716a859c93
fix(profile): prevent crashing on renew token action
2021-11-16 20:01:56 +03:00
Paul Chavard
e74d599042
feat(procedure): remove duree_conservation_dossiers_hors_ds
2021-11-16 19:55:56 +03:00
Paul Chavard
65e59b8dcd
fix(procedure): allow to modify duree_conservation_dossiers_dans_ds after publication
2021-11-16 19:55:56 +03:00
Paul Chavard
406c5a61cc
fix(dossier): fix dossier traitements display
2021-11-16 19:00:20 +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
Paul Chavard
3400c4c628
fix(champs): attach piece justificative
2021-11-16 17:57:41 +03: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
Paul Chavard
7914775809
feat(routage): administrateur can disable routage
...
fix #6627
2021-11-16 11:49:51 +03:00
simon lehericey
e3c1e19424
include hidden dossier in merge
2021-11-15 23:14:41 +01:00
mfo
08350f394e
feat(mails): send it on mailer queue
2021-11-15 16:19:46 +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
Martin
5534c3fbd6
fix(refactor): forgot to cleanup former implementation
2021-11-15 15:43:51 +01:00
Martin
5b6bb5171c
tech(lint): rubocopify
2021-11-15 15:42:20 +01:00
Martin
c68fa2d7f3
feat(Commentaire.notify_user): wait 5 minutes before sending email to user when instructor write a commentaire. leaving some space for instructor to destroy his message
2021-11-15 15:38:57 +01:00
Martin
46fc956de3
fix(refactor): forgot to pass var, classy
2021-11-15 15:01:56 +01:00
Martin
a74ca8ad39
fix(spec): scope out time as reference for time comparission, hope not a matter of precision
2021-11-15 14:55:35 +01:00
Martin
f1293814a3
fix(spec): apparently we do store time with zone
2021-11-15 14:35:43 +01:00
Martin
4042d51d1a
tech(lint): rubocopify
2021-11-15 14:17:57 +01:00
Martin
d4c74b5621
feat(rc.1): refine with better translations, better design
2021-11-15 14:15:05 +01:00
Martin
3b78a9d81a
feat(rc): first stable
2021-11-15 13:53:32 +01:00
simon lehericey
15d4c4c7b0
small fix on profil
2021-11-15 13:51:26 +01:00
Martin
8b931a57d4
feat(CommentairesController#destroy): implement destroy endpoint using CommentaireService
2021-11-15 13:18:10 +01:00
Martin
9a8ec1087c
feat(commentaire.soft_delete): wrap deletion behaviour in service
2021-11-15 12:43:53 +01:00
Martin
5b72bdec7e
fix(Commentaire.sent_by?): &.email compared to nil could sent by true when nil==nil, avoid this one
2021-11-15 12:01:56 +01:00
Martin
b03dc6ad5d
wip(dossiers/messages/_message): poc destroy button with expected ACL support
2021-11-15 11:30:41 +01:00
Paul Chavard
da47f491b3
fix(dossier): nullify close to expiration notice timestamps when changing state
2021-11-11 12:52:58 +01:00
Paul Chavard
faa235d205
fix(dossier): destroy operation logs when destroying an expired dossier
2021-11-11 09:37:09 +01:00
Paul Chavard
71939c650b
fix(export): remove wrong columns from repetition spreadsheets
...
This fix prevent repetition children types de champ from being pulled from cloned procedures. stable_id is stable across revisions but also across cloned procedures.
2021-11-10 20:45:32 +01:00
Peng-Fei DONG
dc560479ec
clean css in page deleted_dossiers for show the dossier table
2021-11-09 12:45:41 +01:00
kara Diaby
9ee9389ba1
add the good retry_on StaleObjectError
2021-11-05 13:32:21 +01:00
simon lehericey
17d131b3cc
add has_may requested_merge_from
2021-11-04 16:10:09 +01:00
simon lehericey
9041e201e8
one merge at a time
2021-11-04 16:10:09 +01:00
simon lehericey
adfac5fb7b
improve ui
2021-11-04 16:10:09 +01:00
simon lehericey
b160086cc5
update update_email to allow merge
2021-11-04 16:10:09 +01:00
simon lehericey
652b8367be
accept or refuse merge
2021-11-04 16:10:09 +01:00
simon lehericey
6625c6bac3
add requested_merge_into column in user table
2021-11-04 16:10:09 +01:00
simon lehericey
894e8fdd47
move update_email check to before_action
2021-11-04 16:10:09 +01:00
Paul Chavard
ba0211ba52
feat(champ): ask for departement before asking for commune
2021-11-04 11:55:25 +01:00
Paul Chavard
122cdacbc2
fix(avis): destroy avis for discarded en_construction dossiers
2021-11-04 10:12:44 +01:00
Paul Chavard
f6b8689a97
fix(revisions): fix repetitions export with revisions
2021-11-03 18:20:48 +01:00
Paul Chavard
0e2f09dd6f
fix(dossiers): wrap dossier discard in a transaction
...
By doing this we ensure that deleted_dossier are not created when dossier is not discarded
2021-11-02 18:17:35 +01:00
Paul Chavard
7ef73f13e4
fix(grope_instructeur): can not destroy groupe_instructeur with discarded dossiers
2021-11-02 12:15:24 +01:00
Paul Chavard
3c2515ce6d
feat(graphql): add graphql_operation to rails logs
2021-11-02 12:02:00 +01:00
kara Diaby
87ed764f9b
enlarge procedure title in user dossier
2021-10-29 14:05:49 +02:00
Paul Chavard
da49a6447f
refactor(repetition): optimize and add a transaction around repetition add row
2021-10-28 14:54:33 +02:00
Paul Chavard
f9a8fb4ada
fix(repetition): prevent rage clicks on add row button
2021-10-28 14:54:32 +02:00
Paul Chavard
c4b93f8d4a
fix(groupe_instructeur): unfollow dossiers when removed from groupe instructeur
2021-10-28 14:45:52 +02:00
simon lehericey
8fe1e2bf71
wrap merge in transaction
2021-10-28 14:39:13 +02:00
simon lehericey
7935e42109
Add merge log
2021-10-28 14:39:13 +02:00
simon lehericey
3328c9a132
merge move invite as well
2021-10-28 14:39:13 +02:00
simon lehericey
f2ccb39912
merge destroys the old role and account
2021-10-28 14:39:13 +02:00
simon lehericey
1401d163ba
add dependent_destroy to user instructeur / admin / expert roles
2021-10-28 14:39:13 +02:00
simon lehericey
c725999582
move merge method to user
2021-10-28 14:39:13 +02:00
Paul Chavard
1393b7b07b
fix(rebase): fix repetition champ rebase
2021-10-28 13:27:53 +02:00
Paul Chavard
d659595cde
fix(typo): addresse -> adresse
2021-10-27 18:59:18 +02:00
Paul Chavard
6599f9a992
fix(bulk_messages): disable pj on bulk messages
2021-10-27 15:41:53 +02:00
Paul Chavard
7ebc439630
refactor(drop_down_list_champ): other option
2021-10-27 12:01:15 +02:00
Paul Chavard
8154daf847
refactor(drop_down_list_champ): other option
2021-10-27 12:00:39 +02:00
kara Diaby
f1f2b76a3d
revisions
2021-10-27 12:00:39 +02:00
kara Diaby
c2fcd3992d
add other option for dropdown select
2021-10-26 16:11:15 +02:00
kara Diaby
0e65916e44
add other option for dropdown radio
2021-10-26 16:11:15 +02:00
kara Diaby
dc35d9521f
add other option to liste deroulante champ
2021-10-26 16:11:15 +02:00
Paul Chavard
6e8e0c7b6b
feat(type_de_champ): reflect changes of secondary labels and descriptions
2021-10-26 12:18:01 +02:00
Paul Chavard
d308448f02
feat(type_de_champ): add secondary label and description do linked drop downs
2021-10-26 12:18:01 +02:00
Paul Chavard
579dce8eb6
refactor(user): wrap user destruction in a transaction
2021-10-26 11:16:29 +02:00
Paul Chavard
d5d3995dad
fix(dossier): fix dossier.avis cascade
2021-10-26 11:16:29 +02:00
Paul Chavard
4aa573a75d
fix(transfer): remove discarded dossiers from transfers
2021-10-26 10:41:01 +02:00
Pierre de La Morinerie
d0e87a08cf
services: cache zxcvbn dictionaries per-thread
...
Before, every time a password was tested, the dictionaries were parsed
again by zxcvbn.
Parsing dictionaries is slow: it may take up to ~1s. This doesn't matter
that much in production, but it makes tests very slow (because we tend
to create a lot of User records).
With this changes, the initializer tester is shared between calls, class
instances and threads. It is lazily loaded on first use, in order not to
slow down the application boot sequence.
This uses ~20 Mo of memory (only once for all threads), but makes tests
more that twice faster.
For instance, model tests go from **8m 21s** to **3m 26s**.
NB:
An additionnal optimization could be to preload the tester on
boot, before workers are forked, to take advantage of Puma copy-on-write
mechanism. In this way all forked workers would use the same cached
instance.
But:
- We're not actually sure this would work properly. What if Ruby updates
an interval ivar on the class, and this forces the OS to copy the
whole data structure in each fork?
- Puma phased restarts are not compatible with copy-on-write anyway.
So we're avoiding this optimisation for now, and take the extra 20 Mo
per worker.
2021-10-25 12:04:56 +02:00
Paul Chavard
1561ea82f6
fix(transfer): manually nullify staled transfers references
2021-10-21 13:54:26 +02:00
Paul Chavard
2a3a9dd822
feat(revisions): rebase dossiers brouillons
2021-10-20 17:26:09 +02:00
Paul Chavard
09a09d3fcf
feat(revisions): add rebased_at to champs
2021-10-20 17:26:09 +02:00
Paul Chavard
67e98f79c9
feat(revisions): add stable_id to changes
2021-10-20 17:25:34 +02:00
Paul Chavard
1ca8192864
perf(export): load dossiers.champs in batches
2021-10-20 16:52:38 +02:00
lydiasan
6f9c3abfbc
i18n: display language selector on non-french accept-languages
2021-10-19 16:41:36 +02:00
simon lehericey
d19ad2840c
rename preexisting to targeted, remove duplicated test
2021-10-19 16:12:42 +02:00
simon lehericey
52b7e85954
merge administrateur in user_controller
2021-10-19 16:12:42 +02:00
simon lehericey
866df74706
merge admin
2021-10-19 16:12:42 +02:00
simon lehericey
44c880adc4
allow instructeur and administrateur to change their email to legit domain ( #6550 )
2021-10-19 15:54:57 +02:00
Paul Chavard
8fa544e176
feat(manager): bring back add administrateur
2021-10-19 12:06:31 +02:00
simon lehericey
f54dfe6ead
Do not raise error if user is nil
...
I do not get when it happens
2021-10-19 11:21:24 +02:00
simon lehericey
46fd15416b
add end to end test
2021-10-14 14:47:50 +02:00
simon lehericey
bb83fd2f18
To make an old test work, no idea
2021-10-14 14:47:50 +02:00
simon lehericey
933d7b8c8d
merge with another preexisting account
2021-10-14 14:47:50 +02:00
simon lehericey
ce40e1127d
merge with another new account
2021-10-14 14:47:50 +02:00
simon lehericey
19f81b594b
merge with an existing account by using the password
2021-10-14 14:47:50 +02:00
simon lehericey
218e4633a9
securely retrieve fci
2021-10-14 14:47:50 +02:00
simon lehericey
f7299da1e7
launch merge process if an unlinked DS account with the same email exists
2021-10-14 14:47:50 +02:00
simon lehericey
f6879eba60
associate_user take a target email
2021-10-14 14:47:50 +02:00
simon lehericey
09f828a6a2
create_merge_token!
2021-10-14 14:47:50 +02:00
simon lehericey
34862f41e0
Add fci valid_for_merge
2021-10-14 14:47:50 +02:00
simon lehericey
2e118a8f5b
allow unattached fci
2021-10-14 14:47:50 +02:00
simon lehericey
461b774188
a password input must not be that wide
2021-10-14 14:47:50 +02:00
simon lehericey
6e6635560f
Add merge token to FCI
2021-10-14 14:47:50 +02:00
simon lehericey
6826bf03b0
Sign in with a user linked by france connect sub (openid)
...
instead of looking linked user by email because :
- follows FC recommendation to fetch ds account by openid
- the email is not a valid key as many user can share the same FCI email.
The following scenario is now working
A user A (email: 1@mail.com ) uses FC to connect to DS
=> It is connected as 1@mail.com
Another user B (email: generic@mail.com ) uses FC to connect
=> It is connected as generic@mail.com
The first user A change its FC email to generic@mail.com and connect to DS
=> It is still connected as 1@mail.com
2021-10-14 14:47:50 +02:00
simon lehericey
06dee2e023
refactor controller to avoid return
2021-10-14 14:47:50 +02:00
simon lehericey
5aaf46258a
remove obsolete devise scope
2021-10-14 14:47:50 +02:00
Paul Chavard
4caf2f9592
fix(champs): remove redundant description
2021-10-13 13:55:09 +02:00
Pierre de La Morinerie
9be16a1208
views: rename the procedure_publish_label helper
...
The new text makes more sense.
2021-10-12 16:25:11 +02:00
Pierre de La Morinerie
50b1d4ce28
views: make france-connect-information more compact
...
Otherwise it takes a lot of space in the form.
2021-10-12 16:25:01 +02:00
simon lehericey
87de9e38c6
allow draft to be saved with invalid cnaf champ
2021-10-12 14:27:20 +02:00
simon lehericey
35c7f05a0a
source service supports unknown scope
2021-10-12 14:27:20 +02:00
simon lehericey
ecc26897e2
add end to end spec
2021-10-12 14:27:20 +02:00
simon lehericey
7aee944daa
show cnaf tdc when procedure is compatible
2021-10-12 14:27:20 +02:00
simon lehericey
7072993721
a form can upload numero_allocataire and code_postal
2021-10-12 14:27:20 +02:00
simon lehericey
57a7f82a8f
add cnaf ui
2021-10-12 14:27:20 +02:00
simon lehericey
40d0cfcdc4
add champ validation
2021-10-12 14:27:20 +02:00
simon lehericey
c76d1043fa
add cnaf champ
2021-10-12 14:27:20 +02:00
simon lehericey
354735ace4
add champ value_json jsonb column
2021-10-12 14:27:20 +02:00
simon lehericey
d68129b34d
add cnaf type de champ
2021-10-12 14:26:40 +02:00
simon lehericey
b69dafc3d4
CNAF in lowercase
2021-10-12 14:26:40 +02:00
simon lehericey
17a2b5dc53
fix a strange encoding error
2021-10-12 14:26:40 +02:00
Pierre de La Morinerie
0b02fce5e4
jobs: move ActiveJobLogSubscriber out of initializers
...
This is a class of its own, it doesn't need to be in the initializers.
2021-10-12 11:40:19 +02:00
simon lehericey
7c65571fca
add case when the old_expert or old_instructeur is nil
2021-10-12 11:04:06 +02:00
simon lehericey
d7e621d167
beef up the merge methods
2021-10-07 15:51:31 +02:00
simon lehericey
77d14d4a60
forbid admin merge yet
2021-10-07 15:51:31 +02:00
simon lehericey
5009c583ea
Add notice when merging account
2021-10-07 15:51:31 +02:00
simon lehericey
a480b31eb5
merge expert
2021-10-07 15:51:31 +02:00
simon lehericey
136f29524e
merge instructeur
2021-10-07 15:51:31 +02:00
simon lehericey
9a6a53349f
simple cases when the preexisting targeted account does not have instructeur or profile profile
2021-10-07 15:51:31 +02:00
Paul Chavard
4a947f9135
feat(manager): add become administrateur button in manager (with 24h expiration)
2021-10-07 11:32:12 +02:00
Paul Chavard
9d5c5447c2
fix(dossier): do not attempt to destroy transfers when a dossier is destroyed
...
we had a dependent option on both sides of a relationship which created race conditions
2021-10-06 17:51:09 +02:00
kara Diaby
13883393eb
modify layout
2021-10-06 16:41:08 +02:00
Paul Chavard
d3c1941fbe
fix(dossier): never write dossier log on dossiers brouillons
2021-10-05 17:56:51 +02:00
kara Diaby
e4b61eae21
layout
2021-10-05 15:37:29 +02:00
kara Diaby
177074bf32
css
2021-10-05 15:37:29 +02:00
kara Diaby
9c9eeb8e76
modify groupe instructeurs controller$
2021-10-05 15:37:29 +02:00
kara Diaby
0bd879ec9b
modify pj service
2021-10-05 15:00:21 +02:00
kara Diaby
6ef5b5d474
modify downloable file
2021-10-05 15:00:21 +02:00
kara Diaby
bfee9c275c
layout
2021-10-05 15:00:21 +02:00
kara Diaby
6d89d914e2
modify expert avis controller
2021-10-05 15:00:21 +02:00
simon lehericey
d8112b9548
[ Fix #6491 ] ui
2021-10-05 12:05:43 +02:00
simon lehericey
1000417bc9
update notifications_for_dossier used in dossier show
2021-10-05 12:05:43 +02:00
simon lehericey
65911b7680
update with_notifications dossiers scope (used in procedure index and show)
2021-10-05 12:05:43 +02:00
simon lehericey
f662b28baf
update identity_updated_at column when user identity change
2021-10-05 12:05:43 +02:00
simon lehericey
3a878dfc04
add identity_updated_at column to dossier
2021-10-05 12:05:43 +02:00
Pierre de La Morinerie
f854e3af63
controllers: use ACSV to import groupe instructeurs
...
Unlike `CSV`, `ACSV` auto-detect the file encoding and separator type.
2021-10-05 10:58:15 +02:00
Peng-Fei DONG
dee536fca1
app: localize CSV import for groupe instructeurs
2021-10-05 10:58:15 +02:00
simon lehericey
9679e233cd
[ Fix #6512 ] admin preview in new tab
2021-10-05 10:47:58 +02:00
simon lehericey
e4484eb6d9
discard expert not found job error
2021-10-04 12:57:37 +02:00
simon lehericey
64351d0287
[ Fix #6504 ] Fix exception raised when deleting a transfer
2021-10-01 12:11:03 +02:00
Pierre de La Morinerie
b2774ed2f6
js: fix pays API request on older Edge and Safari
...
The /api/pays API requires user authentication. However older versions
of Edge and Safari don't transmit cookies by default during a
`fetch` request.
Use the `credentials: 'same-origin'` option explicitely to fix the
countries list.
2021-09-30 16:21:24 +02:00
Pierre de La Morinerie
f01e4ed6ef
models: document upstream PR about file size validation
2021-09-30 15:45:30 +02:00
kara Diaby
7594d8470c
Fixe une faute d'orthographe dans une notification
2021-09-30 11:45:24 +02:00
Pierre de La Morinerie
2908f2bdba
assets: fix background of translate-icon
...
The background was white, instead of being transparent.
2021-09-28 16:42:04 +02:00
kara Diaby
eb951c75e4
change stats colors
2021-09-28 14:49:24 +02:00
kara Diaby
b5e699e8b8
change svg icons color
2021-09-28 14:49:24 +02:00
kara Diaby
1f2935719c
change blue color on all the app
2021-09-28 12:33:01 +02:00
kara Diaby
99cfd4f42c
adapte la page d'accueil au design system de l'état
2021-09-28 12:33:01 +02:00
simon lehericey
6eb10ecde5
display tdc alphabetically 🎉
2021-09-27 15:45:37 +02:00
simon lehericey
f55db98e97
rework type de champ type
2021-09-27 15:45:37 +02:00
Paul Chavard
c288739f13
Update app/helpers/procedure_helper.rb
...
Co-authored-by: LeSim <mail@simon.lehericey.net>
2021-09-27 15:06:17 +02:00
Paul Chavard
7deedf8245
feat(refactor): unify dossiers header
2021-09-27 15:06:17 +02:00
Paul Chavard
357c684688
feat(routage): self managing instructeurs
2021-09-27 15:06:17 +02:00
Paul Chavard
d4e8158887
feat(routing): add instructeurs_self_management_enabled to procedures
2021-09-27 15:06:17 +02:00
Paul Chavard
5933194149
feat(log): stop logging user emails
...
fix #6485
2021-09-27 14:56:00 +02:00
simon lehericey
57604b9c89
add schema validations
2021-09-22 12:08:24 +02:00
simon lehericey
75043070da
add CNAFAdapter
2021-09-22 12:08:24 +02:00
simon lehericey
a7651e3772
add api composition_familiale
2021-09-22 12:08:24 +02:00
simon lehericey
ceb09c5967
api remove useless symbolize
2021-09-22 12:08:24 +02:00
simon lehericey
07962cc2c7
service: match remote keys
2021-09-22 12:08:24 +02:00
Ismael MOUSSA S
36dc9c2ca2
Add File Validation concern after refactoring
2021-09-21 12:11:20 -05:00
Ismael MOUSSA S
7c7c9c9ea4
Fix file size validation message
2021-09-21 12:11:20 -05:00
Ismael MOUSSA S
bdbb4deb87
ADD FILE_MAX_SIZE constant to set allow file size limit
2021-09-21 12:04:56 -05:00
simon lehericey
1446660ca3
an api_particulier_token change erases previous api_particulier_sources
2021-09-21 11:21:10 -05:00
simon lehericey
2e1bed8748
an admin can save its sources
2021-09-21 11:21:10 -05:00
simon lehericey
8d747ff16e
add sanitize method to service
2021-09-21 11:21:10 -05:00
Pierre de La Morinerie
6656d1130b
i18n: refactor admin support locales
...
This allow i18n-tasks to better detect dynamic keys.
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
f9220891a7
i18n: refactor user support locales
...
This allow i18n-tasks to better detect dynamic keys.
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
274b92c453
i18n: remove simple_form locale files
...
We don't even use simple_form.
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
8748b6f494
i18n-tasks: add hint for default_i18n_subject in mailers
2021-09-21 10:44:20 -05:00
Pierre de La Morinerie
eef90efd49
app: fix exception during password reset when the token has expired
2021-09-21 10:30:09 -05:00
simon lehericey
a7ec77f0a8
do not display the action for instructeur
2021-09-20 13:58:11 +02:00
simon lehericey
75481a644c
Add confirm alert
2021-09-20 13:58:11 +02:00
simon lehericey
7239657a75
[ Fix #6481 ] a user see its waiting transfers
2021-09-20 13:58:11 +02:00
simon lehericey
c34476a766
a user can transfer all its dossier
2021-09-20 13:58:11 +02:00
Paul Chavard
c9accbf5a5
refactor(i18n): localize routage description
2021-09-18 11:51:27 +02:00
Paul Chavard
4db059a54c
Update app/views/new_administrateur/groupe_instructeurs/_routing.html.haml
...
Co-authored-by: Pierre de La Morinerie <kemenaran@gmail.com>
2021-09-18 11:22:35 +02:00
Paul Chavard
0c5c8faf16
feat(routage): enable routage for everyone
2021-09-18 11:22:35 +02:00
Paul Chavard
0ff62c5a5e
feat(routage): add routing_enabled to procedures
2021-09-18 11:22:35 +02:00
Paul Chavard
8b4bef2816
refactor(routage): simplify goupe_instructeur assign code
2021-09-18 11:21:26 +02:00
Paul Chavard
eea6b961d7
refactor(routage): remove administrateur_routage feature flag
2021-09-18 11:21:26 +02:00
simon lehericey
cfebc4698a
add link to sources UI
2021-09-17 13:50:23 +02:00
simon lehericey
2c13f70cd5
redirect to sources after updating token
2021-09-17 13:50:23 +02:00
simon lehericey
5dbd81ebeb
show api particulier sources
2021-09-17 13:50:23 +02:00
simon lehericey
8327c6fd0c
add ApiParticulier::Service::Sources
2021-09-17 13:50:23 +02:00
simon lehericey
b000590d81
add api particulier sources to procedure
2021-09-17 13:50:23 +02:00
Peng-Fei DONG
2b8f7f13a9
check SENDINBLUE_ENABLED when show the link
2021-09-16 15:37:31 +02:00
Pierre de La Morinerie
715b5ea6d8
i18n: move controller keys to the proper scope
2021-09-16 07:59:19 -05:00
Pierre de La Morinerie
423deb3c3a
i18n: fix invalid i18n key in the admin section
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
e6b044531d
i18n: fix invalid i18n-tasks-hint
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
f1fa84c12a
i18n: remove unused i18-tasks-hint
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
446738fbbf
i18n: make dynamic scopes explicit
...
This fixes i18n-tasks not being able to recognize the scopes.
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
1eefc151bc
i18n: move locale scope just after the key name
...
It helps i18n-tasks to understand the scope, and not report errors
about a missing key.
2021-09-16 07:51:56 -05:00
Pierre de La Morinerie
95d1cd6992
i18n: cleanup gender locales
...
The dot in the localized key messes up with i18n-tasks, and causes
false positives for missing strings.
2021-09-16 07:51:56 -05:00
simon lehericey
1d06c15ac0
save api particulier scopes
2021-09-16 09:49:16 +02:00
simon lehericey
6c6205e188
a cloned procedure to a different admin does not keep api_particulier token and scopes
2021-09-16 09:30:11 +02:00
simon lehericey
2d2ae3a878
add api particulier scopes to procedure
2021-09-16 09:30:11 +02:00
simon lehericey
7ee360df30
add logic to detect empty scopes
2021-09-16 09:09:34 +02:00
Pierre de La Morinerie
745e19bb8e
localize
2021-09-16 09:07:47 +02:00
simon lehericey
69bb174e29
add feature flipped link to add api particulier token
...
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:56:42 +02:00
simon lehericey
ee6d19e3ee
an admin can save it's api particulier token
...
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:56:42 +02:00
simon lehericey
4c0dd43055
add jetons particulier index page
...
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:37:04 +02:00
simon lehericey
87cb16093f
fetch token introspection
...
Co-authored-by: François VANTOMME <akarzim@gmail.com>
2021-09-15 14:37:04 +02:00
Peng-Fei DONG
1979c44f9c
set OTP: Enable or Disable
2021-09-09 10:25:15 -05:00
Pierre de La Morinerie
4a71b1d202
app: remove former password complexity views
...
The old component is now unused and ca be removed.
2021-09-09 09:40:40 -05:00
Pierre de La Morinerie
e5f449b595
devise: unify password reset views
...
By default, Devise will look for views:
1. First in `views/resource/passwords/…`,
2. Then in `views/devise/passwords/…` if not found.
By moving the views to `views/devise`, we avoid having a partial in
`views/shared` that we need to include manually, and instead let Devise
do the job automatically.
2021-09-09 09:40:40 -05:00
Pierre de La Morinerie
80f9d4adc0
devise: use password_strength component in SuperAdmin::PasswordsController
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
62e4f7ee32
devise: use password_complexity in User::PasswordsController
...
This fixes the password strength meter no longer being displayed when
an admin changes their password.
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
ed8b19d2eb
app: use password_complexity in Administrateurs::ActivateController
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
428ca8755f
app: add a password_complexity component
...
This component will replace the previous `password_field` component.
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
e97b7164dd
models: extract password complexity to a concern
2021-09-09 09:40:39 -05:00
Pierre de La Morinerie
02bdfef893
devise: cleanup Users::PasswordController
2021-09-09 08:03:34 -05:00
Paul Chavard
3235f42a63
feat(dossier): add dossier transfers UI
2021-09-08 15:10:43 +02:00
Paul Chavard
5985755229
feat(dossier): add purge stale dossier transfers job
2021-09-08 14:39:46 +02:00
Paul Chavard
46226b7930
fix(i18n): use size instead of count in dossier mailers
2021-09-08 14:39:46 +02:00
Paul Chavard
d6cbdf2a48
feat(dossier): add dossier transfer models
2021-09-08 14:39:46 +02:00
Paul Chavard
44eb0ada4f
fix(i18n): add Kosovo to countries list
...
Kosovo is not part of ISO 3166 as of time of writing. https://en.wikipedia.org/wiki/ISO_3166-2:RS#cite_ref-1
2021-09-08 12:11:25 +02:00
Paul Chavard
a7ec43a21e
fix(i18n): fix email previews
2021-09-08 09:21:19 +02:00
Paul Chavard
ef12ded3ed
i18n: fix localization of notify_revert_to_instruction email
2021-09-08 09:21:19 +02:00
Paul Chavard
c8d8976a7c
i18n: fix localization of notify_new_answer email
2021-09-08 09:21:19 +02:00
Pierre de La Morinerie
f8d7b7b1e3
i18n: fix localization of notify_new_draft email
2021-09-08 09:21:19 +02:00
Pierre de La Morinerie
4f33a7b72e
js: improve auto-save-controller documentation
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
ad8dcc7f7d
js: don't report autosave failures that are timeouts
...
This prevents spamming Sentry with "[Autosave] Error: 0" messages.
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
8dce7d59ed
js: redirect to sign-in when a ujs link_to receives a 401
...
Before, when a 401 was received by a ujs-enabled link (like `link_to …,
method: :delete, data: { remote: true }`, rails-ujs tried to insert the
response text as a Javascript script.
As the script was something like `Please sign-in`, which is not valid
Javascript, the browser would throw an "Unexpected token" error.
The typical use-case is:
1. The user open a form in a tab,
2. The user disconnects in another tab,
3. In the first tab, the user clicks on a remote "Delete" link_to
In that case the browser raised an error in the console (and in Sentry),
but the user would see nothing.
With this commit, all 401 ujs errors are turned into redirects to the
sign-in page.
Fix https://sentry.io/organizations/demarches-simplifiees/issues/2522512693/activity/
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
255c00c174
js: ignore a new variant of the same warning
2021-09-07 16:45:52 -05:00
Pierre de La Morinerie
905fca0bd3
models: ensure Champs::Pays#to_s is always a string
...
Before this, the result of `Champs::Pays#to_s` could be `nil`, which
would break various things (like the PDF rendering of these champs).
2021-09-07 10:47:18 -05:00
Paul Chavard
74e277d0a2
feat(graphql): add an option to dossier state change mutations to disable notifications
2021-09-07 14:21:48 +02:00
Paul Chavard
96cbbc0192
fix(virus scan): prevent virus scan on archives and signatures uploads
2021-09-07 14:21:48 +02:00
Paul Chavard
084e48c8e3
fix(dossier_projection_service): select external_id on champs
2021-09-07 14:07:55 +02:00
simon lehericey
367f508e2e
linked_drop_down_list: empty primary => empty secondary
2021-09-07 10:09:18 +02:00
Paul Chavard
6a5a8233b5
feat(i18n): send dossier emails with its user locale and improuve translations
2021-09-07 09:51:23 +02:00
Paul Chavard
cd9f7df502
feat(i18n): send dossier notifications with its user locale
2021-09-07 09:51:23 +02:00
Paul Chavard
34b1418868
feat(i18n): save locale on user
2021-09-07 09:51:23 +02:00
Paul Chavard
ff7fa4d895
feat(i18n): expose locale on dossier and deleted_dossier
2021-09-07 09:51:23 +02:00
Paul Chavard
f1ff6da81b
feat(i18n): add locale to user
2021-09-07 09:47:01 +02:00
Pierre de La Morinerie
8bb283d977
app: delete old Admin::ProceduresController
2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
a004ac59df
app: move archive to NewAdministrateur::ProceduresController
2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
e7c8a9fff5
app: move clone to NewAdministrateur::ProceduresController
2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
3e83ad454f
app: move new_from_existing to NewAdministrateur::ProceduresController
2021-09-02 14:51:31 -05:00
Pierre de La Morinerie
7729385d89
controllers: remove dead code on Admin::ProceduresController
...
This code has been migrated to NewAdministrateur::ProceduresController.
2021-09-02 14:51:26 -05:00
Pierre de La Morinerie
3fc934c8fb
app: remove leftovers of publish_validate route
...
The correponding code and feature have been removed a while ago.
2021-09-02 14:50:41 -05:00
Pierre de La Morinerie
0f9d7d6b8c
app: remove old Admin::InstructeursController
...
It was only hosting the deprecated "Instructeurs globally attached to
this admin", which wasn't used anywhere in the app anymore.
2021-09-02 14:40:36 -05:00
Jérôme Desboeufs
7079af2fd4
Update photographies-aeriennes basemap URL
2021-09-01 21:58:12 +02:00
Pierre de La Morinerie
7380d27d78
js: fix null xhr in autosave error handling
...
Sentry reports many cases of the xhr object being missing in the
error handler.
Ensure the error handling code doesn't crash because of the missing xhr.
2021-08-31 14:54:02 -05:00
Paul Chavard
5d63ced246
fix(eslint): fix eslint warnings
2021-08-31 18:14:04 +02:00
Paul Chavard
a3cc072bbd
feat(i18n): translate countries selector
2021-08-31 13:15:26 +02:00
Paul Chavard
241f564ecc
refactor(i18n): move signature translation keys to shared
2021-08-26 17:53:59 +02:00
Paul Chavard
c1c45613cc
feat(i18n): translate reexamin and new message emails
2021-08-26 17:53:59 +02:00
Paul Chavard
89d9a4a477
feat(i18n): translate notification emails actions
2021-08-26 17:53:59 +02:00
Paul Chavard
6eb072e69f
feat(i18n): translate email greetings
2021-08-26 17:53:59 +02:00
lydiasan
156b9894fe
ajout des traductions pour la demande de mdp
2021-08-26 17:43:00 +02:00
lydiasan
ff575db4b3
i18n: request new password translation
2021-08-26 14:56:12 +02:00
Paul Chavard
8c6978c0cb
feat(i18n): translate devise related emails
2021-08-26 12:08:40 +02:00
Paul Chavard
8e1bfb469f
fix(dossier): send expiration notifications 2 weeks prior to supression instead of a month
2021-08-26 11:28:57 +02:00
Paul Chavard
1399d9bba9
feat(graphql): expose demarche descriptor on dossier type
...
We don't want to expose full demarche type on dossiers because it would open the door for recursive queries that we want to avoid. DemarcheDescriptorType is a lightweight representation of demarche metadata.
2021-08-25 11:12:24 +02:00
Pierre de La Morinerie
bb15d5fadc
i18n: put french first in the locales list
...
Because French is the reference locale, and we should reflect this to
users.
2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
02a19587b7
i18n: display selected locale as active wit bold text
2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
227b1dc462
i18n: remove language code from the locale dropdown
2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
47e1555dce
i18n: properly translate the locale dropdown title
2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
83b04aca59
i18n: move 'layouts' locales to their proper location
2021-08-24 12:57:51 -05:00
Pierre de La Morinerie
db803c2522
i18n: fix capitalization in the locale dropdown
2021-08-24 12:57:51 -05:00
Paul Chavard
ef16424fa8
fix(i18n): use correct translation namespace
2021-08-24 16:00:57 +02:00
Paul Chavard
3b6528decf
feat(i18n): enable localization by query param
...
Providing a query param ("locale") will enable localization. A language picker will be shown once
localization is activated. Locale is stored in a cookie "locale".
2021-08-24 12:42:40 +02:00
Ismael MOUSSA S. (T0194673)
330333aac4
6407 - Fix flash message typo in new administrateur/groupe instructeurs controller and its related spec
2021-08-20 20:10:44 +02:00
kara Diaby
8788d0e7dd
fix localstorage save message for bulk messages
2021-08-20 15:21:07 +02:00