Martin
2529773515
bug(commencer/test): with procedure without service nor organisation, it crashes
2022-04-28 14:19:55 +02:00
Paul Chavard
90dd5bc9c5
fix(dossiers): dossier extend_conservation actually works
2022-04-08 13:40:28 +02:00
Paul Chavard
54b559364a
feat(dossier): replace discarded with visible_by_administration
2022-03-10 14:29:40 +01:00
Paul Chavard
91caef0bfe
fix(dossier): ensure submitted dossiers always have groupe instructeur
2022-03-02 16:57:12 +00:00
Pierre de La Morinerie
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
Kara Diaby
006eac4240
modify controller
2022-01-12 15:49:37 +01:00
Kara Diaby
37e991ccb8
User : delete the folder if the instructeur has hide it
2021-12-29 17:37:58 +01:00
Martin
d0ab1711ff
fix(profil_controller#update_email): ensure we are not merging same account
...
fix(profil_controller#update_email): changing email from current_user.email to current_user.email destroy current user. whoops ☠️ '
Update config/locales/en.yml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
Update config/locales/fr.yml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
Update spec/controllers/users/profil_controller_spec.rb
Update config/locales/fr.yml
Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>
Update spec/controllers/users/profil_controller_spec.rb
fix(spec): broken due to typo
2021-12-29 13:36:47 +01:00
François Vantomme
14e0c68266
feat(api particulier): add MESRI field
2021-12-16 16:45:18 +01:00
simon lehericey
c7f7855f14
avoid phishing
2021-12-15 13:51:49 +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
2110ef072c
feat(api particulier): add DGFiP field
2021-12-07 11:03:05 +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
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
kara Diaby
eaac293da3
add a new tab traités on user dossiers
2021-11-26 09:45:13 +01:00
Martin
3d1533dee9
feat(users/dossiers?statut=dossiers-expirant): add dossiers-expirant tab
2021-11-19 15:14:39 +01:00
Paul Chavard
ae09b37e72
fix(champs): save departement info on champ commune
2021-11-17 14:52:47 +03:00
Paul Chavard
716a859c93
fix(profile): prevent crashing on renew token action
2021-11-16 20:01:56 +03: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
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
894e8fdd47
move update_email check to before_action
2021-11-04 16:10:09 +01:00
Paul Chavard
8154daf847
refactor(drop_down_list_champ): other option
2021-10-27 12:00:39 +02:00
Paul Chavard
1561ea82f6
fix(transfer): manually nullify staled transfers references
2021-10-21 13:54:26 +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
simon lehericey
87de9e38c6
allow draft to be saved with invalid cnaf champ
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
f662b28baf
update identity_updated_at column when user identity change
2021-10-05 12:05:43 +02:00
simon lehericey
64351d0287
[ Fix #6504 ] Fix exception raised when deleting a transfer
2021-10-01 12:11:03 +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
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
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
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
lydiasan
7de10731a6
i18n: localize dossiers edition
2021-07-20 14:18:20 +02:00
Pierre de La Morinerie
a03d8d0705
controllers: remove useless handle_verified_request
override
...
This is a leftover of 09933454ff
2021-07-20 11:11:52 +02:00
Christophe Robillard
03e98229c9
a user can now see stats for closed procedure
2021-07-07 15:00:38 +02:00
Pierre de La Morinerie
09933454ff
app: improve InvalidAuthenticityToken logging
...
- Log on all controllers
- Improve description of the controller action involved
- Ignore Safari bogus requests
2021-07-06 12:42:01 +02:00
Paul Chavard
280e54b59d
Enable test revisions
2021-07-01 15:59:07 +02:00
Paul Chavard
0ca5e1abe2
Preview should reflect revision changes
2021-06-24 11:39:49 +02:00
Christophe Robillard
45ffae9eb3
affiche evolution temps de traitement
2021-06-17 16:31:53 +02:00
kara Diaby
b3c5fcb4c5
fix procedure not found
2021-06-08 17:55:38 +02:00
kara Diaby
6ed339e7aa
modify controllers
2021-06-04 15:29:08 +02:00
Paul Chavard
9b0dae4cc2
Fix apostrophes ‘ -> ’
2021-05-26 18:05:14 +02:00
Paul Chavard
8a74438dc1
Use conservation_extension instead of en_construction_conservation_extension
2021-05-11 17:33:53 +02:00
Paul Chavard
1e0d6ea28f
Rename en_construction_conservation_extension to conservation_extension
2021-05-11 14:08:51 +02:00
Paul Chavard
bcbfcdc537
Revert "Merge pull request #6142 from tchak/enable_brouillon_extend_conservation"
...
This reverts commit 48eb4d9778
, reversing
changes made to 5539d5cb8c
.
# Conflicts:
# app/models/dossier.rb
# db/schema.rb
2021-05-04 16:03:29 +02:00
Paul Chavard
f6508899de
Refactor NotificationMailer
2021-05-04 12:05:06 +02:00
Paul Chavard
b2a867266a
Allow users to extend conservation on drafts
2021-04-29 19:50:30 +02:00
Pierre de La Morinerie
51d6faabee
controllers: log invalid tokens in Users::SessionsController
...
This is an attempt to understand why we have so many of these
errors in production.
2021-04-22 19:23:47 +02:00
Paul Chavard
2a068fb9b0
Remove user feedback buttons
2021-04-22 15:40:40 +01:00
Pierre de La Morinerie
d530b272a1
password: add specific page for reset instructions
2021-04-22 14:24:15 +02:00
Pierre de La Morinerie
3499f5af9a
models: remove invalid Dossier ↔︎ Champ inverse relationship
...
`Dossier.champs` is not really an inverse of `Champs.dossier`: when a
Champ record is created, it should not always be added to dossier.champs
(for instance if the champ is private).
NB: this breaks the workaround we added in #3907 to fix the parent
dossier not being touched in some cases (the workaround was to add an
inverse relationship, but we now have to remove it).
The new workaround is to watch for `changed_for_autosave?` on champs.
Unlike `changed?`, `changed_for_autosave?` also detects changes to
attachments. This allows us to touch both `last_champ_updated_at` and
`updated_at` in a single pass.
2021-04-06 10:26:17 +02:00
Pierre de La Morinerie
fc4d8362dc
models: fix typo in comments
2021-04-06 10:26:17 +02:00
Pierre de La Morinerie
3f3d6ae399
controllers: use template:
rather than file:
to render PDFs
...
ActionView now throws an error if a relative path is used with `file:`.
2021-03-25 13:24:53 +01:00
Paul Chavard
70500e3d56
Groupe instructeur selector default blank
2021-03-09 14:47:23 +01:00
Pierre de La Morinerie
150ddab660
zeitwerk: Api -> API
2021-02-09 13:07:30 +01:00
Paul Chavard
1b5aef10f2
Stop crashing when removed repetition row is submitted
2021-01-27 17:33:55 +01:00
Paul Chavard
9f691dce4c
Set external_id from combo search inputs
2021-01-15 11:50:02 +01:00
simon lehericey
d760402393
fix typo
2020-12-16 15:00:26 +01:00
kara Diaby
c7643154d1
final optims after sim review
2020-12-16 15:00:26 +01:00
kara Diaby
f3c4040d2d
add grace period to deleted dossiers
2020-12-16 15:00:26 +01:00
simon lehericey
d2f3bb18f9
instructeur can delete a dossier UI
2020-12-16 15:00:26 +01:00
kara Diaby
00b5ad7a10
EQT instructeur, je peux supprimer un dossier terminé
2020-12-16 15:00:26 +01:00
simon lehericey
b187244a29
extract and refactor api errors
2020-12-04 17:07:30 +01:00
simon lehericey
f56235c7ee
retry exponentially on api entreprise timeout
2020-12-03 11:52:01 +01:00
simon lehericey
9eab310565
[ #5675 ] for all api entreprise job, retry on 502, 503
2020-12-02 18:25:31 +01:00
Paul Chavard
ec72fdd164
Remove migration service
2020-09-02 11:26:26 +02:00
Pierre de La Morinerie
96037069ff
autosave: remove the repetition row after deletion
...
Before, when autosaving a draft, removing a repetition row would
send `_destroy` inputs to the controller – but not remove the row
from the DOM. This led to the `_destroy` inputs being sent again
on the next autosave request, which made the controller raise
(because the row fields were already deleted before).
To fix this, we let the controller response remove the deleted
row(s) from the DOM.
Doing it using a controller response avoids the need to keep track
of operations on the Javascript side: the controller can easily
know which row was just deleted, and emit the relevant changes for
the DOM. This keeps the autosave requests robust: even if a request
is skipped (e.g. because of a network interruption), the next request
will still contain the relevant informations to succeed, and not let the
form in an unstable state.
Fix #5470
2020-08-25 14:39:34 +02:00
clemkeirua
c772c3454c
update dossier after saving champ
...
update last_champ_updated_at without hook
update last_champ_private_updated_at without hook
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-07-30 10:18:44 +02:00
clemkeirua
f3a675c3bc
update dossier after saving commentaire
...
update last_commentaire_updated_at without hook
Co-authored-by: Christophe Robillard <christophe.robillard@beta.gouv.fr>
2020-07-30 10:18:44 +02:00
Paul Chavard
d18a9c8162
Migrate procedures “on demand”
2020-07-21 19:35:30 +02:00
Christophe Robillard
f631acd118
update state date in aasm after callbacks
...
call aasm event methods, not state methods directly
2020-07-08 18:15:15 +02:00
Christophe Robillard
eebfb5ee5b
update dossiers_controller when updating siret
...
now, `ApiEntrepriseService` does'nt return a hash anymore but an
etablissement which is already persisted.
2020-05-20 11:09:54 +02:00
Christophe Robillard
3ddb5a4cb4
store attestation fiscale and display
2020-04-30 11:39:54 +02:00
Christophe Robillard
158b4802ab
store attestation sociale and display
2020-04-29 16:25:47 +02:00
Christophe Robillard
339066778d
send notif only to the right instructeurs
...
after a dossier creation, only the instructeurs that belong to the group
instructeur of the dossier, and who want notif will be notified by mail
2020-04-23 13:01:57 +02:00
Christophe Robillard
f683b850c3
Notifie instructeurs le souhaitant lors depot dossier
...
Notifie par mail uniquement les instructeurs qui le souhaitent à chaque dépôt de dossier
2020-04-09 15:02:05 +02:00
Christophe Robillard
ae18ff6627
Notifie tous les instructeurs lors dépôt dossier
...
- envoie un mail à tous les instructeurs d'une procédure après le dépôt
d'un nouveau dossier
2020-04-09 14:33:56 +02:00
Christophe Robillard
969478b706
Envoie une notif aux followers_instructeurs le souhaitant
...
après chaque message déposé par l'usager
2020-04-09 14:17:07 +02:00
Christophe Robillard
415d5c765e
envoie une notification à chaque follower_instructeur après un commentaire déposé
2020-04-09 14:17:07 +02:00
clemkeirua
76139dbc71
recherche usager full-text avec plusieurs resultats
2020-04-09 09:42:31 +02:00
clemkeirua
98337f2334
recherche usager full-text avec 1 resultat
2020-04-09 09:42:31 +02:00
clemkeirua
34188c432c
refactor _new_header so that user and instructeur search share similar signature
2020-04-09 09:42:31 +02:00
Paul Chavard
c707a21f97
Rename delete_and_keep_track -> discard_and_keep_track
2020-03-26 14:23:23 +01:00
clemkeirua
5896aedeeb
added extension bouton to en_construction dossiers bound to expire
2020-03-24 18:10:51 +01:00
Paul Chavard
5c2eba1dd1
Always add a reason to dossier deletion
2020-03-24 09:30:11 +01:00
Christophe Robillard
775cc11d30
include store_location_extension for all controllers
2020-03-20 10:41:36 +01:00
clemkeirua
debc6628d8
generation d'un fichier pdf bien nommé
...
La route ne contient pas '.pdf' dans l'url, mais le controller génère un fichier pdf du nom de la procédure et lance le téléchargement immédiatement
2020-03-17 15:00:03 +01:00
clemkeirua
269881db12
generation d'un pdf vide à partir d'une procedure
2020-03-17 15:00:01 +01:00
Paul Chavard
c281347da1
Remove restclient
2020-03-17 11:12:14 +01:00
Paul Chavard
c46e012c10
Use dossier.assign_to_groupe_instructeur
2020-03-03 10:30:49 +01:00
Pierre de La Morinerie
6664965961
mailers: add procedure context to the confirmation link
...
This allows to redirect the user to the procedure they signed up for
even when the browser session is not available (like if they changed
of browser).
Fix #4738
2020-02-25 11:45:36 +00:00
Pierre de La Morinerie
e746d90016
mailers: add a link to the procedure when the account already exists
2020-02-12 13:24:52 +00:00
Christophe Robillard
055918aabc
admin: replace calls to Administrateur.find_by(email: ...)
2020-02-04 16:21:42 +01:00
clemkeirua
1c3573c7db
fix DoubleRender error for brouillon pdf
2020-01-29 14:24:23 +01:00
clemkeirua
bc506bf693
ajout d'un lien d'export pdf usager
2020-01-14 09:29:29 +01:00
Paul Chavard
785a09b326
Use service_url instead of blob_url on secure attachments
2020-01-08 14:43:05 +01:00
Pierre de La Morinerie
b3558c497d
dossiers: make build_default_individual
explicit
...
It avoid the use of callbacks, and may avoid situations where an empty
individual is implicitely created.
2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
5e05556ee8
dossiers: add a validation on dossier individual
...
Validate that a dossier on a `for_individual?` procedure always has
an `individual` associated record.
For this, the individual needs to be built before the record is
validated (i.e. even before the `before_create` callback is run).
This should help with #4596 : now if a dossier is created without an
`individual`, or if the `invividual` record is later removed, the
validation will fail.
2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
e32a42cfe6
dossiers: split the dossier creation on several lines
2020-01-08 10:48:22 +01:00
Pierre de La Morinerie
5b2311c851
dossiers: rescue RecordNotFound only for procedures
...
This ensures that we won't rescue an `ActiveRecord::RecordNotFound`
exception related to another object.
2020-01-08 10:48:21 +01:00
simon lehericey
058442c84e
[link to #4557 ] An instructeur cannot change its email on its own
2019-12-11 17:18:21 +01:00
simon lehericey
21910c959e
@current_user -> current_user
2019-12-11 17:18:21 +01:00
Paul Chavard
7b947feae4
Rename demarche archivée to demarche close
2019-11-28 15:07:16 +01:00
Pierre de La Morinerie
f58f9f9950
dossiers: render a valid response after an autosave
...
This helps Firefox DevTools to mark the request as valid and completed
successfuly.
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
5f9a9d059e
dossiers: render JSON if needed
...
When receiving a request that expects JSON, return a simple '200'.
This avoids the unecessary work of rendering all the HTML page (which
ultimately will not be used).
2019-11-20 11:30:27 +01:00
Pierre de La Morinerie
8b8a96abda
dossiers: save draft by default (instead of submitting)
...
Make the default behavior of `update_brouillon` be to update the draft,
instead of submitting the dossier.
This makes all requests made to `update_brouillon` without specifying
an extra `submit_draft` parameter to just save the draft. It will make
autosaving the draft easier and safer.
2019-11-20 11:24:31 +01:00
Paul Chavard
f5c80f211d
Guard for missing attestation on dossier
2019-11-06 12:54:07 +01:00
Pierre de La Morinerie
cd478b489e
instructeurs: replace calls to Instructeur.find_by(email: …)
2019-11-04 10:44:23 +01:00
simon lehericey
b7434c3132
User can choose its gi
2019-10-17 15:48:14 +02:00
Paul Chavard
8fcf1353f3
Remove duplicated attachments
2019-09-17 18:12:53 +02:00
Nicolas Bouilleaud
99f986b815
Cleanup Procedure retrieval in “Commencer”
...
Make sure to only fetch active (brouillons or published) procedures.
2019-09-17 16:30:48 +02:00
Paul Chavard
3b8d3b7967
Add Style/CollectionMethods to rubocop
2019-09-12 14:48:18 +02:00
Paul Chavard
347f03d2a9
Redirect to pdf attachement old name if not attached
2019-09-10 15:06:47 +02:00
simon lehericey
4da12ed3e8
User/DossierController: dossier are linked to default group by default
2019-09-03 06:47:02 +02:00
benjaminhenkel
73d643d1be
Update flash message for test demarche
2019-08-28 14:54:17 +02:00
Paul Chavard
32563c3675
Redirect to active_storage files when available
2019-08-27 17:43:33 +02:00
simon lehericey
7b9b90a3e0
[ fix #4238 ] When the token does not exist, redirect to home page without sending a new link
2019-08-27 15:01:46 +02:00
simon lehericey
80cb8b87fe
Keep only the FC logic and use devise for the rest
2019-08-16 16:48:22 +02:00
simon lehericey
9c715b2969
SessionController: new User in view
2019-08-16 16:48:22 +02:00
simon lehericey
27085af9b5
SessionController: remove remember_me
...
It is somehow taken care by warden
2019-08-16 16:48:22 +02:00
simon lehericey
002510d5cb
SessionController: remove complicated try_to_authenticate
2019-08-16 16:48:22 +02:00
simon lehericey
67cc2c1a87
SessionController: remove instructeur_signed_in?
2019-08-16 16:48:22 +02:00
simon lehericey
a3b9bf90d4
SessionController: remove useless code
...
- the redirection of a locked user is made by the sign_in method
- because of the paranoid mode it displays the devise.failure.invalid error message
2019-08-16 16:48:22 +02:00
simon lehericey
1b14d85c77
Rerender if wrong credentials
2019-08-16 16:48:22 +02:00
simon lehericey
dab1519b8c
Remove credenticals synchronisation logic
2019-08-16 11:35:19 +02:00
simon lehericey
58ecf18390
ActivateController: add tests and clean a bit
2019-08-16 11:22:36 +02:00
simon lehericey
972b6793f7
Remove useless sessions_controller
2019-08-14 18:04:26 +02:00
simon lehericey
149b0b5797
Fix Sign out
2019-08-14 16:58:50 +02:00
simon lehericey
c380d807ab
Spec: sign_in with administrateur.user
2019-08-14 15:08:14 +02:00
simon lehericey
840be2408e
Remove administrateur devise methods
2019-08-14 15:06:15 +02:00
simon lehericey
5fdac38cb2
Fix instructeur invitation
2019-08-13 15:15:16 +02:00
simon lehericey
ad31822a68
Spec: sign_in with instructeur.user
2019-08-13 15:15:16 +02:00
simon lehericey
47b7dc368b
Remove or fix now nonsense code
2019-08-13 15:15:16 +02:00
simon lehericey
3fde2a6f70
Rename gestionnaire in code to instructeur
2019-08-12 13:47:01 +02:00
clemkeirua
707e8a0004
dossier_controller#new uses info from FC if any
2019-08-01 17:42:32 +02:00
maatinito
8d3e3baabc
#3928 administrator new & edit pwd pages
2019-08-01 17:12:14 +02:00
maatinito
220b38ad2a
#3928 different pwd edit page for administrators
2019-08-01 17:12:14 +02:00
Pierre de La Morinerie
5502f2e42e
dossier: remove UI for uploading old pieces justificatives
2019-07-30 16:11:16 +02:00
pedong
9438f962c5
add alert for account is locked
2019-07-29 17:48:44 +02:00
pedong
0ed9c4cbd4
add check access_locked? when login
2019-07-29 17:48:44 +02:00
Pierre de La Morinerie
a8354bd103
dossiers: unify deletion of dossiers between manager and user
...
The code paths for deleting a dossier were different, depending on
whether the dossier was deleted by the user, or from the Manager.
This commit unifies the two code paths into one.
This has the effect of:
- An operation log is now recorded when an user deletes its own dossier;
- Gestionnaires are now notified even when the dossier is deleted from
the Manager;
- The `support:delete_user_account` task now requires the email address
of the author.
2019-07-16 16:22:20 +02:00
Paul Chavard
3cb39c2840
Refactor message attachements to use active_storage
2019-07-10 15:35:29 +02:00
Pierre de La Morinerie
03fc555edf
profile: send an email when the account is already taken
2019-07-10 11:31:09 +02:00
simon lehericey
d36f6ebcd7
[ fix #1709 ] A user can change its email
2019-07-09 11:55:17 +02:00
simon lehericey
d68d2be798
Profil: accessible to all roles
2019-07-09 11:55:17 +02:00