Projet

Général

Profil

Development #25057

changer les templates de vue pour pouvoir fournir toute la page

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

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Certaines pages (remplissage, validation, statut) ont été converties pour être rendues via un template mais il s'agit de templates partiels, dont la sortie va être une chaine de caractère qui à son tour sera passée dans un template plus englobant (wcs/base.html). Plutôt, il faudrait que ces templates {% extends "wcs/base.html" %}, ce qui donnera toute la souplesse nécessaire tout en évitant des risques de recalcul.


Fichiers

Révisions associées

Révision 6aebe1a4 (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

general: always use a django template to render pages (#25057)

Révision 29a82c1d (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

adapt to template changes (#25057)

Historique

#1

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

Voilà c'est plutôt moche à cause d'auquotidien avec des thèmes en ezt.

J'aurais aimé dire que pour les sites Publik où le thème ne définit pas de template spécifique ça ne changeait rien, zéro risque, mais c'est quand même un peu faux, et va me falloir un autre argument pour faire valider ça rapidement. (j'en aurais besoin pour GNM).

#3

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

un autre argument pour faire valider ça rapidement.

L'argument c'est que j'ai ajouté aux tests une variante supplémentaire qui se base sur le rendu via un template, qui est un chemin qu'on exerçait déjà (en partie) via publik-base-theme (qui a wcs/base.html), sans que ça ne soit testé. Ce patch passe tous les tests et en ajoute, c'est donc vraiment bon™.

#4

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

(il manquait un petit fichier dans le patch, qui est intégré dans https://git.entrouvert.org/wcs.git/log/?h=wip/25057-full-templates)

#5

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

En premier passage rapide, je bloque pour l'instant sur l'ajout du kwargs dans def get_decorate_vars(body, response, generate_breadcrumb=True, **kwargs): car il y a un kwargs = {} quelques lignes en dessous... Un reste d'un début d'idée ?

#6

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

Il est utilisé dans le patch auquo dessous.

#7

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

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

Il est utilisé dans le patch auquo dessous.

Justement, je vois pas où... (j'espère ne pas passer pour un aveugle)...

def get_decorate_vars(body, response, generate_breadcrumb=True, template_context=None, **kwargs):
    if template_context and 'form_side' in template_context:
        # force rendering as it will put new variables in the context
        template_context['form_side'] = template_context['form_side']()

    for key in ('bigdiv', 'gauche'):
        if not response.filter.has_key(key):
            response.filter[key] = None

    return wcs_get_decorate_vars(body, response, generate_breadcrumb)
#8

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

La signature est différente,

+def get_decorate_vars(body, response, generate_breadcrumb=True, **kwargs): côté wcs

et +def get_decorate_vars(body, response, generate_breadcrumb=True, template_context=None, **kwargs): côté auquotidien.

Et template_context est passé dans render_template, dans compat.py.

#9

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

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

Ok... désolé.

Bon c'est pas très joli mais difficile de faire autrement tant que auquotidien, effectivement.

Testé en local, j'ai rien vu, rien n'est modifié, rien ne change, rien n'évolue : c'est parfait.

À pousser au plus tôt, histoire de vivre une semaine avec.

#10

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

  • Statut changé de Solution validée à Solution déployée

Formats disponibles : Atom PDF