critère de filtrage sur l'agent ayant fait la saisie (#57779) #1390

Merged
fpeters merged 3 commits from wip/57779-submission-agent-filter into main 2024-04-12 10:27:55 +02:00
Owner

(Profiter de ce ticket pour déplacer du code hors de wcs/backoffice/management.py)

(Profiter de ce ticket pour déplacer du code hors de wcs/backoffice/management.py)
fpeters added 2 commits 2024-04-10 09:13:03 +02:00
fpeters force-pushed wip/57779-submission-agent-filter from 0e3833d930 to 62b8320699 2024-04-10 09:58:53 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 62b8320699 to 3cf645859d 2024-04-10 10:00:52 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 3cf645859d to 0600425833 2024-04-10 11:03:06 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 0600425833 to 54e1efee6f 2024-04-10 11:13:05 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 54e1efee6f to 1786a7bc15 2024-04-10 11:20:00 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 1786a7bc15 to 4acbac04bc 2024-04-10 11:29:45 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 4acbac04bc to 59b7f7c56d 2024-04-10 11:38:38 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 59b7f7c56d to eda7ee6dd5 2024-04-10 12:20:11 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from eda7ee6dd5 to f11c9d7b78 2024-04-10 14:21:33 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from f11c9d7b78 to 4ff56ecfed 2024-04-10 14:28:52 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from 4ff56ecfed to c5dba09be0 2024-04-10 14:36:55 +02:00 Compare
fpeters force-pushed wip/57779-submission-agent-filter from c5dba09be0 to ecb0ad58dc 2024-04-11 09:46:00 +02:00 Compare
fpeters reviewed 2024-04-11 12:32:39 +02:00
fpeters left a comment
Author
Owner

Le premier commit déplace la classe "FakeField" vers un nouveau fichier, le renomme en FilterField, puis modifie les choses pour avoir une classe par filtre (vs se baser sur ce qui était passé au constructeur), c'est-à-dire, plutôt que :

 FakeField('name', 'display_name', _('Name')

on a :

class DisplayNameFilterField(FilterField):
    id = 'name'
    key = 'display_name'
    label = _('Name')

et juste filter_fields.DisplayNameFilterField() pour y faire référence.

Ça montre certaines incohérences actuelles, particulièrement en lien avec le ticket, on a :

FakeField('submission-agent', 'submission-agent-id', _('Submission Agent'))
(...)
FakeField('submission_agent', 'submission_agent', _('Submission By'))

(ça demande une migration sur les vues personnalisées pour uniformiser le nom)

(Il reste des trucs à analyser/améliorer par la suite, par exemple il y a un IdFilterField et un IdentifierFilterField.)

Ensuite le second commit, il déplace le code d'affichage des widgets des filtres vers les nouvelles classes, ça fait quelque chose de plus propre même si ça pourrait être amélioré encore (par exemple en déplaçant aussi les widgets des filtres des champs "normaux" vers leurs propres classes).

En passant il apparait que c'est nécessaire pour les filtres d'avoir une référence au formdef (par exemple pour que le filtre sur le statut n'apparaisse pas si le workflow ne propose pas plusieurs statuts).

Aussi, il y avait une méthode get_filterable_field_types() et c'est remplacé par un attribut sur les classes. (available_for_filter).

Le dernier commit est la demande du ticket, ça modifie le filtre SubmissionAgent pour avoir un <select> qui reprend une option "utilisateur connecté" (pas une demande du ticket mais le code était déjà là) et les différents utilisateurs qui ont un rôle permettant la saisie backoffice de la demande.


Pas abordé dans cette PR, il y aurait aussi à déplacer vers ces classes du code qui est actuellement dans le get_field_view_value de wcs/formdata.py, mais ça sera une autre PR.

Le premier commit déplace la classe "FakeField" vers un nouveau fichier, le renomme en FilterField, puis modifie les choses pour avoir une classe par filtre (vs se baser sur ce qui était passé au constructeur), c'est-à-dire, plutôt que : ``` FakeField('name', 'display_name', _('Name') ``` on a : ``` class DisplayNameFilterField(FilterField): id = 'name' key = 'display_name' label = _('Name') ``` et juste `filter_fields.DisplayNameFilterField()` pour y faire référence. Ça montre certaines incohérences actuelles, particulièrement en lien avec le ticket, on a : ``` FakeField('submission-agent', 'submission-agent-id', _('Submission Agent')) (...) FakeField('submission_agent', 'submission_agent', _('Submission By')) ``` (ça demande une migration sur les vues personnalisées pour uniformiser le nom) (Il reste des trucs à analyser/améliorer par la suite, par exemple il y a un IdFilterField et un IdentifierFilterField.) Ensuite le second commit, il déplace le code d'affichage des widgets des filtres vers les nouvelles classes, ça fait quelque chose de plus propre même si ça pourrait être amélioré encore (par exemple en déplaçant aussi les widgets des filtres des champs "normaux" vers leurs propres classes). En passant il apparait que c'est nécessaire pour les filtres d'avoir une référence au formdef (par exemple pour que le filtre sur le statut n'apparaisse pas si le workflow ne propose pas plusieurs statuts). Aussi, il y avait une méthode get_filterable_field_types() et c'est remplacé par un attribut sur les classes. (available_for_filter). Le dernier commit est la demande du ticket, ça modifie le filtre SubmissionAgent pour avoir un `<select>` qui reprend une option "utilisateur connecté" (pas une demande du ticket mais le code était déjà là) et les différents utilisateurs qui ont un rôle permettant la saisie backoffice de la demande. ---- Pas abordé dans cette PR, il y aurait aussi à déplacer vers ces classes du code qui est actuellement dans le get_field_view_value de wcs/formdata.py, mais ça sera une autre PR.
fpeters changed title from WIP: critère de filtrage sur l'agent ayant fait la saisie (#57779) to critère de filtrage sur l'agent ayant fait la saisie (#57779) 2024-04-11 12:32:53 +02:00
lguerin approved these changes 2024-04-12 10:16:43 +02:00
fpeters merged commit b924ee5744 into main 2024-04-12 10:27:55 +02:00
fpeters deleted branch wip/57779-submission-agent-filter 2024-04-12 10:27:55 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#1390
No description provided.