diff --git a/__init__.py b/__init__.py index 511a0ca3a819e2be0684874142b691efa4ad30a1..cde864bae21a11c0e4f50067aa46b4c497549b4c 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,3 @@ # -*- coding: utf-8 -*- -from . import controllers -from . import models \ No newline at end of file +from . import models diff --git a/__manifest__.py b/__manifest__.py index 864fa3eb4206a68299293b45d92f6ac2d2dbc943..5d786deb90b89d390ab6e5b83406689771a9ff29 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -5,10 +5,10 @@ 'website': "https://www.le-filament.com", 'version': '12.0.1.0.1', 'license': "AGPL-3", - 'depends': ['contacts', 'crm', 'partner_firstname','sale_crm'], + 'depends': ['contacts', 'crm', 'partner_firstname'], 'data': [ - 'views/mvh_crm_view.xml', - 'data/mvh_stage_crm.xml' + 'views/crm_lead_view.xml', + 'views/res_partner_view.xml' ], -} \ No newline at end of file +} diff --git a/controllers/__init__.py b/controllers/__init__.py deleted file mode 100644 index 457bae27e110665216377e4f2a446924f978019d..0000000000000000000000000000000000000000 --- a/controllers/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# -*- coding: utf-8 -*- - -from . import controllers \ No newline at end of file diff --git a/controllers/__pycache__/__init__.cpython-36.pyc b/controllers/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index ab08ed49cda73c5d55725f5bea267735ac09ccbb..0000000000000000000000000000000000000000 Binary files a/controllers/__pycache__/__init__.cpython-36.pyc and /dev/null differ diff --git a/controllers/__pycache__/controllers.cpython-36.pyc b/controllers/__pycache__/controllers.cpython-36.pyc deleted file mode 100644 index fc1cdc985e65e6e06877e43bb2cbeef26f8126de..0000000000000000000000000000000000000000 Binary files a/controllers/__pycache__/controllers.cpython-36.pyc and /dev/null differ diff --git a/controllers/controllers.py b/controllers/controllers.py deleted file mode 100644 index df5a267d43e9dda0d06b43ad6779da4d81f26f56..0000000000000000000000000000000000000000 --- a/controllers/controllers.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -from odoo import http - -# class MvhCrm(http.Controller): -# @http.route('/mvh_crm/mvh_crm/', auth='public') -# def index(self, **kw): -# return "Hello, world" - -# @http.route('/mvh_crm/mvh_crm/objects/', auth='public') -# def list(self, **kw): -# return http.request.render('mvh_crm.listing', { -# 'root': '/mvh_crm/mvh_crm', -# 'objects': http.request.env['mvh_crm.mvh_crm'].search([]), -# }) - -# @http.route('/mvh_crm/mvh_crm/objects/<model("mvh_crm.mvh_crm"):obj>/', auth='public') -# def object(self, obj, **kw): -# return http.request.render('mvh_crm.object', { -# 'object': obj -# }) \ No newline at end of file diff --git a/data/mvh_stage_crm.xml b/data/mvh_stage_crm.xml deleted file mode 100644 index 0088e29d2177323a8392606c8f20e6658741dc44..0000000000000000000000000000000000000000 --- a/data/mvh_stage_crm.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data noupdate="1"> - <record model="crm.stage" id="stage_chiffrage"> - <field name="name">Chiffrage</field> - <field name="on_change">1</field> - <field name="sequence">2</field> - <field name="fold">True</field> - </record> - <record model="crm.stage" id="stage_chiffree"> - <field name="name">Chiffrée</field> - <field name="on_change">1</field> - <field name="sequence">3</field> - <field name="fold">True</field> - </record> - <record model="crm.stage" id="stage_negociation"> - <field name="name">Négociation</field> - <field name="on_change">1</field> - <field name="sequence">6</field> - <field name="fold">True</field> - </record> - <record model="crm.stage" id="stage_perdu"> - <field name="name">Perdu</field> - <field name="on_change">1</field> - <field name="sequence">8</field> - <field name="fold">True</field> - </record> - </data> - -</odoo> \ No newline at end of file diff --git a/demo/demo.xml b/demo/demo.xml deleted file mode 100644 index c56681025dae6851f9514e3a55774c8cf29aa8ae..0000000000000000000000000000000000000000 --- a/demo/demo.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<odoo> - <record model="crm.stage" id="stage_lead5"> - <field name="name">Visite faite</field> - <field name="probability">10</field> - <field name="on_change">1</field> - <field name="sequence">1</field> - </record> -</odoo> \ No newline at end of file diff --git a/i18n/mvh_crm.pot b/i18n/mvh_crm.pot deleted file mode 100644 index fbd1df49ec537ab5758b9319c506558d61a2d2f6..0000000000000000000000000000000000000000 --- a/i18n/mvh_crm.pot +++ /dev/null @@ -1,84 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * mvh_crm -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-06 06:41+0000\n" -"PO-Revision-Date: 2020-05-06 06:41+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: mvh_crm -#: model_terms:ir.ui.view,arch_db:mvh_crm.mvh_crm_view_form -msgid "Budget" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_chiffrage -msgid "Chiffrage" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_chiffree -msgid "Chiffrée" -msgstr "" - -#. module: mvh_crm -#: model:ir.model,name:mvh_crm.model_res_partner -msgid "Contact" -msgstr "" - -#. module: mvh_crm -#: model:ir.model.fields,field_description:mvh_crm.field_crm_lead__child_ids -#: model_terms:ir.ui.view,arch_db:mvh_crm.mvh_crm_view_form -msgid "Contacts" -msgstr "" - -#. module: mvh_crm -#: model:ir.model.fields,field_description:mvh_crm.field_res_partner__crm_id -#: model:ir.model.fields,field_description:mvh_crm.field_res_users__crm_id -msgid "Crm" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_gagne -msgid "Gagné" -msgstr "" - -#. module: mvh_crm -#: model:ir.model,name:mvh_crm.model_crm_lead -msgid "Lead/Opportunity" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_nouveau -msgid "Nouveau" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_negociation -msgid "Négociation" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_perdu -msgid "Perdu" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_visite_faite -msgid "Visite faite" -msgstr "" - -#. module: mvh_crm -#: model:crm.stage,name:mvh_crm.stage_visite_a_faire -msgid "Visite à faire" -msgstr "" - diff --git a/models/__init__.py b/models/__init__.py index 4f4e7bbe55e80e1576c7a06e4f4a4bf4c737da67..8658c95c884390ea27b8cd617bd8cfd23d04c844 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- -from . import mvh_crm_lead -from . import res_partner \ No newline at end of file +from . import crm_lead +from . import res_partner diff --git a/models/__pycache__/__init__.cpython-36.pyc b/models/__pycache__/__init__.cpython-36.pyc index 9929105292fe52124fd756d8a3843b1a00bbc439..9abcf177d3afdca1fddd339d5a772812903c2cc1 100644 Binary files a/models/__pycache__/__init__.cpython-36.pyc and b/models/__pycache__/__init__.cpython-36.pyc differ diff --git a/models/__pycache__/crm_lead.cpython-36.pyc b/models/__pycache__/crm_lead.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c6f88a2dde92626e9d084da08b92edfb60df0ceb Binary files /dev/null and b/models/__pycache__/crm_lead.cpython-36.pyc differ diff --git a/models/__pycache__/mvh_crm_lead.cpython-36.pyc b/models/__pycache__/mvh_crm_lead.cpython-36.pyc index 05e7344b75084c0857b30ad724f67d036c1f3666..f765f52658fb03b1477241b43bec45683ea5ec92 100644 Binary files a/models/__pycache__/mvh_crm_lead.cpython-36.pyc and b/models/__pycache__/mvh_crm_lead.cpython-36.pyc differ diff --git a/models/__pycache__/res_partner.cpython-36.pyc b/models/__pycache__/res_partner.cpython-36.pyc index 08d11f686383b2efe37fb3b419a9253c1e8b4aaa..a5982b2708e0cf10524f6eb2b3cab93d9ba09efe 100644 Binary files a/models/__pycache__/res_partner.cpython-36.pyc and b/models/__pycache__/res_partner.cpython-36.pyc differ diff --git a/models/crm_lead.py b/models/crm_lead.py new file mode 100644 index 0000000000000000000000000000000000000000..446643222f6cc1689b239cfc655445e44210d0e9 --- /dev/null +++ b/models/crm_lead.py @@ -0,0 +1,53 @@ +# Copyright 2019 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from odoo import models, fields + + +class CRMleadMVH(models.Model): + _inherit = 'crm.lead' + +# Critères du début Go/NoGo + budget = fields.Float(string="Budget au m²") + eco_responsable = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string='Eco-responsable') + elements_metriques = fields.Text(string="Eléments métriques") + lieu = fields.Char(string="Lieu") + propriete = fields.Text(string="Propriété") + renovation_neuf = fields.Selection([('renovation', 'Rénovation'), + ('neuf', 'Neuf')], + string="Projet") + visite_payante = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string='Visite payante') + envie_achat = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string="Envie d'achat") + presence_plan = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string="Plan") + presence_planning = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string="Planning réalisation") + presence_permis = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string="Permis de construire") + presence_etude = fields.Selection([('yes', 'Oui'), ('no', 'Non')], + string="Etude de sol") + +# Adresse du chantier + rue = fields.Char('Rue') + rue2 = fields.Char('Rue2') + code_postal = fields.Char('Code postal', change_default=True) + ville = fields.Char('Ville') + +# Prescription technique + prescription_technique = fields.Text(string="Prescriptions techniques") + +# Partenaires projet + supplier_ids = fields.Many2many('res.partner', + string="Architecte et fournisseurs") + +# Visite de chantier + description_technique = fields.Text(string="Description technique", + track_visibility='onchange') + reflexion_technique = fields.Text(string="Reflexion technique", + track_visibility='onchange') + presentation_detaillee = fields.Text(string="Présentation détaillée", + track_visibility='onchange') diff --git a/models/mvh_crm_lead.py b/models/mvh_crm_lead.py deleted file mode 100644 index 378f8e8f1cee34284bb8abc1451435912ea6787e..0000000000000000000000000000000000000000 --- a/models/mvh_crm_lead.py +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2019 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - - -from odoo import models, fields, api - -class CRMleadMVH(models.Model): - _inherit = 'crm.lead' - - - # Liste des contacts - child_ids = fields.One2many( - 'res.partner', 'crm_id', - string='Contacts') - - elements_metriques = fields.Text(string="Eléments métriques") - lieu =fields.Char(string="Lieu") - propriete=fields.Text(string="Propriété") - visite_payante =fields.Selection([('yes', 'Oui'), ('no', 'Non')], string='Visite payante') - prescription_technique = fields.Text(string="Prescription technique") - -# Afficher seulement quand tâche >= visite faite - description_technique = fields.Text(string="Description technique") - reflexion_technique = fields.Text(string="Reflexion technique") - presentation_detaillee = fields.Text(string="Présentation détaillée") - # checklist_chiffrage = fields.One2many() - # checklist_administratif = fields.One2many() - -# Afficher seulement quand tâche = gagné - raison_gain = fields.Text() - -# Afficher seulement quand tâche = perdu - raison_perte =fields.Text() \ No newline at end of file diff --git a/models/res_partner.py b/models/res_partner.py index 2048829d367df7aaf1ed2081283db299973843ca..f7ded717e287fd9b10430f9c28c81601351fcbd6 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -2,9 +2,10 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, fields, api +from odoo import models, fields + class res_partner_MVH(models.Model): _inherit = 'res.partner' - crm_id = fields.Many2one('crm.lead') \ No newline at end of file + opportunite = fields.Many2many('crm.lead') diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index e095a41935c2cd4694273f654b61eb7696ce5bee..97dd8b917b8a258799a3ebf0095f13ff73d7cf68 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -1,2 +1 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_mvh_crm_mvh_crm,mvh_crm.mvh_crm,model_mvh_crm_mvh_crm,,1,0,0,0 \ No newline at end of file diff --git a/views/crm_lead_view.xml b/views/crm_lead_view.xml new file mode 100644 index 0000000000000000000000000000000000000000..6bace63562496eebec6f57c8b9c032074668a314 --- /dev/null +++ b/views/crm_lead_view.xml @@ -0,0 +1,78 @@ +<odoo> + <data> + + <record id="mvh_crm_view_form" model="ir.ui.view"> + <field name="name">mvh.crm.view.form</field> + <field name="model">crm.lead</field> + <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/> + <field name="arch" type="xml"> + + <field name="team_id" position="attributes"> + <attribute name="invisible">True</attribute> + </field> + + + <xpath expr="//page[1]" position="attributes"> + <attribute name="string">Descriptif court</attribute> + </xpath> + + <xpath expr="//notebook/page[2]" position="before"> + <page string="Critères Go-NoGo"> + <group> + <group string="Infos générales"> + <field name="budget"/> + <field name="eco_responsable" widget="radio" options="{'horizontal': true}"/> + <field name="renovation_neuf" widget="radio" options="{'horizontal': true}"/> + <field name="visite_payante" widget="radio" options="{'horizontal': true}"/> + </group> + <group string="Statut du projet"> + <field name="envie_achat" widget="radio" options="{'horizontal': true}"/> + <field name="presence_plan" widget="radio" options="{'horizontal': true}"/> + <field name="presence_planning" widget="radio" options="{'horizontal': true}"/> + <field name="presence_permis" widget="radio" options="{'horizontal': true}"/> + <field name="presence_etude" widget="radio" options="{'horizontal': true}"/> + </group> + </group> + </page> + <page string="Adresse du chantier"> + <div class="o_address_format"> + <field name="rue" placeholder="Rue..." class="o_address_street"/> + <field name="rue2" placeholder="Rue 2..." class="o_address_street"/> + <field name="ville" placeholder="Ville" class="o_address_city"/> + <field name="code_postal" placeholder="Code postal" class="o_address_zip"/> + </div> + </page> + <page string="Prescriptions techniques"> + <group> + <field name="prescription_technique"/> + </group> + </page> + <page string="Partenaires du client"> + <group> + <field name="supplier_ids" widget="many2many_kanban" + mode="kanban"/> + </group> + </page> + <page string="Visite de chantier"> + <group> + <field name="description_technique"/> + <field name="reflexion_technique"/> + <field name="presentation_detaillee"/> + </group> + </page> + + </xpath> + +<!-- <notebook position="inside"> + <page string="Contacts"> + <group> + <field name="child_ids" mode="tree"/> + </group> + </page> + </notebook> --> + + </field> + </record> + + </data> +</odoo> \ No newline at end of file diff --git a/views/mvh_crm_view.xml b/views/mvh_crm_view.xml deleted file mode 100644 index dc38d6296c7fe41c4ea5bf4265e28e1b3246eae8..0000000000000000000000000000000000000000 --- a/views/mvh_crm_view.xml +++ /dev/null @@ -1,76 +0,0 @@ -<odoo> - <data> - - <record id="mvh_crm_view_form" model="ir.ui.view"> - <field name="name">mvh.crm.view.form</field> - <field name="model">crm.lead</field> - <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/> - <field name="arch" type="xml"> - - <field name="team_id" position="attributes"> - <attribute name="invisible">True</attribute> - </field> - -<!-- Modification expected revenue et probability --> - <field name="probability" position="attributes"> - <attribute name="invisible">True</attribute> - </field> - <xpath expr="//div[hasclass('col')][2]" position="attributes"> - <attribute name="invisible">True</attribute> - </xpath> - <xpath expr="//span[hasclass('oe_grey')]" position="attributes"> - <attribute name="invisible">True</attribute> - </xpath> - <label for="planned_revenue" position="replace"> - <label string="Budget" for="planned_revenue" /> - </label> - - <field name="date_deadline" position="replace"> - <field name="elements_metriques"/> - <field name="lieu"/> - <field name="propriete"/> - </field> - <field name="priority" position="replace"> - <field name="visite_payante" widget="radio" options="{'horizontal': true}"/> - </field> - <field name="tag_ids" position="replace"> - <field name="prescription_technique"/> - </field> - - - - <xpath expr="//page[1]" position="attributes"> - <attribute name="string">Descriptif court</attribute> - </xpath> - <!-- Ici on veut que s'affichent description, reflexion technique et présentation détaillée seulement à partir du stage "visite faite", et on veut que raison gain et raison perte s'affichent uniquement dans les stages correspondants --> - <xpath expr="//notebook/page" position="before"> - <page attrs="{'invisible': ['|', ('stage_id', '=', 'crm.stage_lead1'), ('stage_id', '=', 'crm.stage_lead2')]}" string="Description technique" > - <field name="description_technique"/> - </page> - <page attrs="{'invisible': ['|', ('stage_id', '=', 'crm.stage_lead1'), ('stage_id', '=', 'crm.stage_lead2')]}" string="Réflexion technique" > - <field name="reflexion_technique"/> - </page> - <page attrs="{'invisible': ['|', ('stage_id', '=', 'crm.stage_lead1'), ('stage_id', '=', 'crm.stage_lead2')]}" string="Présentation détaillée" > - <field name="presentation_detaillee"/> - </page> - <page attrs="{'invisible': [('stage_id', '!=', ' mvh_crm.stage_gagne')]}" string="Raison gain" > - <field name="raison_gain"/> - </page> - <page attrs="{'invisible': [('stage_id', '!=', 'mvh_crm.stage_perdu')]}" string="Raison perte" > - <field name="raison_perte"/> - </page> - </xpath> - - <notebook position="inside"> - <page string="Contacts"> - <group> - <field name="child_ids" mode="tree"/> - </group> - </page> - </notebook> - - </field> - </record> - - </data> -</odoo> \ No newline at end of file diff --git a/views/res_partner_view.xml b/views/res_partner_view.xml new file mode 100644 index 0000000000000000000000000000000000000000..b4ee147160bf27a3463107aa3a302cbff2784b9b --- /dev/null +++ b/views/res_partner_view.xml @@ -0,0 +1,28 @@ +<odoo> + <data> + + <record id="mvh_res_partner_form" model="ir.ui.view"> + <field name="name">mvh.partner.view.form</field> + <field name="model">res.partner</field> + <field name="inherit_id" ref="base.view_partner_form"/> + <field name="arch" type="xml"> + + <xpath expr="//notebook/page" position="before"> + <page string="Projets liés"> + <field name="opportunite"/> + </page> + </xpath> + + </field> + </record> + +<!-- <record id="mvh_res_partner_search" model="ir.ui.view"> + <field name="name">mvh.res.partner.search</field> + <field name="model">res.partner</field> + <field name="inherit_id" ref="base.view_res_partner_filter"/> + <field name="arch" type="xml"> + </field> + </record> --> + + </data> +</odoo> \ No newline at end of file diff --git a/views/templates.xml b/views/templates.xml deleted file mode 100644 index ba61acd8c961bed99d45f9a0431779f5e0b4658e..0000000000000000000000000000000000000000 --- a/views/templates.xml +++ /dev/null @@ -1,22 +0,0 @@ -<odoo> - <data> - <!-- <template id="listing"> --> - <!-- <ul> --> - <!-- <li t-foreach="objects" t-as="object"> --> - <!-- <a t-attf-href="#{ root }/objects/#{ object.id }"> --> - <!-- <t t-esc="object.display_name"/> --> - <!-- </a> --> - <!-- </li> --> - <!-- </ul> --> - <!-- </template> --> - <!-- <template id="object"> --> - <!-- <h1><t t-esc="object.display_name"/></h1> --> - <!-- <dl> --> - <!-- <t t-foreach="object._fields" t-as="field"> --> - <!-- <dt><t t-esc="field"/></dt> --> - <!-- <dd><t t-esc="object[field]"/></dd> --> - <!-- </t> --> - <!-- </dl> --> - <!-- </template> --> - </data> -</odoo> \ No newline at end of file