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
Paul Chavard
37a7e26fc3
Remove unused users/carte_controller
2018-11-27 16:11:25 +01:00
Frederic Merizen
101e8e2588
[ #2999 ] Rediriger vers la bonne page apres login
...
(ne corrige pas le cas ou l'utilisateur est passe par le mail de confirmation)
2018-11-16 15:44:20 +01:00
Paul Chavard
2eb61bd6ed
Move dossier invites handler to invites controller
2018-11-14 15:16:49 +01:00
simon lehericey
fb76197404
SessionController: flipflop trusted device
2018-11-13 10:41:45 +01:00
simon lehericey
0d8d2de5a6
Session: add trusted_device cookie
2018-11-13 10:41:45 +01:00
simon lehericey
5690599289
Session: send a mail to confirm gestionnaire login
2018-11-13 10:41:45 +01:00
Pierre de La Morinerie
c7ac43cfe7
confirmation: add a dedicated page with confirmation instructions
...
Fix #2586
2018-11-08 16:20:05 +01:00
Pierre de La Morinerie
b0541fba79
users: sign-in after confirming an account within a short time
2018-11-06 18:24:34 +01:00
Paul Chavard
cfd1950e17
Migrate commencer to new_user
2018-11-01 13:10:41 +01:00
Paul Chavard
725e88a89a
Rename :procedure_path -> :path
2018-10-30 12:01:45 +01:00
simon lehericey
13ffa61435
DateTime.now => Time.zone.now
2018-10-26 10:10:20 +00:00
Pierre de La Morinerie
65bdfacd8c
dossier: remove old SIRET code, controllers and views
2018-10-18 15:46:00 +02:00
Pierre de La Morinerie
54ba0f8e50
dossier: add new page for SIRET identification
2018-10-17 10:37:06 +02:00
gregoirenovel
baf69acbcb
[ Fix #2833 ] Move /support files to /fixtures
2018-10-16 10:47:41 +02:00
gregoirenovel
5db4de6c53
QuartiersPrioritaires::Adapter → QuartiersPrioritairesAdapter
2018-10-15 23:31:23 +02:00
gregoirenovel
918a91a985
ApiCarto::Cadastre::Adapter → ApiCarto::CadastreAdapter
2018-10-15 23:31:23 +02:00
gregoirenovel
dc28e79ab4
Group API Entreprise mock responses in a folder
2018-10-15 23:31:23 +02:00
gregoirenovel
d726fbf698
CARTO::SGMAP → ApiCarto
2018-10-15 20:55:46 +02:00
gregoirenovel
34ac68b27f
2018-10-15 17:12:34 +02:00
gregoirenovel
b162c68844
Use Hash#slice
2018-10-15 17:12:34 +02:00
Paul Chavard
38091963c1
Update carto tests
2018-10-14 12:34:44 +02:00
Paul Chavard
b5a3fc76fb
Remove legacy carto routes
2018-10-14 12:34:43 +02:00
gregoirenovel
c8f872c566
InviteUser → Invite
2018-10-10 12:07:10 +02:00
gregoirenovel
a171186dd8
Enable Style/TrailingCommaInHashLiteral
2018-10-03 12:03:21 +02:00
Paul Chavard
941c529b2c
Remove CGU checkbox
...
fix #2725
2018-10-03 08:59:02 +02:00
Pierre de La Morinerie
36c1aa118d
dossier: remove RecapitulatifController
...
And add a redirection to the new URLs.
2018-10-02 15:42:29 +02:00
Pierre de La Morinerie
3392df0029
dossier: remove CommentairesController
2018-10-02 14:40:38 +02:00
Pierre de La Morinerie
f007eaa2ee
dossier: enable new UI by default
2018-10-02 12:23:53 +02:00
Mathieu Magnin
499021588d
[ Fix #1285 ] Password strength is ensured when saving an administrateur
2018-09-26 09:03:03 +02:00
Pierre de La Morinerie
e5f4056fe2
invite: fix prefilling the invited user email
2018-09-19 12:41:09 +02:00
Pierre de La Morinerie
082ef92a99
invite: move invites link to the after_confirmation
callback
...
Refactored from 6a69d958da
The `after_confirmation_path_for` isn't really made to be a callbback.
For instance, it is not executed during tests.
Moving the invitations linking to a proper documented callback allows
the linking to work in a testing environment, when invoking `user.confirm`.
2018-09-19 12:08:28 +02:00
Paul Chavard
f3333595a0
Drop text_summary endpoint
2018-09-07 19:41:34 +01:00
gregoirenovel
5ac8117c69
DossierController#modifier → #brouillon
2018-09-07 10:19:10 +02:00
gregoirenovel
00ecae5f93
Procédure → Démarche
2018-09-05 15:46:24 +02:00
gregoirenovel
4b071ecf06
Use enum to the fullest with Dossier.states
2018-08-29 17:31:08 +02:00
gregoirenovel
16a719922b
Use enum to the fullest with User.loged_in_with_france_connects
2018-08-29 17:31:08 +02:00
Paul Chavard
097b06e314
Fix test dossier page
2018-08-14 16:47:31 +02:00
Paul Chavard
c91abe73c5
Remove old user dossier form
2018-08-07 14:13:27 +02:00
Pierre de La Morinerie
1cac0b80af
invite: add button for invite someone to collaborate on a draft
2018-08-01 17:41:12 +02:00
Pierre de La Morinerie
bdd05937e2
specs: refactor invites_controller_spec.rb
2018-08-01 17:41:12 +02:00
Pierre de La Morinerie
f5d3adba5e
dossiers: remove unused dossiers list code
...
This code is unused since the user dossiers list uses the new UI.
2018-07-04 12:23:49 +02:00
Pierre de La Morinerie
b4b533f0c5
dossiers: change all links to use the new user dossiers list
2018-07-02 13:58:58 +02:00
Paul Chavard
d0a6957862
Remove old cerfa code
2018-06-28 15:16:20 +02:00
simon lehericey
c3610fc96e
[ fix #2067 ] Resend confirmation mail if the user is not confirmed
2018-06-20 13:30:32 +02:00
gregoirenovel
b88cea3c18
Change a deliver into a deliver_later
2018-06-07 15:14:26 +02:00
Paul Chavard
86b2cb211e
Do not attempt to archive already archived procedures
2018-05-29 14:29:26 +02:00
Frederic Merizen
fd168c4a72
[ Fix #1972 ] Make devise mails async
2018-05-28 12:02:13 +02:00
Frederic Merizen
07b1c147d9
[ Fix #1972 ] Always send mails asynchronously
2018-05-28 12:02:13 +02:00
Frederic Merizen
cce00e19c6
[ #1972 ] Avoid passing unsaved templates to ActionMailer
...
So that all mail arguments can be serialized
2018-05-28 12:02:13 +02:00
Paul Chavard
d99eed122d
Use new models in controllers and views
2018-05-24 17:54:51 +02:00
Paul Chavard
7fb7d77886
Use aasm_state in scopes
2018-05-24 17:49:24 +02:00
Paul Chavard
7070b0aba0
Fix tests to rely on aasm states
2018-05-23 16:31:27 +02:00
simon lehericey
0b87944368
[ #1915 ] Devise: avoid leaking registered people
2018-05-23 15:55:52 +02:00
simon lehericey
7fed476e29
Welcome Mailer: remove obsolete mailer
2018-05-23 15:55:52 +02:00
simon lehericey
6a69d958da
Devise: move after_sign_up to after_confirmation
2018-05-23 15:55:52 +02:00
Paul Chavard
ceddf65f6c
Fix crash with inexistent paths
2018-05-23 15:36:50 +02:00
Mathieu Magnin
3e176d4e08
Remove use of staging.apientreprise
2018-05-09 13:56:29 +02:00
Paul Chavard
45019ce75c
Use Flipflop instead of Feature
2018-04-18 16:51:21 +02:00
simon lehericey
46fd213ad2
Individual: old controller does not care about individual anymore
2018-04-03 21:16:54 +02:00
simon lehericey
4ec6c72c96
[ fix #1755 ] clean GeoJSON polygones before save
2018-03-30 16:15:30 +02:00
gregoirenovel
d0a59058e8
Remove the mandataire_social guess
...
Rationale:
- is true for only 0.06% of Dossiers
- is not displayed anymore anyways
- will be a rare case for now
* FC adoption is not insane
* FC used more for personal than professional
matters
* not always the mandataires sociaux that fill
dossiers for their companies, so not that
relevant
- we can add it back later
2018-03-20 16:09:00 +01:00
Frederic Merizen
13d251d970
describe '#method' rather than describe '.method' for instance methods
2018-03-20 16:00:30 +01:00