Commit graph

8941 commits

Author SHA1 Message Date
Paul Chavard
a708b071dd Do not crash with champ repetable with no children 2019-11-06 12:54:07 +01:00
Paul Chavard
f5c80f211d Guard for missing attestation on dossier 2019-11-06 12:54:07 +01:00
Paul Chavard
95f98fe605 API v1 correctly handle resultats_par_page 2019-11-06 12:54:07 +01:00
Pierre de La Morinerie
d91d1d9fa8
Correction de la recherche dans la liste des instructeurs (#4486)
Administrateur : correction de la recherche dans la liste des instructeurs
2019-11-06 12:27:51 +01:00
Pierre de La Morinerie
8df91df9fa assigns: strip and lowercase the search filter 2019-11-06 12:16:30 +01:00
Pierre de La Morinerie
0eeac59ecd assigns: fix search among the unassigned instructeurs
This was broken since moving the email out of the Instructeur column.
2019-11-06 12:16:30 +01:00
Pierre de La Morinerie
b2b577d4a9
build(deps): bump loofah from 2.2.3 to 2.3.1 (#4485)
build(deps): bump loofah from 2.2.3 to 2.3.1
2019-11-06 12:14:48 +01:00
dependabot[bot]
c5f2dacb71
build(deps): bump loofah from 2.2.3 to 2.3.1
Bumps [loofah](https://github.com/flavorjones/loofah) from 2.2.3 to 2.3.1.
- [Release notes](https://github.com/flavorjones/loofah/releases)
- [Changelog](https://github.com/flavorjones/loofah/blob/master/CHANGELOG.md)
- [Commits](https://github.com/flavorjones/loofah/compare/v2.2.3...v2.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-11-06 10:33:00 +00:00
Paul Chavard
4e454a7e15
Merge pull request #4480 from tchak/use-webdrivers
Use webdrivers gem to keep webdrivers updated
2019-11-06 11:31:29 +01:00
Paul Chavard
efd03f0169 Use webdrivers gem to keep webdrivers updated 2019-11-06 11:20:40 +01:00
Paul Chavard
88a4befbc5
Merge pull request #4479 from tchak/fix-carto-errors
[API Carto]: use typhoeus and correctly handle errors
2019-11-06 11:20:08 +01:00
Paul Chavard
08b1a0f90d [API Carto]: use typhoeus and correctly handle errors 2019-11-06 11:10:56 +01:00
LeSim
d52f600b2e
Merge pull request #4484 from betagouv/fix-readme
met à jour la doc d'install
2019-11-06 09:02:22 +01:00
Christophe Robillard
91db5f4ec2 met à jour la doc d'install 2019-11-05 18:47:16 +01:00
LeSim
ee877e7d89
Merge pull request #4478 from betagouv/simplify_active_notion
Déplacement de la méthode active? sur le model User
2019-11-05 16:28:04 +01:00
simon lehericey
9f5169eb7d Remove unused Administrateur.reset_password method 2019-11-05 14:10:39 +01:00
simon lehericey
395aba8bbc Remove administrateur active notion 2019-11-05 14:10:39 +01:00
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