From d41560f6a0d6436b42dc45c3b2837087e9bf1fdd Mon Sep 17 00:00:00 2001
From: jordan <jordan@le-filament.com>
Date: Mon, 14 Dec 2020 18:07:22 +0100
Subject: [PATCH] [add] ajout types et produits pour les sondages + modif vue
 kanban et search

---
 models/survey_survey.py | 20 ++++++++++
 views/survey_views.xml  | 83 ++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 102 insertions(+), 1 deletion(-)

diff --git a/models/survey_survey.py b/models/survey_survey.py
index c3f57b4..9a2f202 100644
--- a/models/survey_survey.py
+++ b/models/survey_survey.py
@@ -4,10 +4,30 @@
 from odoo import fields, models, api
 
 
+class SurveyType(models.Model):
+    """Ajout d'un type pour les sondages"""
+
+    _name = 'survey.type'
+    _description = 'Survey Type'
+
+    name = fields.Char(required=True, string="Type de sondage")
+
+
+class SurveyProduct(models.Model):
+    """Ajout d'un produit lié aux sondages"""
+
+    _name = 'survey.product'
+    _description = 'Survey Product'
+
+    name = fields.Char(required=True, string="Produit lié au sondage")
+
+
 class Survey(models.Model):
     _inherit = "survey.survey"
 
     background_image = fields.Binary('Image de fond')
+    type_id = fields.Many2one('survey.type', string="Type", required=True)
+    product_id = fields.Many2one('survey.product', string="Produit", required=True)
 
 
 class SurveyQuestion(models.Model):
diff --git a/views/survey_views.xml b/views/survey_views.xml
index 76c8ac5..28b9dfc 100644
--- a/views/survey_views.xml
+++ b/views/survey_views.xml
@@ -4,17 +4,26 @@
 
 <odoo>
 
-    <!-- Permet l'ajout d'une image de fond -->
+    <!-- Permet l'ajout d'une image de fond + ajout des champs type et produit -->
     <record model="ir.ui.view" id="ethikis_survey_form_view">
         <field name="name">ethikis_survey_form_view</field>
         <field name="model">survey.survey</field>
         <field name="inherit_id" ref="survey.survey_form"/>
         <field name="arch" type="xml">
+
             <xpath expr="//notebook" position="inside">
                 <page string="Background">
                     <field name="background_image" widget="image"/>
                 </page>
             </xpath>
+
+            <xpath expr="//div[hasclass('oe_title')]" position="after">
+                <group>
+                    <field name="product_id" />
+                    <field name="type_id" />
+                </group>
+            </xpath>
+
         </field>
     </record>
 
@@ -40,4 +49,76 @@
         </field>
     </record>
 
+    <!-- Modification de la vue search -->
+    <record model="ir.ui.view" id="ethikis_survey_survey_view_search">
+        <field name="name">ethikis_survey_survey_view_search</field>
+        <field name="model">survey.survey</field>
+        <field name="inherit_id" ref="survey.survey_survey_view_search"/>
+        <field name="arch" type="xml">
+            <xpath expr="//search" position="inside">
+                <field name="type_id" />
+                <field name="product_id" />
+                <filter name="group_by_type" string="Type" context="{'group_by': 'type_id'}"/>
+                <filter name="group_by_product" string="Produit" context="{'group_by': 'product_id'}"/>
+            </xpath>
+        </field>
+    </record>
+
+    <!-- Modification de la vue kanban -->
+    <record model="ir.ui.view" id="ethikis_survey_kanban">
+        <field name="name">ethikis_survey_survey_kanban_view</field>
+        <field name="model">survey.survey</field>
+        <field name="inherit_id" ref="survey.survey_kanban"/>
+        <field name="arch" type="xml">
+
+            <xpath expr="//field[@name='activity_state']" position="after">
+                <field name="type_id" />
+                <field name="product_id" />
+            </xpath>
+
+            <xpath expr="//div[hasclass('o_kanban_record_top')]" position="replace">
+                <h4 class="o_kanban_record_title mb4">
+                    <field name="product_id" /> - <field name="type_id" />
+                </h4>
+                <h4 class="o_kanban_record_title mb4">
+                    <field name="stage_id"/>
+                </h4>
+            </xpath>
+
+        </field>
+    </record>
+
+    <!-- Ajout des menu des configuration pour les types et les produits -->
+
+    <record id="action_menu_surveys_type" model="ir.actions.act_window">
+        <field name="name">Types</field>
+        <field name="res_model">survey.type</field>
+        <field name="view_mode">tree</field>
+    </record>
+
+    <record id="action_menu_surveys_product" model="ir.actions.act_window">
+        <field name="name">Produits</field>
+        <field name="res_model">survey.product</field>
+        <field name="view_mode">tree</field>
+    </record>
+
+    <record id="action_menu_surveys_stage" model="ir.actions.act_window">
+        <field name="name">Étapes</field>
+        <field name="res_model">survey.stage</field>
+        <field name="view_mode">tree</field>
+    </record>
+
+    <menuitem id="menu_surveys_type"
+              parent="survey.menu_surveys_configuration"
+              action="action_menu_surveys_type"
+    />
+    <menuitem id="menu_surveys_product"
+              parent="survey.menu_surveys_configuration"
+              action="action_menu_surveys_product"
+    />
+    <menuitem id="menu_surveys_stage"
+              parent="survey.menu_surveys_configuration"
+              action="action_menu_surveys_stage"
+    />
+
 </odoo>
\ No newline at end of file
-- 
GitLab