Commit graph

495 commits

Author SHA1 Message Date
Colin Darie
ba076357c5
feat(dossier): submit en construction resolve automatically correction except for sva 2023-11-22 12:35:42 +01:00
Martin
14b2fc30b2 tech(user.expiration): ne perds pas de vue qu'il faut mettre a jour le users.last_sign_in_at 2023-11-17 11:33:14 +01:00
Paul Chavard
d93c624164 feat(traitement): add browser information 2023-11-08 00:09:38 +01:00
Paul Chavard
869d83dda9 feat(dossier): validate on change and revalidate on input 2023-10-31 17:52:00 +00:00
mfo
e1fe1188de
Merge pull request #9491 from mfo/US/better-error-summary
amelioration(usagers.dossiers.erreurs): ETQ usager, lorsque je soumets un dossier avec des erreurs, le format des erreurs est au format du DSFR
2023-09-28 17:01:09 +00:00
Martin
d8220395c8 amelioration(usagers.dossiers.erreurs): ETQ usager, lorsque je soumets un dossier avec des erreurs, le format des erreurs est au format du DSFR
Update app/components/dossiers/errors_full_messages.rb
Update app/components/dossiers/errors_full_messages/errors_full_messages.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>
2023-09-28 17:50:47 +02:00
Colin Darie
75bf30bed2
feat(champ-numbers): format value in input to a backend compatible value 2023-09-28 15:26:35 +02:00
simon lehericey
d319385d17 Add tests for prefill identity 2023-09-07 10:17:19 +02:00
Christian Lautier
db278e83ed add a constant for the most used test password 2023-08-31 13:40:05 +02:00
Martin
4974962abd amelioration(instructeur.connexion): ETQ instructeur, je peux redemander un lien de connexion securisé 2023-08-30 13:40:51 +02:00
Christophe Robillard
20d0585e31 rend plus actionnable message d'erreur 2023-07-19 18:16:04 +02:00
Colin Darie
30df476791
fix(sva): ensure "en construction" + "en instruction" notifications when submitting at submission
Pour le moment on conserve les 2 emails car l'email en construction
contient des informations spécifiques :
- l'attestation de dépôt
- potentiellement un contenu spécifique car il provient d'un template

Même remarque pour les démarches déclaratives.
2023-07-11 10:01:47 +02:00
Colin Darie
afe373c6b4
feat(sva): transition to en_instruction when (re-)submitting a dossier 2023-07-11 10:01:46 +02:00
Eric Leroy-Terquem
97949fc168 fix(typo) adresse électronique 2023-06-28 10:24:37 +02:00
Paul Chavard
c1afc985e4 fix(prefill): allow private annotations prefill 2023-06-15 10:07:25 +01:00
Paul Chavard
b3aeb46c1b fix(prefill): it should be possible to prefill a dossier on a test procedure 2023-06-14 09:14:12 +01:00
Eric Leroy-Terquem
0164b5f008 fix tests after typos corrections 2023-06-12 15:13:25 +02:00
simon lehericey
44859b8217 fix(user dossiers index): do not crash with a deleted dossier and a discarded procedure 2023-06-12 13:57:28 +02:00
Colin Darie
a32014d4fd
feat(correction): user can mark dossier en_construction as resolved 2023-06-02 16:16:14 +02:00
Martin
c90175f121 tech(api-entreprise.etablissement): passage du endpoint ETABLISSEMENT_RESOURCE_NAME en v3 2023-06-01 09:06:36 +02:00
Eric Leroy-Terquem
6e88c49470 remove old logic test 2023-05-31 11:38:16 +02:00
Christophe Robillard
ba281d53cf migrate entreprise adapter to v3 2023-05-26 13:37:20 +02:00
Martin
af19bbe8f5 correctif(users/dossiers/brouillon#submit): ETQ usager, je souhaite que chaque lien pointant vers une erreur de champ m'oriente sur le champ 2023-05-20 08:27:55 +02:00
Colin Darie
059dabb5ac fix(fork): don't fail when user submit twice en_construction (from 2 tabs) 2023-05-15 13:08:42 +02:00
Colin Darie
b626714610
fix(dossier): submit en_construction render views in error with dossier origin 2023-05-09 18:49:53 +02:00
Paul Chavard
08a2a2c9aa
feat(dossier): fork dossier when editing en construction 2023-05-09 17:16:47 +02:00
mfo
2374ced5d2
Merge pull request #8987 from mfo/US/link-to-errored-champs
amelioration(dossier#submit_brouillon): ETQ usager, je souhaite pouvoir acceder aux champs en erreur facilement
2023-05-09 07:06:36 +00:00
Colin Darie
61ebb27e86
fix(redirect): allow other hosts when required 2023-05-03 11:35:31 +02:00
Martin
c8ab1e8e03 amelioration(dossier#submit_brouillon): ETQ usager, je souhaite pouvoir acceder aux champs en erreur facilement 2023-05-03 07:36:42 +02:00
Paul Chavard
99abdf45e7 fix(api-entreprise): use new status endpoint 2023-04-27 22:39:44 +02:00
Paul Chavard
cb752d1857 fix(dossier): do not bypass depositaire check on modifier path 2023-04-27 09:52:10 +02:00
Lisa Durand
c565ed415b change scope and alert location after UI modification 2023-04-18 12:03:10 +02:00
Lisa Durand
bc3e67ab94 add alert on user dashboard to edit last editable dossier 2023-04-11 15:50:17 +02:00
Paul Chavard
0864666d0a fix(dossier): an invited user can remove (leave) a dossier 2023-04-03 20:10:44 +02:00
Lisa Durand
6ba47b731b refacto destroy action and add spec for unauthorized user 2023-03-09 14:58:47 +01:00
Lisa Durand
3d5bf40c0f allow transfer sender to revoke a transfer 2023-03-09 14:57:59 +01:00
Damien Le Thiec
8a7cb3f1fe
Merge branch 'main' into fix/stored_query_issue 2023-03-01 10:22:40 +01:00
Damien Le Thiec
01f142183e Add and correct tests 2023-03-01 10:21:22 +01:00
Christian Lautier
704dbf94db Fix dossier controller spec 2023-02-25 08:32:21 -10:00
sebastiencarceles
becf4da70a fix raison social fetch 2023-02-27 13:54:35 +01:00
Damien Le Thiec
fbe4fe251a Fix format prefill repetition 2023-02-22 19:32:25 +01:00
Damien Le Thiec
deb51e3880 Manage GET prefill by creating a dossier 2023-02-20 15:35:14 +01:00
Eric Leroy-Terquem
ff5fecef25 fix(dossiers_transfers): can destroy dossiers_transfers 2023-02-03 13:48:39 +01:00
Martin
88553eec9b correctif(dossier_transfer): le transfer de dossier vers un email contenant des majuscule ne fonctionnait pas 2023-01-31 14:52:57 +01:00
Martin
a4d6692bc6 accessibilite(pages-authentification): evolutions des pages de connexion/creation de compte pour respecter le DSFR et supporter une meilleure accessibilite
Update app/components/dsfr/input_component/input_component.html.haml

Co-authored-by: Colin Darie <colin@darie.eu>
2023-01-03 16:26:05 +01:00
Sébastien Carceles
20136b7ac8
feat(demarche): create and prefill a dossier with POST request (#8233)
* add base controller for public api

* add dossiers controller with basic checks

* create the dossier

* ensure content-type is json

* prefill dossier with given values

* mark a dossier as prefilled

When a dossier is prefilled, it's allowed not to have a user.

Plus, we add a secure token to the dossier, which we will need later to set a
user after sign in / sign up.

* set user as owner of an orphan prefilled dossier

When a visitor comes from the dossier_url answered by the public api,
the dossier is orphan:
- when the user is already authenticated: they become the owner
- when the user is not authenticated: they can sign in / sign up / france_connect
and then they become the owner

So here is the procedure:
- allow to sign in / sign up / france connect when user is unauthenticated
- set dossier ownership when the dossier is orphan
- check dossier ownership when the dossier is not
- redirect to brouillon path when user is signed in and owner

* mark the dossier as prefilled when it's prefilled
(even with a GET request, because it will be useful later on, for
exmample in order to cleanup the unused prefilled dossiers)

* system spec: prefilling dossier with post request
2023-01-03 14:46:10 +01:00
Sébastien Carceles
b8ff0ba4a2
feat(demarche): sign up when prefilling a dossier (#8247)
* store prefill params in session

Instead of using query params on /dossier/new, we assume the user comes
from /commencer/:path, which is the new prefill link.

There, we store the prefill params in session, and use them to prefill
the dossier when creating it, in /dossiers/new.

* spec: cover the case

* review: serialize with json instead of yaml

* review: rename method

* review: store only query params

* review: comment why we dont override already stored params
2022-12-15 10:58:17 +01:00
Paul Chavard
1b95809f14 refactor(dossier): flatten champ attributes 2022-12-14 13:03:06 +01:00
sebastiencarceles
cdd790e3d3 review: document prefilling with json or array injection 2022-12-08 15:27:39 +01:00
sebastiencarceles
bf03e3b35a review: prefix typed ids with 'champ_' 2022-12-08 15:27:39 +01:00
sebastiencarceles
1e21a3d3e1 review: query the db only once 2022-12-08 15:27:39 +01:00
sebastiencarceles
24802985a2 feat(dossier): prefill dossier from query params 2022-12-08 15:27:39 +01:00
Paul Chavard
3c21090a88 feat(api_token): add profile api token card 2022-12-07 18:19:37 +01:00
Paul Chavard
886a409abf fix(dossier): fix links to empty pdf templates 2022-12-01 17:35:01 +01:00
Martin
05dcf5e7cf amelioration(usager.liste_des_dossier): ajout du bouton pour cloner un dossier 2022-11-14 09:13:54 +01:00
Paul Chavard
e6288c39f2 refactor(dossier): champs -> champs_public 2022-11-10 22:44:39 +00:00
simon lehericey
db3ebfa6d2 feat(FranceConnect): list and allow to unlink FC identities 2022-11-08 16:17:06 +01:00
Paul Chavard
d409b6f4ef feat(dossier): do not save dossier on submit 2022-10-13 14:44:46 +02:00
Colin Darie
95a4e8a907
feat(api_entreprise): create etablissement with fallback when API is down
On créé l'établissement uniquement avec le SIRET, sans que ce soit bloquant
pour compléter le dossier. On demande à l'utilisateur de vérifier
lui-même la concordance du SIRET avec son entreprise.

Cf #7766
2022-09-16 10:43:59 +02:00
Colin Darie
c4f6305b3a fix(dossiers/api_down): specific error when API Entreprise is globally down. 2022-09-15 18:53:41 +02:00
Paul Chavard
d6f5be622c feat(dossier): autosave en construction 2022-09-08 11:26:29 +02:00
Christophe Robillard
e087582f57 Can get dossier vide if procedure is closed 2022-08-05 16:00:08 +02:00
Colin Darie
d53aba4d24 fix(dossier_transfer): require a valid email
Cf #7621
2022-08-03 11:44:54 +02:00
Colin Darie
a5d5f4307f fix(dossier_transfer): avoid all transfers without valid email
Cf #7621
2022-08-03 11:44:54 +02:00
Martin
7f1018c5b0 feat(Users::CommencerController#commencer): ensure to redirect to replaced_by_procedure when it exisits 2022-08-02 13:08:36 +02:00
Colin Darie
d3232a28cd chore(api_entreprise): intercept token expiration for a more contextual frontend message
Auparavant le service échouait silencieusement et ne retournait rien,
ce qui dans les implémentations du front aboutissait au message que
l'établissement/l'entreprise n'a pas été trouvé.

Un type d'erreur spécifique sur l'expiration du token permet d'afficher
le message lié à un problème temporaire de récupération d'infos.
2022-07-18 09:57:19 +02:00
Paul Chavard
350ed3a11a feat(graphql): expose revision on demarche descriptor type 2022-06-17 12:33:35 +02:00
Martin
da57a1dc9e fix(commencer#commencer): broken due to missing interpolated variable in i18n 2022-05-13 13:15:31 +02:00
Martin
0826baeba3 bug(commencer#commencer): raise when procedure does not have a service
fix(commencer#commencer): use alternate message when procedure does not have a service
2022-05-12 16:41:11 +02:00
Pierre de La Morinerie
9bc5364ca2 app: add controller and view to generate a deposit receipt 2022-05-04 16:09:52 +02:00
Martin
2529773515 bug(commencer/test): with procedure without service nor organisation, it crashes 2022-04-28 14:19:55 +02:00
Martin
418d4ede17 test(commencer): test dossier_vide_pdf and dossier_vide_pdf_test 2022-04-25 15:00:48 +02:00
simon lehericey
7ecf20ce75 harden email validation 2022-03-24 13:00:54 +01:00
Paul Chavard
51d7fd6190 test(dossier): update spec to use 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
Kara Diaby
24ff41d2c0 tests 2022-02-09 14:43:36 +01:00
Kara Diaby
c9f402aa5b tests 2022-01-25 11:46:05 +01:00
Kara Diaby
bdcb0ca0e9 tests 2022-01-12 15:49:38 +01:00
Kara Diaby
1ca553e088 rename hidden_by_instructeur by hidden_by_administration 2022-01-03 11:51:25 +01:00
Kara Diaby
598cb09c6d tests 2021-12-29 17:37:58 +01:00
Martin
d0ab1711ff fix(profil_controller#update_email): ensure we are not merging same account
fix(profil_controller#update_email): changing email from current_user.email to current_user.email destroy current user. whoops ☠️'

Update config/locales/en.yml

Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>

Update config/locales/fr.yml

Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>

Update spec/controllers/users/profil_controller_spec.rb

Update config/locales/fr.yml

Co-authored-by: Pierre de La Morinerie <pierre.de_la_morinerie@beta.gouv.fr>

Update spec/controllers/users/profil_controller_spec.rb

fix(spec): broken due to typo
2021-12-29 13:36:47 +01:00
simon lehericey
c7f7855f14 avoid phishing 2021-12-15 13:51:49 +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
Kara Diaby
c75a9b6271 tests 2021-11-29 14:30:17 +01:00
kara Diaby
06540c1b93 tests 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
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
Pierre de La Morinerie
b06183d7bf specs: rename Dossier's with_all_champs to with_populated_champs
This better reflects what the trait is used for, and disambiguate it
from the similarly named trait in the Procedure factory.
2021-11-03 19:38:01 +01: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
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
0cd9bcb1ab fix #6495 2021-09-28 15:53:18 +02:00
simon lehericey
a7ec77f0a8 do not display the action for instructeur 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
280e54b59d Enable test revisions 2021-07-01 15:59:07 +02:00
Paul Chavard
9b0dae4cc2 Fix apostrophes ‘ -> ’ 2021-05-26 18:05:14 +02:00
Paul Chavard
f6508899de Refactor NotificationMailer 2021-05-04 12:05:06 +02:00