[OpenERP] Vue Kanban

Valentin LAB valentin.lab at kalysto.org
Mar 14 Mai 11:08:21 CEST 2013


Salut

> http://www.inspyration.org/gitweb/?p=OpenERP/faq.git;a=blob;f=views/faq_view.xml;h=44f64edd7a51ca2e1241510b3ed2898a9979ba3b;hb=0358e58d74b62b41e93b8456200337d65e633937

Ce que tu affiche là sont les valeurs accessible en javascript dans 
l'objet "record" qui est fourni au template QWeb. Tu peux les visualiser 
de façon bien plus pratique via un debugger (celui de firefox ou celui 
de chrome, ou bien une extension comme firebug).

Pour les visualiser tu peux positionner un breakpoint dans 
web_kanban/static/src/js/kanban.js, dans l'objet:
instance.web_kanban.KanbanRecord et la méthode: renderElement.

Le contexte accessible au template QWeb est le deuxieme argument de 
this.qweb_context...

Les éléments que tu as affichés sont peu ou prou les valeurs qui 
définissent la colonne... à l'exception de "value" et "raw_value" qui 
contiennent concrètement les valeurs contenue dans celle-ci. "raw_value" 
c'est la valeur "technique", et value étant la valeur que tu peux 
afficher. Par exemple la "raw_value" d'un many2one seras un Array 
contenant l'id et le nom de l'objet target, la "value" sera uniquement 
le nom de l'objet target.


Maintenant pour répondre à ta question première: la valeur que tu 
cherche ne se trouve pas directement disponible dans le client 
javascript (donc pas accessible en QWeb). Du moins, c'est pas aussi 
simple, car t'es tu demandé comment ils affichaient les catégories sur 
les fiches des tâches dans la vue kanban ? Eh bien ils ont implémenté 
direct dans kanban.js le support des many2many (très orienté autour du 
cas particulier des tags)... je t'invite à faire une recherche sur la 
chaine "many2many" dans le fichier 'kanban.js', et notamment de jeter un 
oeil à la fonction 'postprocess_m2m_tags' ... qui va effectuer la 
requête au serveur supplémentaire pour chopper les noms des champs. 
Aussi il serait imaginable d'implémenter quelque chose de plus générique 
et concernant les one2many aussi.


Donc soit tu maitrises le javascript et tu te fait un widget ou une 
surcharge de kanban.js, ou une contribution vers OpenERP (bonne 
chance!)... ou plus simple : tu te débrouille pour envoyer les valeurs 
que tu souhaite recevoir dans un format plus lisible, c'est à dire créer 
un champ "fonction" du coté python qui ressort un format texte par exemple.

Comme il n'y a pas de solutions idéales, il y a une myriades de 
solutions moins idéales. Tout dépend de ce que tu maitrise bien.


-- 
Valentin LAB
Ingénieur Développement

tel:  +33 6 71 39 62 13
mail: valentin.lab at kalysto.org


Plus d'informations sur la liste de diffusion OpenERP