Development #45564
Disposer d'une "Condition d’exécution de l’action" sur le déclencheur manuel d'une action globale
0%
Description
Sur un WF avec plusieurs actions globales à déclencheurs manuels, exemple : https://formulaires-saint-denis-93.test.entrouvert.org/backoffice/workflows/2/
il serait intéressant de ne pas afficher ces actions sur certains statuts avec une condition du type form_status != "Demande transmise"
.
Ce qui est actuellement possible : poser une telle condition sur la saut automatique de l'action globale (exemple : https://formulaires-saint-denis-93.test.entrouvert.org/backoffice/workflows/2/global-actions/12/items/1/) ce qui bloque cette action MAIS le bouton reste affiché (à l'usager ou à l'agent).
Ce qui est souhaité : poser une telle condition sur le déclencheur manuel afin que le bouton n'apparaisse pas du tout (NB, c'est le comportement pour les sauts manuels déclarés sur un statut)
Related issues
History
Updated by Frédéric Péters over 3 years ago
Je dois déjà avoir dit non parce que ça voudrait dire introduire un truc bizarre où ces conditions ne seraient pas prises en compte pour les actions de masse; mais bon, on pourrait imaginer rendre la présence en action de masse un choix explicite, et poser l'exclusive entre la condition et ce choix.
Mais plutôt contre l'idée du ticket.
Updated by Stéphane Laget about 2 years ago
Pour alimenter le sujet qui revient à l'ordre du jour à Lyon (#56944), ce qui serait bien ce serait d'avoir la possibilité de définir une condition au niveau du déclencheur manuel (sous les fonctions) pour éviter d'avoir des boutons non pertinents dans l'interface de traitement.
Updated by Thomas Noël about 2 years ago
Quel genre de condition par exemple ?
Dans ce ticket il est question d'une action globale qui en fait n'est pas globale (pas affichée sur tous les status). On peut entendre le besoin, mais pas sa résolution par de la bidouille de condition (il faut reprendre le workflow). Pour rappel, on peut déjà sauter vers un statut et à la fin revenir au statut de départ, ce mécanisme permet de créer des « sous-workflows » accessibles par boutons au travers de sauts manuels, sur les statuts qu'on décide, avec les conditions qu'on décide. Utilise des actions globales pour faire ce genre de chose, c'est Mal.
Updated by Mikaël Ates about 2 years ago
On va parfois préférer "l'action globale" au "saut manuel avec identifiant sur les statuts concernés" pour bénéficier de l'action de masse sans avoir à faire un filtrage sur le statut.
Updated by Thomas Noël about 2 years ago
Mikaël Ates a écrit :
On va parfois préférer "l'action globale" au "saut manuel avec identifiant sur les statuts concernés" pour bénéficier de l'action de masse sans avoir à faire un filtrage sur le statut.
Donc on parlerait d'action globale uniquement destinée à un usage en action de masse, à ne pas afficher dans les actions de chaque demande, uniquement sur les listings ? Ca peut s'entendre, je trouve.
(mon but est d'obtenir des fonctionnalités claires dans Publik, selon les besoins, et qui ne nécessitent pas du paramétrage via du code -- les conditions sont du code, quand bien même il est "low")
Updated by Stéphane Laget about 2 years ago
Un avantage de l'action globale, c'est que la présence de ce bouton ne va pas positionner les demandes en "en attente de votre part" dans les vues de traitement, à la différence du saut manuel.
Imaginons un cas d'usage :
- on souhaite mettre une demande "en attente" (parce qu'en cours de traitement dans les services techniques) jusqu'à une certaine date. L'agent GRU doit pouvoir reprendre la main sur la demande à tout moment, mais il ne souhaite pas voir cette demande dans ses demandes "en attente de votre part".
Avec une action globale nommée "Reprendre le traitement" avec un saut qui fait passer la demande de "en attente" vers "traitement en cours", cette demande ne va pas être considérée comme "en attente de votre part", même si l'agent GRU peut agir sur cette demande.
Donc on souhaiterait que le bouton "reprendre le traitement" ne soit visible que si la demande est sur le statut "en attente", et pas sur l'ensemble des statuts.
(et oui, c'est un contournement fonctionnel de l'action globale)
Updated by Thomas Noël about 2 years ago
Stéphane Laget a écrit :
Donc on souhaiterait que le bouton "reprendre le traitement" ne soit visible que si la demande est sur le statut "en attente", et pas sur l'ensemble des statuts.
(et oui, c'est un contournement fonctionnel de l'action globale)
Contournement total et vraiment pas bien, juste pour éviter donc que la demande soit vue comme "en attente de votre charge", c'est triste.
Bref, un autre besoin s'exprime ici de décider que même si on a un rôle sur une action (typiquement un saut manuel), ce n'est pas pour autant qu'une intervention est attendue. On ne devrait pas être dans les "rôles impliqués" (concerned_roles, dans le code). C'est un vieux sujet, déjà rencontré, dans mes souvenirs on n'avait pas de piste de travail clair. Mais un ticket qui exprime clairement ce besoin rencontrerait certainement son public...
Updated by Stéphane Laget about 2 years ago
Thomas Noël a écrit :
Mais un ticket qui exprime clairement ce besoin rencontrerait certainement son public...
et voilou : #56952
Updated by Pierre Cros over 1 year ago
Je reprend le fil initial du ticket pour dire que moi aussi je trouverai intéressant d'avoir une action globale conditionnée (apparition du bouton conditionnée) ça permettrait un truc tout à fait intéressant pointé par Brice : des actions en masse possibles sur un statut particulier et pas sur les autres.
Je peux faire financer ça au Nord sans doute, projet qui démarre et qu'on doit chiffrer.
Fred, j'ai pas compris le "truc bizarre où ces conditions ne seraient pas prises en compte pour les actions de masse" mais si c'est toujours d'actualité ce serait pas mal de l'expliciter et de fermer le ticket, je chercherai autre chose.
Updated by Frédéric Péters over 1 year ago
Fred, j'ai pas compris le "truc bizarre où ces conditions ne seraient pas prises en compte pour les actions de masse" mais si c'est toujours d'actualité ce serait pas mal de l'expliciter et de fermer le ticket, je chercherai autre chose.
C'était il y a deux ans, c'était peut-être :
| [x] | ........ | ..... | ... | [x] | ........ | ..... | ... | [x] | ........ | ..... | ... [action]
ceci est un tableau de traitement, avec des demandes sélectionnées et un bouton [action]; cliquer dessus, ça fait quoi ?
- ça exécute l'action sur les demandes sélectionnées ? (non respect de la condition)
- ça n'exécute pas l'action sur les demandes sélectionnées ? (non respect de la sélection)
Et c'est donc peut-être pour éviter ce moment où il y a nécessairement un bout pas respecté que j'écrivais à la suite "poser l'exclusive entre la condition et ce choix [d'apparaitre en action de masse]".
(le ticket à l'origine ne parle pas d'action de masse, ça semblait une position permettant d'avancer).
Updated by Stéphane Laget over 1 year ago
Frédéric Péters a écrit :
- ça n'exécute pas l'action sur les demandes sélectionnées ? (non respect de la sélection)
ça me parait le plus sage et le plus logique.
Updated by Pierre Cros over 1 year ago
Le but de la condition pour moi c'est de ne pas afficher le bouton, même après sélection d'une demande, quand on ne veut pas qu'il s'affiche (quand la condition n'est pas respectée), s'il s'affiche c'est que la condition est respectée et quand on clique il s'applique aux demandes sélectionnées.
Visiblement je rate un truc, et donc désolé.
Updated by Pierre Cros over 1 year ago
Pierre Cros a écrit :
Visiblement je rate un truc, et donc désolé.
Et j'ai finalement compris qu'une condition était interprétée dans le contexte d'une demande et pas dans le contexte d'un listing... on pourrait imaginer que si la condition n'est pas remplie dans le contexte d'une des demandes sélectionnée le bouton se grise et deviennent inopérant.
Mais si trop compliqué/coûteux je rejoins Steph
Updated by Frédéric Péters over 1 year ago
Il y a un problème de perf à venir si pour chacune des lignes d'un tableau de traitement il y a à charger toute la demande et exécuter une ou plusieurs conditions libres dessus.
J'ai mis en gras pour pointer l'origine du problème de perf. Pour dire aussi que, par exemple, "sur un déclencheur d'action globale, en plus du destinataire, je voudrais pouvoir sélectionner des statuts particuliers, pour que l'action globale ne soit pas proposée systématiquement" serait un autre ticket, avec d'autres considérations.
(ce commentaire écrit en réaction au numéro 12).
Updated by Pierre Cros over 1 year ago
- Related to Development #65898: Pouvoir sélectionner des statuts particuliers sur un déclencheur d'action globale added
Updated by Pierre Cros over 1 year ago
C'est clair et j'ai fait le ticket dont tu parles.
Pour moi on peut fermer ici mais je laisse steph et Brice dire si c'est ok pour eux avec l'autre ticket.
Updated by Stéphane Laget over 1 year ago
les conditions sur une action globale ne couvrent pas uniquement le "statut" (même si cela serait très utile). C'est seulement un des cas des usages.
Updated by Pierre Cros over 1 year ago
Le cas d'usage que tu évoquais "Donc on souhaiterait que le bouton "reprendre le traitement" ne soit visible que si la demande est sur le statut "en attente", et pas sur l'ensemble des statuts." me semble couvert par le nouveau ticket.
Pour expliciter les autres cas d'usage auxquels tu penses, peut-être un ticket dédié ?
Updated by Brice Mallet over 1 year ago
- Status changed from Nouveau to Fermé