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
Pierre de La Morinerie
d530b272a1
password: add specific page for reset instructions
2021-04-22 14:24:15 +02:00
Pierre de La Morinerie
6eadcf614d
spec: improve the dossier_controller timestamp specs
...
Make the specs clearer, and better test the various timestamps.
2021-04-06 10:26:17 +02:00
Paul Chavard
00d7c3186a
fix indentation
2021-03-09 14:47:23 +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
kara Diaby
f3c4040d2d
add grace period to deleted dossiers
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
kara Diaby
f748ccfc9e
Appelle l'API entreprise avec le token en Header
2020-12-10 17:49:49 +01:00
clemkeirua
f96377d878
refactor Dossier#with_notifications
2020-09-21 08:28:42 +00:00
clemkeirua
d01a53eb72
remove :cached_notifications gate
2020-09-21 08:28:42 +00:00
clemkeirua
a62907f33b
add more tests for phone numbers
2020-09-09 09:00:03 +02:00
clemkeirua
b7b61e79ab
test fonctionnel notification champ
2020-09-08 15:40:42 +00:00
clemkeirua
1fafcad401
test fonctionnel notifications commentaire
2020-09-08 15:40:42 +00:00
Judith
7eee9beed7
adapting the specs
2020-09-01 16:48:41 +02:00
Pierre de La Morinerie
c1e2928ce7
models: require belong_to associations on assign_to
2020-08-18 15:57:36 +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
clemkeirua
c91e231347
spec: replace reference to ds in password
2020-07-23 16:20:16 +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
Pierre de La Morinerie
2261c6c5d2
specs: refactor dossiers_controller_spec
2020-07-07 18:03:56 +02:00
Pierre de La Morinerie
43569f687e
specs: use fixture_file_upload
rather than Rack::Test::UploadedFile
...
This is mostly for consistency (both styles were used before).
Note: we still have to use `Rack::Test::UploadedFile.new` in factories,
because of https://github.com/thoughtbot/factory_bot/issues/385 .
2020-07-01 11:13:45 +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
dbf04dd0d8
make api entreprise call only if token not expired
2020-05-06 10:57:45 +02:00
Christophe Robillard
b12226c667
fetch and store bilans bdf
2020-04-30 16:15:16 +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
453adf3c74
instructeurs: affiche l'effectif moyen annuel n-1
2020-04-23 09:53:27 +02:00
Christophe Robillard
1165f8483d
rename effectif columns
2020-04-21 21:13:07 +02:00
Christophe Robillard
db3ef195ad
fetch and show effectif mensuel
...
- fetch and store effectif mensuel (at the creation of the dossier or
when updating a siret field
- show effectif mensuel only for instructeurs
2020-04-21 14:22:11 +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
Pierre de La Morinerie
4cb747fdb6
specs: always require rails_helper
...
Test helpers are separated between two files: spec_helper and
rails_helper. This separation is meant to allow tests that do not
require Rails (like testing standalone libs) to boot faster.
The spec_helper file is always loaded, through `--require spec_helper`
in the `.rspec` config file. When needed, the rails_helper file is
expected to be required manually.
This is fine, but:
- Many test files have a redundant `require 'spec_helper'` line;
- Many test files should require `rails_helper`, but don't.
Not requiring `rails_helper` will cause the Rails-concerned section of
the test environment not to be configured–which may cause subtle bugs
(like the test database not being properly initialized).
Moreover, Spring loads all the Rails files on preloading anyway. So the
gains from using only `spec_helper` are thin.
To streamline this process, this commit:
- Configures `.rspec` to require `rails_helper` by default;
- Remove all manual requires to spec_helper or rails_helper.
Reference: https://stackoverflow.com/questions/24145329/how-is-spec-rails-helper-rb-different-from-spec-spec-helper-rb-do-i-need-it
2020-03-31 12:48:32 +02:00
clemkeirua
1c3573c7db
fix DoubleRender error for brouillon pdf
2020-01-29 14:24:23 +01:00
Pierre de La Morinerie
724ff50363
factories: rename dossier for_individual
to with_individual
...
This clarifies the distinction between
```
create :procedure, :for_individual
```
and
```
create :dossier, :with_individual
```
2020-01-21 17:24:56 +01:00
clemkeirua
0c2ccb4ae0
added automated tests for PDF rendering
...
- as a user, it should not display the administration info
- as an instructeur, it should display the administration info
- it should render the proper view with no crash
2020-01-14 09:29:29 +01:00
Paul Chavard
c6326bfa77
Fix tests involving attachment urls
2020-01-08 14:46:18 +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
e06733d01b
Clean spec
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
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
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
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
7ffad1e6ae
Spec: factorize
2019-08-27 15:01:46 +02:00
simon lehericey
e9cabafcc5
Spec: resend token if it's invalid
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
54d7effe28
Spec: specify france_connect logic
2019-08-16 16:48:22 +02:00
simon lehericey
4be9c79e03
Spec : specify remember me
2019-08-16 16:48:22 +02:00
simon lehericey
08bb393ced
Spec: specify locked logic
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
9a6b3c3757
Spec: specify the redirections when logged in
2019-08-16 16:48:22 +02:00
simon lehericey
56d34173e6
Spec: remove multi devise account tests
2019-08-16 12:04:54 +02:00
simon lehericey
95cd301d0d
Spec: remove superfluous code
2019-08-16 11:47:53 +02:00
simon lehericey
f87e316a5d
Spec: remove outdated trusted_device logic
...
This is tested on the application controller
2019-08-16 11:45:40 +02:00
simon lehericey
58ecf18390
ActivateController: add tests and clean a bit
2019-08-16 11:22:36 +02:00
simon lehericey
c08e356367
Remove or fix nonsense code
2019-08-14 15:08:14 +02:00
simon lehericey
c380d807ab
Spec: sign_in with administrateur.user
2019-08-14 15:08:14 +02:00
Paul Chavard
0969b1f85f
Enable email_login_token for all gestionnaires
2019-08-14 12:53:51 +01:00
simon lehericey
640e3668a8
Strange session ...
2019-08-13 15:15:16 +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
65a53909e1
Update instructeur factory
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
d7105cb6f8
added spec for dossier#update_with_france_connect
2019-08-01 17:42:32 +02:00
clemkeirua
6c52c71eee
add redirection spec for dossier_controller#new
2019-08-01 17:42:32 +02:00
maatinito
8d3e3baabc
#3928 administrator new & edit pwd pages
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
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
Pierre de La Morinerie
51aacabf13
models: fix touch not propagating when using nested attributes
...
Sometimes, when using nested attributes, touch doesn’t propagate to
parent relationships. (see https://github.com/rails/rails/issues/26726 )
Specifically, this happens in our app when updating a dossier with
only new attachements (but without changing the value of any fields).
To work around this, we need to define the parent relationship
explicitely. This is good practice anyway.
Fix #3906
2019-06-17 13:44:07 +02:00
Paul Chavard
ff44b7a600
Refactor purge pj to be more generic
2019-05-29 15:54:51 +02:00
pedong
b1f11c0b0a
add explanation to spec login
2019-05-13 15:28:25 +02:00
pedong
a226999382
redirect to same path after use signup
2019-05-13 15:28:25 +02:00
Pierre de La Morinerie
e06e32238c
api_entreprise: display a specific error message on network errors
2019-05-02 11:24:38 +02:00
Pierre de La Morinerie
41ad89d8ac
commencer: fix redirection with invalid path
2019-04-04 14:03:40 +02:00
Pierre de La Morinerie
22f2ca105e
commencer: display a FranceConnect button
...
Fix #3640
2019-04-03 16:08:09 +02:00
Pierre de La Morinerie
06e7355d5b
commencer: fix invalid URL on test procedures
...
Fix #3693
2019-03-28 14:15:46 +01:00
Pierre de La Morinerie
ded5b70444
app: rename new_user
to users
2019-03-25 10:56:39 +01:00
Paul Chavard
48701e80bd
Enable flipflop for instructeurs
2019-03-12 12:14:34 +01:00
simon lehericey
0b8619be77
Gestionnaire: login_token! -> create_trusted_device_token
2019-02-18 17:21:46 +01:00
simon lehericey
7de3a18fd1
valid period depend on trusted_device_token.created_at
2019-02-18 17:20:49 +01:00
simon lehericey
bee9a108c5
split login and trusted_device logic
2019-02-18 17:20:00 +01:00
Pierre de La Morinerie
bb753ce23e
commencer: redirect to the procedure page after sign-in and sign-up
2019-01-21 14:45:38 +01:00
Pierre de La Morinerie
ae763d93f3
sign_up: display procedure context if available
2019-01-17 11:07:09 +01:00
Pierre de La Morinerie
4fd9fa6610
sign_in: extract the procedure context to a ProcedureContextConcern
2019-01-17 11:07:09 +01:00
simon lehericey
29fff9ee68
[ fix #3269 ] bufferize login token email
2019-01-10 12:06:35 +01:00
simon lehericey
ac43038566
SessionControllerSpec: refactor #create tests
2019-01-09 13:49:47 +01:00
simon lehericey
b38fbc78ef
SessionControllerSpec: remove specific attribut test
...
change user.update(log_in_with_france_connect: nil) as log_in_france_connect is an enum
2019-01-09 13:49:47 +01:00
simon lehericey
9e26b5f4d8
SessionControllerSpec: small cleaning
2019-01-09 13:49:47 +01:00
simon lehericey
f5fa0499ca
SessionControllerSpec: remove duplicated tests
2019-01-09 13:49:47 +01:00
simon lehericey
9c335698f1
SessionControllerSpec: remove password syncing relating test
2019-01-09 13:49:47 +01:00
simon lehericey
f0139c5962
Spec Factory: an administrateur always has a gestionnaire
2019-01-09 13:49:47 +01:00
simon lehericey
5daa565a80
login_token: add missing tests
2019-01-07 08:18:29 +01:00
gregoirenovel
03eb47016c
Fix a gestionnaire sign in bug
2018-12-26 18:14:04 +01:00
gregoirenovel
df7e0a9881
Remove dead code
2018-12-19 14:59:15 +01:00
Frederic Merizen
4699e515ed
[ Fix #2999 ] Send gestionnaire back to what they were doing after email verification
2018-12-06 10:03:21 +01:00