Projet

Général

Profil

Development #17601

déplacer du code de la visualisation du journal d'une demande de la vue vers le modèle

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
13 juillet 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

L'idée est d'arriver ensuite à écrire un template django de rendu du journal qui ne soit pas trop compliqué.


Fichiers

Révisions associées

Révision 98b74edd (diff)
Ajouté par Frédéric Péters il y a plus de 6 ans

formdata: keep link from evolution objects to related formdata (#17601)

Révision db4d4778 (diff)
Ajouté par Frédéric Péters il y a plus de 6 ans

templates: use a template to render formdata history (#17601)

Historique

#1

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

0001 pour permettre depuis l'objet Evolution de retrouver le formdata correspondant.

0002 pour le véritable déplacement du code des vuers vers l'objet.

#2

Mis à jour par Thomas Noël il y a plus de 6 ans

0001: ok

0002:
  • factoriser evo_author = evo.get_author_name()
  • et j'ai pas compris le calcul de evo_author_more mais c'est la fatigue
#3

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

et j'ai pas compris le calcul de evo_author_more mais c'est la fatigue

J'avais regardé et ce truc remontait à loin, à l'utilisation de "user_hash", et donc un tas de trucs compliqués qui avaient aujourd'hui comme seul résultat d'afficher "(Original Submitter)" derrière le nom de l'usager.

Tout ça est bien beau mais il y a un troisième commit à ce ticket, visible dans la branche :
https://git.entrouvert.org/wcs.git/commit/?h=wip/django&id=6a451dcf35452005a770a246701dd50119a4058b

Et il supprime de toute façon ce code python. (en fait même pour 0002 vaut mieux regarder la branche).

Au final cette partie donne :

    def get_author_qualification(self):
        if self.who == '_submitter' and not self.formdata.is_submitter(get_request().user):
             return _('Original Submitter')
        return None

Et donc on affiche "original submitter" derrière le nom de l'usager, quand ce n'est pas lui qui consulte.

#4

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

En fait tout ça est bien plus lisible une fois réuni en un seul commit. En laissant 0001 comme il est ici, voici les deux autres patchs de la branche réunis.

#5

Mis à jour par Thomas Noël il y a plus de 6 ans

Je pense que sur l'algo qui évite d'afficher 10 fois un status, il y a une différence de logique entre le if not (parts_value or evo.status != previous_status): dans l'ancien code et le if evolution.who or evolution.is_status_change or display_parts du template.

Dans le premier, le previous_status est bien celui qu'on a affiché en dernier, en fonction de l'usager (s'il y a le droit de le voir ou pas). Dans le template, is_status_change ne prend pas en compte l'usager, il regarde juste si le statut est nouveau dans la liste des évolutions.

Dans le cadre d'une évolution genre "en attente","relance interne","en attente" où la relance n'est pas visible de l'usager, on doit juste afficher "en attente" une seule fois.

Je me demande dans quelle mesure on ne pourrait pas juste utiliser le "ifchanged" de Django (https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#ifchanged) -- ah non, y'a l'heure...

#6

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

C'est très juste, patch revu https://git.entrouvert.org/wcs.git/commit/?h=wip/django&id=7d24ec44ee86480dd42239a6f53a7108f6f54750

Aussi, ce qui n'était pas fait avant (même avant django il me semble), ça prend en compte l'auteur, comme ça deux interventions dans un même statut par deux personnes différentes, même s'il n'y a ni commentaire ni rien d'autre à afficher, seront visibles.

Et yield, parce que 2017.

#7

Mis à jour par Thomas Noël il y a plus de 6 ans

Ack

#8

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

  • Statut changé de En cours à Résolu (à déployer)
commit db4d4778986e33e9e4eb49932f8a44ea08f01f53
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jul 13 11:29:45 2017 +0200

    templates: use a template to render formdata history (#17601)

commit 98b74edd3fd54d7b92ed5f990d40e2c874c9c57f
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jul 13 10:40:01 2017 +0200

    formdata: keep link from evolution objects to related formdata (#17601)
#9

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

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

Formats disponibles : Atom PDF