Commit graph

9074 commits

Author SHA1 Message Date
simon lehericey
5643e671a0 Code use user.active? 2019-11-05 14:10:39 +01:00
simon lehericey
b193dd1465 User get the active notion 2019-11-05 14:10:39 +01:00
LeSim
40af20b733
Merge pull request #4475 from betagouv/fix-instructeur-invitation
instructeurs: fix email casing in invitation
2019-11-05 11:26:51 +01:00
Pierre de La Morinerie
c37bfc7349 instructeurs: fix email casing in invitation
When inviting an instructeur, the code first looked up an existing
instructeur using the normalized (downcased) email address–but then
tried to promote it using the non-normalized version, which failed.

This fixes the issue by always using the normalized email.
2019-11-05 10:54:58 +01:00
LeSim
1adda1b405
Merge pull request #4477 from betagouv/fix_4473_invite_an_administrateur
Répare l'invitation des administrateurs
2019-11-05 10:49:52 +01:00
simon lehericey
aeb44dd2aa Cleaning spec 2019-11-05 10:29:39 +01:00
simon lehericey
e3d7688e66 [fix #4473] Invite_administrateur!: do not reset password if the user is active 2019-11-05 10:29:39 +01:00
simon lehericey
53c7997081 Invite_administrateur!: characterization test 2019-11-05 10:29:39 +01:00
simon lehericey
243bc2887f Invite_administrateur!: remove unused return 2019-11-05 10:29:39 +01:00
Pierre de La Morinerie
745ede229e
Merge pull request #4472 from betagouv/fix-helpscout-webhook
Webhook : correction d'une exception lorsque l'adresse email du client est inconnue
2019-11-05 10:24:14 +01:00
Pierre de La Morinerie
f63cd86811 webhook: fix a crash when the Helpscout customer is unknown 2019-11-04 18:36:52 +01:00
Pierre de La Morinerie
2214ae7937
Revert "Sendinblue email balancing using interceptor" (#4470)
Revert "Sendinblue email balancing using interceptor"
2019-11-04 15:58:11 +01:00
clemkeirua
c61981e795 Revert "Sendinblue email balancing using interceptor"
This reverts commit b2135b6576.
2019-11-04 15:55:08 +01:00
Keirua
4bb5d13913
Merge pull request #4431 from betagouv/smtp-ip-balancing
Smtp ip balancing
2019-11-04 15:33:41 +01:00
Chaïb Martinez
b2135b6576 Sendinblue email balancing using interceptor
Signed-off-by: Chaïb Martinez <chaibax@gmail.com>
2019-11-04 15:30:44 +01:00
Pierre de La Morinerie
91ddd157f0
Dépréciation de la colonne Instructeur.email (#4411)
Dépréciation de la colonne Instructeur.email
2019-11-04 11:02:32 +01:00
Pierre de La Morinerie
a458693a19 specs: fix #usual_traitement_time tests when near the DST date 2019-11-04 10:56:15 +01:00
Pierre de La Morinerie
2e8d365b93 instructeurs: disable the email column 2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
f8358b3ae9 instructeurs: create without providing the email 2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
f131dbb80d instructeurs: make the create form not using email directly
Before the form attempted to read an email value from the Instructeur
model, and failed (because the empty Instructeur had no user yet).

We could let `Instructeur#email` return `nil` if there is no User –
but as a created Instructeur is always supposed to have a User, this
seems like a nice safeguard to keep.

So instead this commit rewrites the create form, which now doesn’t
depend on an Instructeur model. Seems easy enough for now.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
d78d206544 instructeurs: fix expert creation not to use Instructeur.email
It kind of worked until now, because the email field is disabled, and
thus never accessed.

But better make it clean, by accessing an object (User) where the email
field actually exists.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
38f994a151 instructeurs: fix mailer previews not to use Instructeur.email
Mailers previews now create mock Instructeurs without directly accessing
the email.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
8e6930d257 instructeurs: fix ProcedurePresentation to use instructeur.user.email
The `joins` are declared explicitely in order to associate a predictable
name to the joined table.

Otherwise, when the query is joined with `:users`, ActiveRecord will
alias the join automatically  to solve the conflict. Unfortunately, the
automatic resolution means that the table name becomes unpredictable,
and thus unsuitable to perform queries on.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
8b8213c301 instructeurs: always eager load the user relationship
Now that `Instructeur.email` is merely an alias to `instructeur.user.email`,
and we changed every occurence of `instructeurs.pluck(:email)` to
`instructeurs.map(&:email)`, the new version using `map` may cause N+1 queries
if the users have not been preloaded.

It makes sense to always preload the user when fetching an Instructeur:

- Instructeur and User have a strongly coupled relationship
- It avoids N+1 queries everywhere in the app

Of course fetching an instructeur without needing its user will now do an
unecessary fetch of the associated user. But it seems better than leaving
a risk of N+1 queries in many places.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
a462edb9bc instructeurs: alias instructeur.email
This also means we need to replace instances of `pluck` on the email
column.
2019-11-04 10:44:24 +01:00
Pierre de La Morinerie
cd478b489e instructeurs: replace calls to Instructeur.find_by(email: …) 2019-11-04 10:44:23 +01:00
Paul Chavard
c14dc7ad64
Merge pull request #4460 from tchak/fix-export-issues
Fix export issues
2019-10-31 17:23:05 +01:00
Paul Chavard
839b0d7e6d Add Entreprise raison sociale to dossier export
fix #4422
2019-10-31 17:11:46 +01:00
Paul Chavard
18e91e7ca3 Extend old export format till mid-November 2019-10-31 17:11:46 +01:00
Paul Chavard
77cdd522bd
Merge pull request #4464 from betagouv/manager-improve-procedure
manager: allow hidden procedures to be searched
2019-10-31 17:10:41 +01:00
Pierre de La Morinerie
627d30191f manager: allow hidden procedures to be searched
The Manager::DossiersController already allow hidden dossiers to be
searched and displayed. Give the same behavior to Procedures.
2019-10-31 17:03:02 +01:00
Pierre de La Morinerie
35f5ea2db8
procedure: improve layout of the "webhook" field (#4463)
Administrateur : amélioration de la mise en page du champ "Lien de rappel HTTP"
2019-10-31 17:01:03 +01:00
Pierre de La Morinerie
076e3a9294 procedure: improve layout of the "webhook" field 2019-10-31 16:04:47 +01:00
Pierre de La Morinerie
f1536c6c82
Bump ruby version to 2.6.5 (#4426)
Mise à jour vers Ruby 2.6.5
2019-10-31 15:04:14 +01:00
Pierre de La Morinerie
7fa996cb41 ops: bump ruby version to 2.6.5
This fixes a crash related to "Spring + Postgres" occuring on local
development environments on Ruby 2.6.1.
2019-10-31 14:54:40 +01:00
Paul Chavard
252a7f931e
Merge pull request #4443 from tchak/update-javascript-dependencies
Update javascript dependencies
2019-10-31 11:22:38 +01:00
Paul Chavard
2336a4c490 Update javascript dependencies 2019-10-31 11:13:51 +01:00
Pierre de La Morinerie
a74fa9b1bb
Merge pull request #4280 from Keirua/procedure-new-design
Administrateur : nouvelle page de création et d'édition des démarche
2019-10-31 10:42:45 +01:00
Pierre de La Morinerie
817662f7d9 procedure: move description to views/shared
Now that the description is used not only in the layout, but also in the
procedure form, better to make it an official shared partial.
2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
2e0ef84941 images: rename 'attachment' icon to 'attached'
This avoids conflicts with the 'attachment' component.
2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
aea93779cc procedure: use the attachment view to upload files 2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
1c61f2de58 views: refactor the attachment/edit view
Make it more reusable, by:

- Renaming `attachment/update` to `attachment/edit`
- Refactoring the CSS styles into their own stylesheet
- Allow to specify the 'accept' option
2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
5be83bd01e procedure: make the layout more similar to the mockup 2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
02384b078c procedure: remove UI to edit the european flag
This is an option we want to deprecate, and remove entirely in the
future.

Admins can still add the EU flag manually to their uploaded logo.
2019-10-31 10:27:19 +01:00
Pierre de La Morinerie
112b44bdea procedure: align radio buttons vertically
- Remove the unused `.radios.vertical`
- Add a `.editable-champ-radio.vertical` variant for vertical radios
- Add an example of vertical radios to the patron
- Use vertical radios to display the procedure options
2019-10-31 10:27:19 +01:00
Nicolas Bouilleaud
72b7ff221c move procedure to new design 2019-10-31 10:27:19 +01:00
LeSim
77bf1fea1a
Merge pull request #4455 from tchak/ds-proxy-url
Add a DS_PROXY_URL env variable
2019-10-30 16:29:53 +01:00
Paul Chavard
73d4ecf35d Add a DS_PROXY_URL env variable 2019-10-30 16:15:38 +01:00
LeSim
bc257911e9
Merge pull request #4450 from betagouv/instructeur_manage_groupe
Gestion des groupes instructeurs par les instructeurs
2019-10-30 14:37:39 +01:00
simon lehericey
652e95d0c5 Add link from instructeur procedure view 2019-10-30 14:27:51 +01:00