Projet

Général

Profil

Development #47367

historique d'un workflow : le détail est un peu trop laconique

Ajouté par Thomas Noël il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
05 octobre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Sur un changement d'une action je vois juste le type de l'action, par exemple "Changement dans l’action « Webservice »", ça serait sympa qu'il y ait aussi la mention du statut concerné, au moins.


Fichiers


Demandes liées

Lié à w.c.s. - Development #47935: La sérialisation des snapshots contient un timestampRejeté21 octobre 2020

Actions

Révisions associées

Révision 94b74b29 (diff)
Ajouté par Nicolas Roche (absent jusqu'au 3 avril) il y a plus de 3 ans

snapshots: detail status action comments (#47367)

Historique

#1

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a plus de 3 ans

Je ne me suis pas assigné le ticket car je ne suis pas sûr de ma proposition :
(mais quand j'ai lu "laconique" j'ai pensé que dans un sens, ça pouvait s'adresser à moi.)
  • quand il n'y a pas de changement détecté, on n'enregistre rien,
  • ajoute le statut et le nom de l'action dans le commentaire à l'ajout, édition et retrait des actions,
  • ajoute le libellé de l'action au commentaire s'il est présent,
  • détaille la modification (le champ et la nouvelle valeur) s'il n'y a qu'un champ de modifié une et sinon liste les champs modifiés.
#2

Mis à jour par Frédéric Péters il y a plus de 3 ans

Pas fan de ces méthode comment_submition (au-delà de la typo) et comment_deletion, elles ne m'évoquent pas du tout l'idée qu'on parle de l'historique; plutôt avoir get_snapshot_message_line, genre. (pas fan non plus du positionnement, elles ne devraient pas venir s'intercaler entre fill_admin_form et submit_admin_form qui forment une unité).

         else:
+            comment = self.item.comment_submition(form)
+            if not comment:
+                get_session().message = ('warning', _('No change was introduced'))
+                return redirect('..')

Pas utile, s'il n'y a pas de modification il n'y aura de toute façon pas de nouveau snapshot créé.

+    def get_admin_form_changes(self, form):

Je zapperais tout à fait, ça va fournir des lignes trop longues; si on veut ajouter un niveau de détails supplémentaires aux messages, il faudra passer par davantage de changements d'UI. Passons donc.

~~

J'en reviendrais à la description du ticket sans tentative d'aller dans ce qui n'y est pas écrit, et verrait simplement l'ajout du statut, i.e. passer de "Changement dans l’action « Webservice »" à "Changement dans l’action « Webservice » dans le statut « Plop »"; i.e.

-            self.workflow.store(comment=_('Change in action "%s"') % _(self.item.description))
+            self.workflow.store(comment=_('Change in action "%(description)s" in status "%(status)s"') % {...}) 

et si self.item.description est trop vague, il existe déjà une fonction render_as_line qui assure ce qui est affiché pour présenter l'action, utiliser ça.

Et pareil,

-            self.workflow.store(comment=_('Deletion of action "%s"') % _(self.item.description))
+            ...

Sans faire intervenir de nouvelle méthode.

                 self.status.append_item(action_type)
+                description = next((x.description for x in item_classes
+                              if x.key == action_type), None)

Le next() me semble vouloir dire [0], je préfère vraiment qu'il soit écrit [0]. Mais aussi/surtout, le append_item retourne l'action ajoutée, il suffit de se baser dessus plutôt que chercher à nouveau quelque chose.

+                self.workflow.store(comment=_('New action: %s" in status "%s"') % (

Les autres n'ont pas de signe deux-points. (+ y manque le guillemet ouvrant).

#3

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a plus de 3 ans

Remarques prise en compte

s'il n'y a pas de modification il n'y aura de toute façon pas de nouveau snapshot créé.

(j'ai quand même un doute là dessus.)

#4

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a plus de 3 ans

  • Assigné à mis à Nicolas Roche (absent jusqu'au 3 avril)
#5

Mis à jour par Frédéric Péters il y a plus de 3 ans

(j'ai quand même un doute là dessus.)

C'est

        if label is not None or latest is None or obj.serialization != latest.serialization:
            # save snapshot if there are changes or an explicit label was
            # given.
            obj.store()

pour ne pas enregistrer un nouveau snapshot si le précédent se sérialise de la même manière.

Si tu rencontres une situation différente (peut-être parce que les éléments de la sérialisation dans un ordre différent ?, ou parce qu'elle contiendrait un timestamp ?), n'hésite pas à créer un ticket.

#6

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a plus de 3 ans

  • Lié à Development #47935: La sérialisation des snapshots contient un timestamp ajouté
#7

Mis à jour par Frédéric Péters il y a plus de 3 ans

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

(cycle suivant)

#8

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 94b74b29c39513fccde1ab1e7be3d1afaa9aa600
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Fri Oct 16 19:37:12 2020 +0200

    snapshots: detail status action comments (#47367)
#9

Mis à jour par Frédéric Péters il y a plus de 3 ans

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

Formats disponibles : Atom PDF