Projet

Général

Profil

Development #33862

action globale nécessairement python (?)

Ajouté par Frédéric Péters il y a presque 5 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
12 juin 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

D'un mail :

Mais c'est mieux de faire une action globale qu'un statut pour ça et pour les
actions globales c'est nécessairement Python.

À creuser on ne devrait imposer Python nulle part.


Fichiers


Demandes liées

Lié à w.c.s. - Development #30718: [Workflow] Proposer expression Django pour les déclencheurs automatiquesRejeté16 février 2019

Actions

Révisions associées

Révision 757d0333 (diff)
Ajouté par Frédéric Péters il y a presque 4 ans

workflows: add support for django template as anchor date (#33862)

Historique

#1

Mis à jour par Pierre Cros il y a presque 5 ans

Je parlais des déclencheurs automatiques, on peut utiliser une expression python comme date de départ, pas une expression Django ou un Gabarit (mais bon j'ai abandonné l'idée d'en faire un ticket parce que je suis pas certain que ça ait bcp d'intérêt).

#2

Mis à jour par Frédéric Péters il y a presque 5 ans

Option prise ici d'offrir uniquement une option "Expression", qui accepte python ou django, ça peut se discuter.

#3

Mis à jour par Pierre Cros il y a presque 5 ans

ça me va tellement bien que ce serait bien que ce soit comme ça partout ou on peut écrire du code en fait (j'imagine que c'est pas tellement possible) :
  • Expression (ça prend du Python ou du Django)
  • Gabarit
#4

Mis à jour par Frédéric Péters il y a presque 5 ans

Patch qui plutôt crée une nouvelle option "Texte / gabarit", pour se rapprocher de ce qui se fait ailleurs, pour permettre des évolutions communes ensuite.

#5

Mis à jour par Thomas Noël il y a presque 5 ans

Il y a un « |date:"Y-m-d" » qui sera obligatoire et je trouve ça pas évident du tout à expliquer. Je me pose aussi des questions sur les perfs, quand même.

#6

Mis à jour par Frédéric Péters il y a presque 5 ans

Il y a un « |date:"Y-m-d" » qui sera obligatoire.

Peut-être pas, ça passe dans get_as_datetime derrière, qui prend y-m-d, d/m/y, et avec les heures aussi. (mais oui si jamais "5 septembre 2019 16:58" ça va pas le faire, et c'est le rendu d'un {{form_receipt_datetime}}).

Je me pose aussi des questions sur les perfs, quand même.

Pas pires que le eval() du Python. (voire bien meilleures si les variables sont statiques en python et lazy en django).

#7

Mis à jour par Thomas Noël il y a presque 5 ans

Frédéric Péters a écrit :

Il y a un « |date:"Y-m-d" » qui sera obligatoire.

Peut-être pas, ça passe dans get_as_datetime derrière, qui prend y-m-d, d/m/y, et avec les heures aussi. (mais oui si jamais "5 septembre 2019 16:58" ça va pas le faire, et c'est le rendu d'un {{form_receipt_datetime}}).

Oui sur les dates en général ça va être "5 septembre 2019 16:58". J'en viendrais presque à me demander si on ne pourrait pas changer le format d'affichage des dates par défaut lors du calcul de ces gabarits "techniques" ? En tout cas, je pense qu'on devrait mettre un help_text ici, qui explique qu'il faut une date au format Y-m-d.

Je me pose aussi des questions sur les perfs, quand même.

Pas pires que le eval() du Python. (voire bien meilleures si les variables sont statiques en python et lazy en django).

Oui mon idée derrière ça était de vraiment décourager ces usages (par ailleurs souvent difficiles à comprendre/relire/maintenir), mais je n'ose pas le dire trop fort.

#9

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Lié à Development #30718: [Workflow] Proposer expression Django pour les déclencheurs automatiques ajouté
#10

Mis à jour par Thomas Noël il y a environ 4 ans

Comme ça revient sur le tapis, je précise que ma seule remarque sur le patch reste qu'il faudrait ajouter un hint qui précise qu'il faut que le gabarit renvoie le format « yyyy-mm-dd H:M » en heure locale (oui, ça peut être d'autres formats, mais celui-là tout le monde va le comprendre).

#11

Mis à jour par Frédéric Péters il y a environ 4 ans

J'écrivais "mais oui si jamais "5 septembre 2019 16:58" ça va pas le faire, et c'est le rendu d'un {{form_receipt_datetime}})." et ce n'est pas correct, ou plus correct.

{{form_receipt_datetime}} → 17/09/2019 08:05.

Et du coup je ne changerais rien à ma proposition de patch; c'est quand même bien pratique pour l'usager de juste pouvoir taper form_receipt_datetime, ou form_receipt_date, sans avoir à y ajouter un |date:"Y-m-d".

(patch rebasé et poussé dans une branche)

#12

Mis à jour par Thomas Noël il y a environ 4 ans

J'ai peut-être rêvé que ça donnait "5 septembre 2019", toutes mes excuses.

Ack sur le principe donc.

Mais...

Poser ce nouveau choix anchor_template au dessus de anchor_expression ?

Il y aussi le hint sur anchor_expression qu'il faudrait reprendre : hint=_('This will only apply to open forms.'),

Et ça peut faire un autre ticket, mais je profiterai bien de l'occasion pour rappeler que ça doit être une date, ça peut paraître évident mais j'ai déjà eu pas mal de questions genre "est-ce que je dois mettre une condition" pour le choix "Expression Python".

Je propose donc qu'on explicite complètement les titres :
  • title=_('Expression'), → "Date de référence sous forme d'une expression en Python"
  • title=('Text / Template') → "Date de référence sous forme de texte ou de gabarit"

(et si tu ne préfères pas, alors au moins utiliser "String / Template" comme dans le prefill)

#13

Mis à jour par Frédéric Péters il y a environ 4 ans

J'ai peut-être rêvé que ça donnait "5 septembre 2019", toutes mes excuses.

C'est moi qui l'ai écrit...

Yep pour les changements proposés, je vais faire ça.

#15

Mis à jour par Frédéric Péters il y a presque 4 ans

Poser ce nouveau choix anchor_template au dessus de anchor_expression ?

En fait dans le <select> il était déjà au-dessus, donc pas de problème là.

Du côté des libellés j'ai repris sans forcément être tout à fait content des chaines rementionnant "reference date", mais ça pourra toujours s'ajuster à la traduction.

#16

Mis à jour par Thomas Noël il y a presque 4 ans

  • Statut changé de Solution proposée à Solution validée

Frédéric Péters a écrit :

Poser ce nouveau choix anchor_template au dessus de anchor_expression ?

En fait dans le <select> il était déjà au-dessus, donc pas de problème là.

Bien sûr, j'avais encore la tête ailleurs.

Tout ok donc (et oui on trouvera de bons libellés en français)

#17

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 757d0333fb32c28073b8eab27da2e248a88ec4ed
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sun Jun 30 17:22:45 2019 +0200

    workflows: add support for django template as anchor date (#33862)
#18

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF