SlideShare uma empresa Scribd logo
1 de 27
Microcom - Meetup Odoo Technique
Tree view
Comment modifier le style des
rangées dans un tree view
Microcom - Meetup Odoo Technique
Avant 9.0
2
Microcom - Meetup Odoo Technique 3
• Un tree view standard.
• L’attribut “colors” dans la balise “tree” avec un genre de dictionnaire: color:expr[,. . .].
• “color” peut être n’importe quel couleur CSS.
• “expr” doit être une expression python qui évalue à vrai ou à faux à partir des champs de
l’enregistrement traitée.
Microcom - Meetup Odoo Technique
Après 9.0
• L’attribut “colors” est fonctionnel, mais est désuet "deprecated" et risque de disparaître.
• Il a été remplacé par “decoration-{name}” ou name peut être:
• bf (caractères gras)
• it (caractères italic)
• couleurs bootstrap:
– danger
– info
– muted
– primary
– success
– warning
• Chaque attribut “decoration-{name}” contient une seule expression, contrairement à l’attribut
“colors”.
4
Microcom - Meetup Odoo Technique 5
Microcom - Meetup Odoo Technique
Le problème?
C’est limité…
6
Microcom - Meetup Odoo Technique
Solution #1
Un petit “hack” vite fait, bien fait.
7
Microcom - Meetup Odoo Technique
La manière dont Odoo traite les “decorations”
• addons/web/static/src/xml/base.xml (~ ligne 431)
8
Microcom - Meetup Odoo Technique
• addons/web/static/src/js/views/list_view.js (~ ligne 189)
9
Qu’est-ce que “compute_decoration_classnames”
Microcom - Meetup Odoo Technique
Qu’est-ce que “this.decoration”
• addons/web/static/src/js/views/list_view.js (~ ligne 226)
10
Microcom - Meetup Odoo Technique
Qu’est-ce que “row_decoration”
• addons/web/static/src/js/views/list_view.js (~ ligne 24)
11
Microcom - Meetup Odoo Technique
Bref
• Si l’expression est évaluée à vrai pour la rangée traitée, Odoo ajoute une classe css ayant le
format: text-{name}
12
Microcom - Meetup Odoo Technique
Idée!
• “Overloader” la classe list_view.js
• Ajouter des éléments dans le tableau “row-decoration”
• Modifier la fonction “compute_decoration_classnames” pour traiter nos nouveaux éléments
• Créer notre propre fichier css pour styliser nos nouvelles classes
13
Microcom - Meetup Odoo Technique
Overloader list_view.js étape 1
• Dans une view de votre module:
14
Microcom - Meetup Odoo Technique
Overloader list_view.js étape 2
• Créer un fichier sous nom_module/static/src/js/mon_fichier.js et “étendre” listView
15
Microcom - Meetup Odoo Technique
Overloader list_view.js étape 3
• Copier la fonction “compute_decoration_classnames” et l’ajuster à nos besoins.
16
Microcom - Meetup Odoo Technique
Overloader list_view.js étape 4
• Copier le tableau “row_decoration” et ajouter nos décorations customs. (ajouter avant le include)
17
Microcom - Meetup Odoo Technique
Overloader list_view.js étape 5
• Copier la fonction “load_list” même si on ne la modifie pas, car on veut qu’elle utilise notre
nouveau tableau “row_decoration”. (ici, la fonction n’est pas en entier, faute d’espace….)
18
Microcom - Meetup Odoo Technique
Créer notre fichier css
• créer un fichier sous nom_module/static/src/css/mon_fichier.css et appliquer un style à nos nouvelles
classes.
19
Microcom - Meetup Odoo Technique
Ajouter notre fichier css à la view
• Ne pas oublier de mettre les paths apropriés à votre projet...
20
Microcom - Meetup Odoo Technique
Voilà
• Vous pouvez maintenant utiliser vos nouveaux attributs dans un tree view.
21
Microcom - Meetup Odoo Technique
Un beau sapin de noël!
22
Microcom - Meetup Odoo Technique
solution #2
• Utiliser le module “web_tree_dynamic_colored_field” de l’OCA.
https://github.com/OCA/web/tree/9.0/web_tree_dynamic_colored_field
• À noter qu’il n’est pas encore porté à la version 9.0 … (en date du 27/05/2016)
• Permet la coloration du texte avec l’attribut “fg-color” et la coloration du background avec
l’attribut “bg-color”
• Ils s’utilisent de la même manière que l’attribut “colors” de la version 8.0 à une différence près:
– Ils s’utilisent dans la balise “field” et non dans la balise “tree”...
• Avantage: On peut colorer seulement une partie d’une rangée (plus de contrôle / granularité)
• Inconvénient: Si on veut colorer toute la rangée, on doit répéter l’attribut dans tous les fields
23
Microcom - Meetup Odoo Technique 24
Voici un exemple d’utilisation
Microcom - Meetup Odoo Technique
Désolé de l’atrocité… je n’avais pas trop d’inspiration...
25
Microcom - Meetup Odoo Technique
Morale de l’histoire
• Quand on a un besoin spécifique: toujours regarder les repos de l’OCA pour voir s’il n’existerait
pas déjà un module qui pourrait répondre à vos besoins.
• Mais, parfois, un petit “hack” est nécessaire pour arriver a un résultat plus personnalisé...
26
Microcom - Meetup Odoo Technique
• Les sources du module sont accessibles sur github:
https://github.com/microcom/Odoo_Basic_AddOns/tree/9.0/custom_treeview_colors
Merci
27

Mais conteúdo relacionado

Mais procurados

Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuéesFranck SIMON
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec OdooHassan WAHSISS
 
Managing transactions on Ethereum with Apache Airflow
Managing transactions on Ethereum with Apache AirflowManaging transactions on Ethereum with Apache Airflow
Managing transactions on Ethereum with Apache AirflowMichael Ghen
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web servicesmohammed addoumi
 
Formation Outils collaboratifs
Formation Outils collaboratifsFormation Outils collaboratifs
Formation Outils collaboratifsMalvina ARTHEAU
 
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...Owlie
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
How Node.js Works | Node.js Tutorial for Beginners
How Node.js Works | Node.js Tutorial for BeginnersHow Node.js Works | Node.js Tutorial for Beginners
How Node.js Works | Node.js Tutorial for BeginnersIntellipaat
 
¿Que es Google Dart? Presentación y desarrollo con Dart
¿Que es Google Dart? Presentación y desarrollo con Dart¿Que es Google Dart? Presentación y desarrollo con Dart
¿Que es Google Dart? Presentación y desarrollo con DartMoises Belchin
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & JitAnkit Somani
 

Mais procurados (20)

Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
Managing transactions on Ethereum with Apache Airflow
Managing transactions on Ethereum with Apache AirflowManaging transactions on Ethereum with Apache Airflow
Managing transactions on Ethereum with Apache Airflow
 
Introduction aux web services
Introduction aux web servicesIntroduction aux web services
Introduction aux web services
 
Formation Outils collaboratifs
Formation Outils collaboratifsFormation Outils collaboratifs
Formation Outils collaboratifs
 
Presentation cms
Presentation cmsPresentation cms
Presentation cms
 
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
Le développement mobile avec Vue.js : cross-platform et progressive web apps ...
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
How Node.js Works | Node.js Tutorial for Beginners
How Node.js Works | Node.js Tutorial for BeginnersHow Node.js Works | Node.js Tutorial for Beginners
How Node.js Works | Node.js Tutorial for Beginners
 
Chp1 intro conception
Chp1 intro conceptionChp1 intro conception
Chp1 intro conception
 
Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)
 
¿Que es Google Dart? Presentación y desarrollo con Dart
¿Que es Google Dart? Presentación y desarrollo con Dart¿Que es Google Dart? Presentación y desarrollo con Dart
¿Que es Google Dart? Presentación y desarrollo con Dart
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Local storage
Local storageLocal storage
Local storage
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Dalvik Vm & Jit
Dalvik Vm & JitDalvik Vm & Jit
Dalvik Vm & Jit
 
2. secure web gateway
2. secure web gateway2. secure web gateway
2. secure web gateway
 

Destaque

Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Addi Ait-Mlouk
 
Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45
Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45
Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45Intergen
 
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Addi Ait-Mlouk
 
Microsoft Dynamics NAV Training
Microsoft Dynamics NAV TrainingMicrosoft Dynamics NAV Training
Microsoft Dynamics NAV TrainingRAMESH KUMAR S
 
Odoo (OpenERP) - Creating a module
Odoo (OpenERP) - Creating a moduleOdoo (OpenERP) - Creating a module
Odoo (OpenERP) - Creating a moduleTarun Behal
 
L’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERPL’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERPENSAM Casablanca
 

Destaque (8)

Colorer la vue Kanban dans Odoo v9.0
Colorer la vue Kanban dans Odoo v9.0Colorer la vue Kanban dans Odoo v9.0
Colorer la vue Kanban dans Odoo v9.0
 
Paie Algérienne odoo
Paie Algérienne odooPaie Algérienne odoo
Paie Algérienne odoo
 
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
 
Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45
Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45
Dynamics Day 2013 Microsoft Dynamics NAV Tips and Tricks 45 in 45
 
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
Paramétrage et développement spécifique des modules odoo (OpenERP) Partie 1
 
Microsoft Dynamics NAV Training
Microsoft Dynamics NAV TrainingMicrosoft Dynamics NAV Training
Microsoft Dynamics NAV Training
 
Odoo (OpenERP) - Creating a module
Odoo (OpenERP) - Creating a moduleOdoo (OpenERP) - Creating a module
Odoo (OpenERP) - Creating a module
 
L’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERPL’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERP
 

Semelhante a Comment modifier le style des Tree View dans Odoo.

Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]linasafaa
 
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Renoir Boulanger
 
Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...
Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...
Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...VISEO
 
Microsoft business-intelligence
Microsoft business-intelligenceMicrosoft business-intelligence
Microsoft business-intelligenceBENJID Mohamed
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB MongoDB
 
Css.more.or.less
Css.more.or.lessCss.more.or.less
Css.more.or.lessVISEO
 
Tout savoir sur l'éditeur de site WordPress
Tout savoir sur l'éditeur de site WordPressTout savoir sur l'éditeur de site WordPress
Tout savoir sur l'éditeur de site WordPressAlexandre Buffet
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Gregory Renard
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015Tarik Zakaria Benmerar
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersFrédéric Simonet
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptRihabBENLAMINE
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupMichael Bertocchi
 
09 - creez-propres-modules-ansible-autimatisation
09 - creez-propres-modules-ansible-autimatisation09 - creez-propres-modules-ansible-autimatisation
09 - creez-propres-modules-ansible-autimatisationbibouechristian
 
Module development Patterns de Création.pptx
Module development Patterns de Création.pptxModule development Patterns de Création.pptx
Module development Patterns de Création.pptxarapilatico
 

Semelhante a Comment modifier le style des Tree View dans Odoo. (20)

Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]Mappingobjetrelationnel[1]
Mappingobjetrelationnel[1]
 
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
 
Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...
Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...
Devoxx France 2013: CSS, more or Less - http://www.devoxx.com/display/FR13/CS...
 
Microsoft business-intelligence
Microsoft business-intelligenceMicrosoft business-intelligence
Microsoft business-intelligence
 
Réussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDBRéussir une montée en charge avec MongoDB
Réussir une montée en charge avec MongoDB
 
Css.more.or.less
Css.more.or.lessCss.more.or.less
Css.more.or.less
 
Tout savoir sur l'éditeur de site WordPress
Tout savoir sur l'éditeur de site WordPressTout savoir sur l'éditeur de site WordPress
Tout savoir sur l'éditeur de site WordPress
 
Revit TUTO IUT
Revit TUTO IUTRevit TUTO IUT
Revit TUTO IUT
 
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
OOP and Design Patterns
OOP and Design PatternsOOP and Design Patterns
OOP and Design Patterns
 
OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015OOP & Design Pattern - Algiers Developers Meetup August 2015
OOP & Design Pattern - Algiers Developers Meetup August 2015
 
CSS 3
CSS 3CSS 3
CSS 3
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliers
 
Cours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.pptCours_1 - HTML5 et JS.ppt
Cours_1 - HTML5 et JS.ppt
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afup
 
09 - creez-propres-modules-ansible-autimatisation
09 - creez-propres-modules-ansible-autimatisation09 - creez-propres-modules-ansible-autimatisation
09 - creez-propres-modules-ansible-autimatisation
 
47750479 cours-c
47750479 cours-c47750479 cours-c
47750479 cours-c
 
Module development Patterns de Création.pptx
Module development Patterns de Création.pptxModule development Patterns de Création.pptx
Module development Patterns de Création.pptx
 

Comment modifier le style des Tree View dans Odoo.

  • 1. Microcom - Meetup Odoo Technique Tree view Comment modifier le style des rangées dans un tree view
  • 2. Microcom - Meetup Odoo Technique Avant 9.0 2
  • 3. Microcom - Meetup Odoo Technique 3 • Un tree view standard. • L’attribut “colors” dans la balise “tree” avec un genre de dictionnaire: color:expr[,. . .]. • “color” peut être n’importe quel couleur CSS. • “expr” doit être une expression python qui évalue à vrai ou à faux à partir des champs de l’enregistrement traitée.
  • 4. Microcom - Meetup Odoo Technique Après 9.0 • L’attribut “colors” est fonctionnel, mais est désuet "deprecated" et risque de disparaître. • Il a été remplacé par “decoration-{name}” ou name peut être: • bf (caractères gras) • it (caractères italic) • couleurs bootstrap: – danger – info – muted – primary – success – warning • Chaque attribut “decoration-{name}” contient une seule expression, contrairement à l’attribut “colors”. 4
  • 5. Microcom - Meetup Odoo Technique 5
  • 6. Microcom - Meetup Odoo Technique Le problème? C’est limité… 6
  • 7. Microcom - Meetup Odoo Technique Solution #1 Un petit “hack” vite fait, bien fait. 7
  • 8. Microcom - Meetup Odoo Technique La manière dont Odoo traite les “decorations” • addons/web/static/src/xml/base.xml (~ ligne 431) 8
  • 9. Microcom - Meetup Odoo Technique • addons/web/static/src/js/views/list_view.js (~ ligne 189) 9 Qu’est-ce que “compute_decoration_classnames”
  • 10. Microcom - Meetup Odoo Technique Qu’est-ce que “this.decoration” • addons/web/static/src/js/views/list_view.js (~ ligne 226) 10
  • 11. Microcom - Meetup Odoo Technique Qu’est-ce que “row_decoration” • addons/web/static/src/js/views/list_view.js (~ ligne 24) 11
  • 12. Microcom - Meetup Odoo Technique Bref • Si l’expression est évaluée à vrai pour la rangée traitée, Odoo ajoute une classe css ayant le format: text-{name} 12
  • 13. Microcom - Meetup Odoo Technique Idée! • “Overloader” la classe list_view.js • Ajouter des éléments dans le tableau “row-decoration” • Modifier la fonction “compute_decoration_classnames” pour traiter nos nouveaux éléments • Créer notre propre fichier css pour styliser nos nouvelles classes 13
  • 14. Microcom - Meetup Odoo Technique Overloader list_view.js étape 1 • Dans une view de votre module: 14
  • 15. Microcom - Meetup Odoo Technique Overloader list_view.js étape 2 • Créer un fichier sous nom_module/static/src/js/mon_fichier.js et “étendre” listView 15
  • 16. Microcom - Meetup Odoo Technique Overloader list_view.js étape 3 • Copier la fonction “compute_decoration_classnames” et l’ajuster à nos besoins. 16
  • 17. Microcom - Meetup Odoo Technique Overloader list_view.js étape 4 • Copier le tableau “row_decoration” et ajouter nos décorations customs. (ajouter avant le include) 17
  • 18. Microcom - Meetup Odoo Technique Overloader list_view.js étape 5 • Copier la fonction “load_list” même si on ne la modifie pas, car on veut qu’elle utilise notre nouveau tableau “row_decoration”. (ici, la fonction n’est pas en entier, faute d’espace….) 18
  • 19. Microcom - Meetup Odoo Technique Créer notre fichier css • créer un fichier sous nom_module/static/src/css/mon_fichier.css et appliquer un style à nos nouvelles classes. 19
  • 20. Microcom - Meetup Odoo Technique Ajouter notre fichier css à la view • Ne pas oublier de mettre les paths apropriés à votre projet... 20
  • 21. Microcom - Meetup Odoo Technique Voilà • Vous pouvez maintenant utiliser vos nouveaux attributs dans un tree view. 21
  • 22. Microcom - Meetup Odoo Technique Un beau sapin de noël! 22
  • 23. Microcom - Meetup Odoo Technique solution #2 • Utiliser le module “web_tree_dynamic_colored_field” de l’OCA. https://github.com/OCA/web/tree/9.0/web_tree_dynamic_colored_field • À noter qu’il n’est pas encore porté à la version 9.0 … (en date du 27/05/2016) • Permet la coloration du texte avec l’attribut “fg-color” et la coloration du background avec l’attribut “bg-color” • Ils s’utilisent de la même manière que l’attribut “colors” de la version 8.0 à une différence près: – Ils s’utilisent dans la balise “field” et non dans la balise “tree”... • Avantage: On peut colorer seulement une partie d’une rangée (plus de contrôle / granularité) • Inconvénient: Si on veut colorer toute la rangée, on doit répéter l’attribut dans tous les fields 23
  • 24. Microcom - Meetup Odoo Technique 24 Voici un exemple d’utilisation
  • 25. Microcom - Meetup Odoo Technique Désolé de l’atrocité… je n’avais pas trop d’inspiration... 25
  • 26. Microcom - Meetup Odoo Technique Morale de l’histoire • Quand on a un besoin spécifique: toujours regarder les repos de l’OCA pour voir s’il n’existerait pas déjà un module qui pourrait répondre à vos besoins. • Mais, parfois, un petit “hack” est nécessaire pour arriver a un résultat plus personnalisé... 26
  • 27. Microcom - Meetup Odoo Technique • Les sources du module sont accessibles sur github: https://github.com/microcom/Odoo_Basic_AddOns/tree/9.0/custom_treeview_colors Merci 27