Commit graph

226 commits

Author SHA1 Message Date
simon lehericey
e19f1bd8c2
sortable? -> sorted_by 2024-08-19 15:29:59 +02:00
simon lehericey
c5c2d5782d
lets keep it private 2024-08-19 15:29:59 +02:00
simon lehericey
7a1c25271d
small refactors 2024-08-19 15:29:56 +02:00
simon lehericey
772424ff5e
move field_enum to instructeur filter component 2024-08-19 15:28:36 +02:00
simon lehericey
73293b0d06
give facet object instead of field_id to instructeur_filter_component 2024-08-19 15:28:36 +02:00
simon lehericey
437e632f6a
move facet_find to Facet.find 2024-08-19 15:28:36 +02:00
simon lehericey
969282e453
remove last field_hash 2024-08-19 15:28:36 +02:00
simon lehericey
305b8c13c7
! BREAKING : break previous filter by type_de_champ_private
simplify type_de_champ_private -> type_de_champ, fix spec, add facet_spec
2024-08-19 15:28:36 +02:00
simon lehericey
2239172fac
move facets list to facets 2024-08-19 15:28:36 +02:00
simon lehericey
49eaf10bce
fields -> facets 2024-08-19 15:28:36 +02:00
simon lehericey
5c09581228
move id to facet and search_by facet_id 2024-08-19 15:28:34 +02:00
mfo
b3cb3e974e
refactor(Facet): extract Facet from ProcedurePresentation
Co-Authored-By: LeSim <mail@simon.lehericey.net>

clean(code): no comment 🎶
2024-08-19 15:27:39 +02:00
Paul Chavard
742e6f4a92 perf(filter): we query by stable_id - no need to check type_de_champ private attribute 2024-04-04 19:01:47 +02:00
Colin Darie
5ab1d45b8a fix(instructeur): don't crash when adding a filter too long 2024-02-21 12:13:47 +01:00
Martin
80f2771c05 correctif(filtres): utilise la derniere version du type de champs de sorte a avoir les bons types 2023-11-14 09:46:29 +01:00
Lisa Durand
129230af88 exclude dossiers with pending correction when instructeur filters on 'en_construction' 2023-09-26 16:36:39 +02:00
Colin Darie
680919a68f
feat(svr): instructor filters with svr wording specific 2023-09-13 13:50:26 +02:00
Colin Darie
cf87419a19
fix(avis): table is only sortable by question_answer, answer is not exposed 2023-08-29 18:01:14 +02:00
Paul Chavard
0f6188a542 chore(annotate): remove model comments 2023-08-02 11:43:23 +02:00
Colin Darie
168189c3ac
feat(sva): instructeurs can filter by sva/svr decision before a date 2023-07-11 10:01:48 +02:00
Lisa Durand
e43eea7fcf
display sva date and possibility to order in instructeur table 2023-07-11 10:01:47 +02:00
Paul Chavard
f7e81965b1 fix(instructeur): filter by departement or region should use code instead of name 2023-06-28 10:14:34 +02:00
Colin Darie
75b2685230 fix(instructeurs): human format a filtered date 2023-06-08 19:01:23 +02:00
Colin Darie
66dc8f251f
Merge pull request #9128 from colinux/fix-procedure-presentation-show-avis
ETQ instructeur je veux pouvoir afficher sans erreur la colonne "avis"
2023-06-05 08:53:39 +00:00
Colin Darie
7e567d5080
fix(instructeurs): don't crash when displaying "avis" column 2023-06-02 17:07:02 +02:00
Colin Darie
5ab44fc7a9
chore: rename dossier_resolution => dossier_correction 2023-06-02 16:16:14 +02:00
Colin Darie
b14a70abf7
feat(instructeur): filter dossiers "en attente" 2023-06-02 16:16:14 +02:00
Colin Darie
ff8fba3725
fix(instructeur): can filter by avis answer 2023-05-23 09:40:21 +02:00
Martin
386523019d amelioration(instructeurs/procedure#show): ETQ instructeur, je souhaite avoir les mêmes compteurs entreles pages listant mes demarches et la page pour visualiser une démarches 2023-05-09 13:59:49 +02:00
Paul Chavard
b88d984828 fix(instructeur): exclude repetitions from filters/display 2023-05-09 11:38:06 +02:00
Lisa Durand
384b7f9fac simplify humanized groupe instructeur filter 2023-04-25 14:15:40 +02:00
Lisa Durand
34697a3085 add missing translation for filter groupe instructeur 2023-04-20 17:32:36 +02:00
Lisa Durand
65730bcfcb display avis_anwser yes/no in table 2023-04-20 15:55:31 +02:00
Lisa Durand
9065e57e62 add aria-sort on sortable column 2023-04-05 10:05:51 +02:00
Paul Chavard
531c5ec056 fix(filter): fix find type de champ by stable_id 2023-02-24 13:32:46 +01:00
Martin
fc1bb68a3a correctif(filtres): les filtres par colonne se font par stable_id, non pas par id 2023-02-24 09:39:16 +01:00
Martin
a89f5d373f amelioration(procedures#filtres): filtre par regions avec un enum sur la collection des regions normalisés 2023-02-20 11:47:14 +01:00
Martin
68de0c6566 correctif(procedures#filtres): le filtre par departement ne fonctionnait plus. utilise un enum sur la collection des departements possible normalisés 2023-02-20 11:47:14 +01:00
Colin Darie
5cddb1c74e fix(procedure_presentation): options groupe_instructeur for that procedure only 2023-01-31 13:55:06 +01:00
Paul Chavard
44488c7014 feat(dossier): use select in filters bygroupe instructeur 2023-01-16 14:00:08 +01:00
Colin Darie
c673950e56 fix(instructeurs): behavior of sort by notifications checkbox (updated_at desc) 2022-12-20 15:51:47 +01:00
Colin Darie
7ff04c1a05
style(instructeurs): human/i18n value for state filter 2022-12-15 09:34:10 +01:00
simon lehericey
6a5a82ce06 fix(instructeur dashboard): dossiers filtered on multiple states 2022-10-03 15:18:46 +02:00
Martin
aceb8996c1 feat(instructeur/procedure#show): enhance sort by notifications as planned by UX
Update app/javascript/controllers/checkbox_controller.ts

Co-authored-by: Paul Chavard <github@paul.chavard.net>
2022-09-30 10:29:51 +02:00
Martin
d7cce3c982 fix(instructeur/procedures#show): Procedure presentation filterable state field is in conflict with projected state field. quick fix, maybe will refactor both to align them 2022-09-28 15:28:51 +02:00
Martin
ba6c5b4db7 feat(instructeur/procedure#index): enhance filter to support processed_at and state [plus en_instruction_at/since]
feat(filter): enable filter on dossiers.state, dossiers.processed_at(since), dossiers.en_instruction_at(since)
2022-09-27 17:19:54 +02:00
Paul Chavard
435a635b3d fix(procedure_presentation): find last instance of type_de_champ through coordinates 2022-08-02 15:24:52 +02:00
Martin
56f7133799 fix(procedure_presentation): can not present a 'virtual field' like depose_since
fix(data): add migration to remove fields depose_since from existing procedure presentation
2022-06-14 09:02:37 +02:00
Paul Chavard
95a1ea1047 feat(procedure_presentation): add since date filters 2022-06-09 13:01:22 +01:00
simon lehericey
9fd5219751 fix sort in procedure presentation 2022-04-15 12:21:39 +02:00
Paul Chavard
22f23c58c7 fix(dossiers): fix columns order 2022-04-14 17:04:42 +02:00
Paul Chavard
83a8d87e95 i18n(procedure_presentation): translate fields 2022-04-14 11:38:01 +02:00
Paul Chavard
23e2429d0d fix(export): make count argument optional 2022-04-06 17:08:38 +02:00
Paul Chavard
9904dabffe feat(procedure_presentation): pass filters as serialized snapshot 2022-04-06 17:08:38 +02:00
Paul Chavard
be1a2f916d feat(exports): add statut and procedure_presentation to exports 2022-04-06 17:08:38 +02:00
Paul Chavard
ec3ed049ef refactor(procedure_presentation): expose filtered_sorted_ids method 2022-04-05 15:50:53 +02:00
Paul Chavard
6da54936b7 refactor(procedure_presentation): use internal reference to instructeur 2022-04-05 09:42:23 +02:00
Pierre de La Morinerie
fbe0410702 models: fix a typo in a ProcedurePresentation's comment 2022-03-22 07:58:44 +01:00
Pierre de La Morinerie
31bd05f835 models: inverse the direction of the User role associations 2022-03-22 07:58:44 +01:00
Paul Chavard
2ba05bfb4f fix(dossier): use depose_at instead of en_construction_at 2021-12-06 15:49:17 +01:00
Paul Chavard
64cfb4d64e Fix sort with revisions 2021-07-23 10:57:04 +02:00
Pierre de La Morinerie
32ab2f0a80 instructeur: limit the maximum size of a filter value
This prevents the URL from exceeding the max size, and
causing '414: Request-URI too large' errors.
2021-07-20 14:49:48 +02:00
Pierre de La Morinerie
40b3ea8ad6
Revert "Instructeurs : limitation de la valeur d'un filtre à 100 caractères" 2021-07-13 18:19:46 +02:00
Pierre de La Morinerie
3c8a88a660 instructeur: limit the maximum size of a filter value
This prevents the URL from exceeding the max size, and
causing '414: Request-URI too large' errors.
2021-07-08 16:17:22 +02:00
Paul Chavard
19195008e8 Expose removed types_de_champ in exports 2021-06-23 09:40:07 +02:00
simon lehericey
eadae7af6b show all available tdc for procedure presentation 2021-06-23 09:40:07 +02:00
François Vantomme
c9b1095d1e Refactor (Rubocop): replace map{ … }.compact by filter_map
In Ruby 2.7, Enumerable#filter_map has been added.
This cop identifies places where map { … }.compact can be replaced by filter_map.

See: https://docs.rubocop.org/rubocop-performance/cops_performance.html#performancemapcompact
2021-06-11 15:38:09 +02:00
simon lehericey
50f679746f do not extract twice the same dossier_id if the dossier is followed twice 2021-05-04 16:38:34 +02:00
simon lehericey
553e1d973c remove old methods 2021-04-22 10:46:04 +02:00
simon lehericey
e0959cda1e constantize hot strings
- 1131 objects over 4220 (-25%) created in app/
2021-04-16 13:13:22 +02:00
simon lehericey
47f13219ed Avoid useless TypeDeChamp deserialization
- 520 objects overs 4720 (10%) created in app/ (using ?pp=profile-memory&memory_profiler_allow_files=app/)
2021-04-16 13:13:22 +02:00
simon lehericey
e728a3fcb7 include type_de_champ
Avoid n+1 when matching champ.stable_id in procedure.presentation.displayed_fields_values
win 2s in the worst 3s scenario
2021-04-16 13:13:22 +02:00
Paul Chavard
a9a4f6e2a8 Add migration task to use stable_id in filters 2020-12-17 10:51:09 +01:00
simon lehericey
024cc70667 human_value use stable_id ? 2020-12-17 10:51:09 +01:00
simon lehericey
4960eda5cb use stable id 2020-12-17 10:51:09 +01:00
simon lehericey
f07b395d95 sort : remove superfluous return 2020-12-17 10:51:08 +01:00
simon lehericey
f37c27a243 nicer find_field 2020-12-17 10:51:08 +01:00
simon lehericey
e5da1d7111 move remove_filter 2020-12-17 10:51:08 +01:00
simon lehericey
4241ea05f3 move add_filter 2020-12-17 10:51:08 +01:00
simon lehericey
e3ee756da4 move update_sort 2020-12-17 10:51:08 +01:00
simon lehericey
b7a43f3f44 move update_displayed_fields to procedure_presentation 2020-12-17 10:51:08 +01:00
simon lehericey
cbccdea8e0 move displayed_fields for select to procedure_controller 2020-12-17 10:51:08 +01:00
simon lehericey
55998b1284 remove unused dossier_field service 2020-12-17 10:51:08 +01:00
clemkeirua
47181ca80b remove assert_matching_procedure 2020-10-28 13:51:35 +00:00
clemkeirua
9b324614b8 transform_values instead of map+to_h 2020-09-25 12:53:11 +00:00
Paul Chavard
a3f3b8a8e0 procedure.dossiers through revisions 2020-09-22 10:55:17 +02:00
clemkeirua
f96377d878 refactor Dossier#with_notifications 2020-09-21 08:28:42 +00:00
clemkeirua
c7b96d3d43 add feature-flip for instructeurs on cached notifications 2020-09-08 15:40:42 +00:00
Pierre de La Morinerie
ce53e219e0 models: require belong_to associations on procedure_presentation
Some tests are still failing
2020-08-18 15:57:37 +02:00
Pierre de La Morinerie
6d28069539 models: generate annotations 2020-08-12 11:45:53 +02:00
Pierre de La Morinerie
cd65dc14dd models: fix ProcedurePresentation#sorted_ids
The `Dossier#with_notifications` scope needs to be composed with an
`instructeurs` scope. But it seems Rails 6 will only generate proper
SQL if the `instructeurs` scope is merged before filtering on
`with_notifications`.
2020-07-07 18:03:56 +02:00
Paul Chavard
34df07bc96 Fix oui/non filter on type_de_champ_private 2020-06-23 11:33:46 +02:00
Judith
0e75910d58 ajout de human_to_filter 2020-06-10 15:53:09 +02:00
Judith
ad53dfa84d Instructeurs: Changed the filters from 'true/false' to 'oui/non' for yes_no type_de_champ 2020-06-10 15:50:41 +02:00
clemkeirua
cfc584f496 suppression des preconditions sur sorted_ids et filtered_ids
Ces preconditions induisent un probleme de n+1. On peut résoudre le problème en supprimant la précondition, ou en incluant les procedures dans les dossiers
J'ai opté pour la suppression de la précondition, qui avait fait débat lors de son introduction:

667deae5cc (diff-b6be6196cd739f8b31e0b195677e46d6R176)
2020-02-26 15:21:42 +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
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
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
simon lehericey
e2acb0a946 ProcedurePresentation: can use groupe instructeur 2019-09-18 15:51:02 +02:00
simon lehericey
3fde2a6f70 Rename gestionnaire in code to instructeur 2019-08-12 13:47:01 +02:00