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
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
da4523612a
Update graphql schema
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
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
Nicolas Bouilleaud
e962fb26e0
Allow sorting Dossiers by “has notifications” in traites
...
fixes #4351
2019-09-24 09:37:42 +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
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
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
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
simon lehericey
8660d4af30
Instructeur: only export its dossiers
2019-09-19 12:24:40 +02:00
Paul Chavard
f4d4a896a0
Merge pull request #4342 from tchak/revert-proxy
...
Revert "Upload through proxy"
2019-09-19 09:14:32 +02:00
Paul Chavard
6533ec420b
Revert "Upload through proxy"
...
This reverts commit 91815ad709
.
2019-09-19 09:13:41 +02:00
simon lehericey
e2acb0a946
ProcedurePresentation: can use groupe instructeur
2019-09-18 15:51:02 +02:00
simon lehericey
f5bbc9e2f9
InstructeurProcedureShow: show dossier for all the gi involved
2019-09-18 15:51:02 +02:00
simon lehericey
9b16bd2037
Dossier: retrieve all dossiers for a procedure
2019-09-18 15:51:02 +02:00
simon lehericey
21577a0f0b
Instructeur: dedup procedures with multiple gi
2019-09-18 15:51:02 +02:00
Paul Chavard
8fcf1353f3
Remove duplicated attachments
2019-09-17 18:12:53 +02:00
simon lehericey
dec42e4886
Instructeur procedure index: show stats by procedure
...
Also sum the count from differents groupe_instructeur from the same procedure
2019-09-17 17:19:14 +02:00
Paul Chavard
91815ad709
Upload through proxy
2019-09-17 17:04:52 +02:00
Pierre de La Morinerie
4b883a57bf
stylesheets: make the actions bar sticky
2019-09-17 16:58:11 +02:00
Pierre de La Morinerie
1f8f38f492
stylesheets: align the buttons vertically
2019-09-17 16:58:11 +02:00
Pierre de La Morinerie
974c1b1150
stylesheets: move the dossier floating bar CSS to dossier_edit.scss
...
forms.scss is supposed to be for generic elements.
2019-09-17 16:58:11 +02:00
pedong
09a0f21cac
use same look with .champs-editor.buttons
2019-09-17 16:58:11 +02:00
pedong
d2a78abc3a
[ fix #3975 ] set buttons floating in dossier page
2019-09-17 16:58:11 +02:00
Nicolas Bouilleaud
0c98f29d59
Move the cached procedure stats queries to a ProcedureStatsConcern
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
06d60cd943
Cache requests in procedures/stats
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
3e2985b305
First attempt at procedure stats
...
fixes #3945 , #3946 , #3948
2019-09-17 16:43:48 +02:00
Nicolas Bouilleaud
543f9894c1
Make sure the “commencer” link uses the proper test path
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
c26a701a17
Refactor and redesign publish modal
...
* remove the autocomplete menu
* use ujs to pre-validate the procedure
* tweak the UI
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
bd1e0aba38
Add Procedure path suggestion
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
8806eab8d6
Properly validate Procedure.lien_site_web is set when publishing
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
00c37eccb3
Simplify procedure.path and publish event
...
* Get rid of the “reopen” event, merge it with “publish” (it’s the same code)
* Remove the “availability” states; “available with brouillon” makes no sense since the brouillons path are always uuids
* Instead of checking if publish can happen, just try it and handle the errors
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
99f986b815
Cleanup Procedure retrieval in “Commencer”
...
Make sure to only fetch active (brouillons or published) procedures.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
92e6032115
Remove path availability dead code when creating/editing a procedure
...
There’s no “path” field anymore in the Procedure form, it can only be set when publishing.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
b9968b76b0
Remove “avec_lien” helpers now that Procedure.path cannot be nil
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
8fa630d2bb
Remove Gestionnaire.visible_procedures
...
It is actually the same thing as Gestionnaire.procedures. It already included the procedures with paths as well as the archived procedures, and in production, there were no Gestionnaire for who procedures was returning a different result than visible_procedures (expect for two baddata brouillon procedures with a nil path).
In addition, Procedure.path is now nonnull, which means the Procedure.avec_lien scope is pointless.
Finally, the current spec showed that the only procedure not visible to the gestion was the one he was not assigned to.
2019-09-17 16:30:48 +02:00
Nicolas Bouilleaud
e9c6ed80e4
Migration: Index and make Procedure.path nonnull
2019-09-17 16:30:48 +02:00
maatinito
ae34e48624
[ fix #4311 ] Unable to reinvite admin
2019-09-17 16:15:04 +02:00
clemkeirua
949a0c21e6
gestion des 2 formats de bouton monavis
2019-09-17 13:39:45 +02:00
Paul Chavard
ff2b6ca3ea
Fix service controller
2019-09-17 12:37:37 +02:00
Paul Chavard
8a691d534a
Fix AdministrateurUsageStatisticsService
2019-09-17 12:37:37 +02:00
Paul Chavard
adfa80142a
Cleanup application_controller and current_user
2019-09-17 12:37:37 +02:00
Paul Chavard
88842918f9
Prepare to drop columns
2019-09-17 12:37:37 +02:00
Paul Chavard
3eeebd62eb
Use built in active_storage helper
2019-09-17 11:11:08 +02:00
simon lehericey
acb99609ba
Move defaut_groupe_instructeur as has_one and eager_load
2019-09-16 15:57:07 +02:00
simon lehericey
afa0237349
remove logo n+1
2019-09-16 15:48:19 +02:00
Paul Chavard
b97cbd3402
Serialize champ repetition for tags
...
closes #4272
2019-09-12 17:23:18 +02:00
Paul Chavard
3b8d3b7967
Add Style/CollectionMethods to rubocop
2019-09-12 14:48:18 +02:00
simon lehericey
82bef0f651
use notifications_per_procedure properly
2019-09-11 20:49:48 +02:00
Pierre de La Morinerie
503c393a87
helpscout: use replies_sent to compute contact rate
...
The `conversations_count` we previously used counts replies, but also
all conversations that were tagged or re-tagged during the month – with
made counting the actual work spent on user support brittle.
Counting the replies is a better estimation of what we get.
Unfortunately this also removes the filtering-by-tag feature. To
mitigate this, the reports are now scoped to a specific mailbox. This
allows to create extra mailboxes for conversations that should't be
counted in the stats.
2019-09-11 17:26:10 +02:00
Paul Chavard
c370c2f475
Cleanup FlipFlop
2019-09-10 23:52:44 +02:00
Paul Chavard
65e227c44b
Migrate to flipper
2019-09-10 16:10:14 +02:00
clemkeirua
feb9c32537
search attachments inside bloc repetables
2019-09-10 15:30:44 +02:00
Paul Chavard
347f03d2a9
Redirect to pdf attachement old name if not attached
2019-09-10 15:06:47 +02:00
Paul Chavard
3eb3ae001e
Rename “Passé en construction le” to 'Déposé le' for clarity
2019-09-10 14:59:10 +02:00
Chaïb Martinez
dd6c6bfe7a
mailers: add a NO_REPLY address to transactional emails
2019-09-10 13:37:28 +02:00
Pierre de La Morinerie
aa1cf6788b
mailers: turn revert_to_instruction into a notification email
2019-09-10 13:29:06 +02:00
pedong
a7d3bbb8cc
Del SIRET in service for API
2019-09-10 11:06:28 +02:00
pedong
25596ca2f2
[ fix #4181 ] add service to procedure API
2019-09-10 11:06:28 +02:00
Paul Chavard
d8402fbd2c
Remove last reference to commentaire.file
2019-09-10 10:49:12 +02:00
Paul Chavard
434210de2e
Ignore to be removed columns
2019-09-10 10:49:12 +02:00
Paul Chavard
7ffb98e616
Remove carrierwave uploaders
2019-09-10 10:49:12 +02:00
Pierre de La Morinerie
2724f4667b
groupe_instructeur: unsassign instructeurs on group destroy
...
Fix #4282
2019-09-09 17:29:29 +02:00
clemkeirua
6849fd6afe
change le texte de la messagerie selon le type d'utilisateur
2019-09-09 16:25:02 +02:00
Pierre de La Morinerie
c26da5ec37
mailers: prevent the signature from being auto-linked
...
Some emails clients (Gmail or Mail.app) may turn the signature into
a clickable link.
This can distract users, and make them think we are a good point of
contact (where they should contact their administration or use the
website directly instead).
2019-09-09 11:43:57 +02:00
Chaïb Martinez
9f60365500
[ fix #4266 ] Add 'Revenir sur le site de mon administration' on commencer page
2019-09-03 15:46:25 +02:00
simon lehericey
6a83adf336
StatController: work by groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
ad7ef6c739
Link assign_to and procedure by groupe_instructeur
2019-09-03 06:47:02 +02:00
simon lehericey
4da12ed3e8
User/DossierController: dossier are linked to default group by default
2019-09-03 06:47:02 +02:00
simon lehericey
d582af0962
Fix Instructeur Procedure Index
2019-09-03 06:47:02 +02:00
simon lehericey
d0bfb62fec
Procedure Factory: use procedure.new_dossier
2019-09-03 06:47:02 +02:00
simon lehericey
3cc8f0c792
Link Dossier and GroupeInstructeur
2019-09-03 06:47:02 +02:00
simon lehericey
a82d49aa60
Procedure: save procedure while cloning
...
This is required to be able to assign the administrateur.instructeur to the defaut_groupe_instructeur of the new procedure
2019-09-02 11:41:12 +02:00
simon lehericey
31cb056351
Procedure: remove direct instructeurs access
...
Add shortcut for the spec to assign instructeurs directly to the defaut groupe
2019-09-02 11:41:12 +02:00
simon lehericey
b541ef0b41
Procedure has many instructeurs with defaut_groupe_instructeur
2019-09-02 11:41:12 +02:00
simon lehericey
ba24958035
Procedure add missing_instructeurs?
2019-09-02 11:41:12 +02:00
simon lehericey
64d28dba2f
cleaning : use missing_steps
2019-09-02 11:41:12 +02:00