Commit graph

8530 commits

Author SHA1 Message Date
Paul Chavard
a616ee835c
Merge pull request #4358 from tchak/graphql-instructeurs
[GraphQL] Add groupe_instructeurs to demarche
2019-09-26 11:57:09 +02:00
Paul Chavard
3f36153807 [GraphQL] Add groupe_instructeurs to demarche 2019-09-26 11:25:14 +02:00
LeSim
ab72ac0325
Merge pull request #4349 from betagouv/more-optimize-notifications-queries
Optimisation des requêtes de notifications
2019-09-25 14:15:13 +02:00
Nicolas Bouilleaud
03c950ea97 Move followed_dossiers_with_notifications to a Dossier scope
Instead of instructeur.followed_dossiers_with_notifications, we can now write instructeur.followed_dossiers.with_notifications.

Yay composition!
2019-09-25 14:10:00 +02:00
Nicolas Bouilleaud
780e157190 Add indexes to Dossier.state, Dossier.archived, Follow.unfollowed_at
We make a ton of queries on these attributes (for example in /procedures#index and /procedures#show). I think it should help.
2019-09-25 14:10:00 +02:00
Nicolas Bouilleaud
1505d45be1 Optimize notifications queries for badges by using exists?, not present?
`ActiveRecord::Relation.exists?` yields a SQL EXISTS query, while `present?` is a method of Enumerable, which needs the actual result array to be queried.
2019-09-25 14:10:00 +02:00
Nicolas Bouilleaud
a4166d3c57 Refactor Instructeur.notifications_* methods
- rename `dossiers_id_with_notifications` to `followed_dossiers_with_notifications`,
- rename `notifications_per_procedure` to `procedures_with_notifications`,
- return an ActiveRecord::Relation instead of the result of the query, so that the call place can compose it,
- `merge` with the wanted Dossier scope in the call places, don’t bother passing it as a parameter,
- use the “state” (now “scope”) parameter as a scope method that can be just applied on `Dossier`.
2019-09-25 14:10:00 +02:00
Nicolas Bouilleaud
d7625e88ce
Merge pull request #4357 from Vini75/link-to-entreprisesdatagouv.fr
Add links to entreprisesdatagouv.fr
2019-09-24 16:33:56 +02:00
Nicolas Bouilleaud
650e973d0a Fix plural in entreprise(s).data.gouv.fr 2019-09-24 16:20:34 +02:00
Vini75
8c977dca09
Adjust link to entreprisedatagouv 2019-09-24 16:14:31 +02:00
Vini75
9968eb69c0
Adjust link to entreprisedatagouv 2019-09-24 16:14:23 +02:00
Vini75
7f1b34926f
link to entreprisedatagouv.fr on user 2019-09-24 15:55:06 +02:00
Vini75
606c084914
Add link to entreprises datagouv.fr 2019-09-24 15:49:25 +02:00
Paul Chavard
e66e2df73a
Merge pull request #4231 from betagouv/api-v2-graphql
Api v2 graphql
2019-09-24 10:59:28 +02:00
Paul Chavard
da4523612a Update graphql schema 2019-09-24 10:47:21 +02:00
Paul Chavard
4b885f7a12 Add basic graphql test 2019-09-24 10:47:21 +02:00
Paul Chavard
5a7e415474 Put graphql behind a feature flag 2019-09-24 10:47:21 +02:00
Paul Chavard
eb7aba18e6 Add dossier champs and annotations types 2019-09-24 10:47:21 +02:00
Paul Chavard
1c10718c11 Add messages and avis types 2019-09-24 10:47:21 +02:00
Paul Chavard
8928eaba11 Add demarche champs and annotations types 2019-09-24 10:47:21 +02:00
Paul Chavard
a51fc75628 Expose graphiql 2019-09-24 10:47:21 +02:00
Paul Chavard
91ad9bd7d3 Configure GraphQL::RailsLogger 2019-09-24 10:47:21 +02:00
Paul Chavard
bf6fbbf2b6 Add graphql end point 2019-09-24 10:47:21 +02:00
Paul Chavard
5a7eb734ff Dump graphql schema for reference 2019-09-24 10:47:21 +02:00
Paul Chavard
ba683a107c Add authorizations to root queries 2019-09-24 10:47:21 +02:00
Paul Chavard
a7fc4df09b Resolve models and types 2019-09-24 10:47:21 +02:00
Paul Chavard
e06051bc96 Add graphql root types 2019-09-24 10:47:21 +02:00
Paul Chavard
52e84f2ffe Add graphql object types 2019-09-24 10:47:21 +02:00
Paul Chavard
9bb52dfb8c Add graphql base types 2019-09-24 10:47:21 +02:00
Paul Chavard
d2fdaacb5d Add Api::V2::Schema 2019-09-24 10:47:21 +02:00
Paul Chavard
2e854f2ac3 Add graph loading scopes to Dossier and Procedure 2019-09-24 10:47:21 +02:00
Paul Chavard
7f09d0e430 Add graphql gems 2019-09-24 10:47:21 +02:00
Nicolas Bouilleaud
9c4ea40d73
Merge pull request #4353 from betagouv/allow-sorting-dossier-traites-by-notification
Allow sorting Dossiers by “has notifications” in `traites`
2019-09-24 09:43:54 +02:00
Nicolas Bouilleaud
e962fb26e0 Allow sorting Dossiers by “has notifications” in traites
fixes #4351
2019-09-24 09:37:42 +02:00
Nicolas Bouilleaud
d38bf7a993
Merge pull request #4350 from betagouv/disable-turbolinks-for-stats
Disable turbolinks for links to Stats pages
2019-09-24 09:37:11 +02:00
Nicolas Bouilleaud
00b1aa0ea1 Disable turbolinks for links to Stats pages
This is a workaround for #350
2019-09-23 14:25:04 +02:00
LeSim
346fccc000
Merge pull request #4348 from betagouv/dont-unfollow-when-archiving
Les dossiers archivés ne sont plus 'dé suivis'
2019-09-23 09:55:33 +02:00
Nicolas Bouilleaud
f74fde3f80 Avoid sending notification emails about archived dossiers 2019-09-20 11:06:33 +02:00
Nicolas Bouilleaud
a2131d0fcc Don’t unfollow when archiving
It was slightly broken in two ways:
- it doesn’t make other instructeurs unfollow the dossier
- if the dossier is unarchived, instructeurs don’t refollow automatically.
2019-09-20 11:06:33 +02:00
Nicolas Bouilleaud
769621de46 Explicitly pass the “state” param in notifications_*_procedure methods 2019-09-20 11:06:33 +02:00
Nicolas Bouilleaud
8a06c01f13 Reorder methods in instructeur.rb
Move token stuff together, out of notification-related stuff.
2019-09-20 10:48:08 +02:00
LeSim
71db4ea32f
Merge pull request #4347 from betagouv/optimize-notifications-queries
Use a single query in dossiers_id_with_notifications (instead of four)
2019-09-20 09:54:38 +02:00
Nicolas Bouilleaud
4f0871dab0 Use a single query in dossiers_id_with_notifications (instead of four)
This is used in /procedures#show and /procedures#index, to display badges on the “suivis” and “traités” tabs of each procedure. Rails cache helps when it’s the exact same query, but it’s not the case for different tabs.

I’m not certain it’ll be a visible performance improvement but it shouldn’t hurt.
2019-09-20 09:45:59 +02:00
LeSim
d2b9e9102a
Merge pull request #4346 from betagouv/add_groupe_instructeur_column_in_export
Ajoute la colonne groupe d'instructeur dans les procédures routées
2019-09-19 17:12:03 +02:00
simon lehericey
faddbc23ef Eager load procedure: :groupe_instructeurs for export 2019-09-19 12:30:12 +02:00
simon lehericey
a2f82ab8be Add groupe_instructeur_label to export v2 2019-09-19 12:30:12 +02:00
simon lehericey
f577484aa2 Add groupe_instructeur_label to export v1 2019-09-19 12:30:12 +02:00
simon lehericey
3bc20bdb06 Procedure.routee? 2019-09-19 12:30:12 +02:00
LeSim
fb631fb019
Merge pull request #4345 from betagouv/export_and_groupe_instructeur
Prépare l'export des dossiers au routage
2019-09-19 12:29:23 +02:00
simon lehericey
8660d4af30 Instructeur: only export its dossiers 2019-09-19 12:24:40 +02:00