From 2080b6fbc8042c419b40196adf85444f8c14c1ea Mon Sep 17 00:00:00 2001 From: Benjamin <benjamin@le-filament.com> Date: Mon, 23 Dec 2019 11:38:20 +0100 Subject: [PATCH] [MIG] Make module installable in v12 --- README.rst | 14 +++--- __init__.py | 3 +- __manifest__.py | 38 ++++++--------- models/__init__.py | 2 +- models/crm_lead.py | 12 +++-- report/__init__.py | 3 -- report/crm_conversion_report_view.xml | 56 ---------------------- report/crm_report.py | 67 --------------------------- 8 files changed, 32 insertions(+), 163 deletions(-) delete mode 100644 report/__init__.py delete mode 100644 report/crm_conversion_report_view.xml delete mode 100644 report/crm_report.py diff --git a/README.rst b/README.rst index 9ce1e93..7582f26 100644 --- a/README.rst +++ b/README.rst @@ -3,23 +3,25 @@ :alt: License: AGPL-3 -====================== +================= Le Filament - CRM -====================== +================= Hérite du module CRM - - Ajoute un rapport sur le temps de conversion - - Ajoute un champ sur le type d'apporteur d'affaire et le partner associé + +* Ajoute un champ sur le type d'apporteur d'affaire et le partner associé Credits ======= -Contributors ------------ +Contributors +------------ * Benjamin Rivier <benjamin@le-filament.com> -Maintainer ---------- +Maintainer +---------- .. image:: https://le-filament.com/images/logo-lefilament.png :alt: Le Filament diff --git a/__init__.py b/__init__.py index c120b31..cde864b 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,3 @@ # -*- coding: utf-8 -*- -import models -import report \ No newline at end of file +from . import models diff --git a/__manifest__.py b/__manifest__.py index e9306ca..1b74f9b 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -4,33 +4,21 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - 'name': 'Le Filament - CRM', - - 'summary': """ - CRM Le Filament - - Ajoute un rapport sur le temps de conversion - - """, - - 'version': '10.0.1.0', - 'license': 'AGPL-3', - 'description': """ - - """, - - 'author': 'LE FILAMENT', - 'category': 'Project', - 'depends': ['sale'], - 'contributors': [ + 'name': 'Le Filament - CRM', + 'summary': "CRM Le Filament", + 'version': '10.0.1.0', + 'license': 'AGPL-3', + 'author': 'LE FILAMENT', + 'category': 'Project', + 'depends': ['crm', 'sale'], + 'contributors': [ 'Benjamin Rivier <benjamin@le-filament.com>', ], - 'website': 'http://www.le-filament.com', - 'data': [ - # 'views/assets.xml', - 'views/crm_lead_view.xml', - 'report/crm_conversion_report_view.xml', - ], - 'qweb': [ + 'website': 'http://www.le-filament.com', + 'data': [ + 'views/crm_lead_view.xml', + ], + 'qweb': [ 'static/src/xml/*.xml', ], } \ No newline at end of file diff --git a/models/__init__.py b/models/__init__.py index 92f7244..3dce6af 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -import crm_lead \ No newline at end of file +from . import crm_lead diff --git a/models/crm_lead.py b/models/crm_lead.py index ec8497b..2fd9a95 100644 --- a/models/crm_lead.py +++ b/models/crm_lead.py @@ -5,8 +5,14 @@ from odoo import fields, models + class LeFilamentLead(models.Model): - _inherit = 'crm.lead' + _inherit = 'crm.lead' - type_apporteur = fields.Selection([('reseau','Réseau'),('partenaire','Partenaire'),('client','Client'),('perso','Personnel'),('projet','Suite Projet')], string="Type Apporteur") - apporteur = fields.Many2one('res.partner', string="Apporteur") \ No newline at end of file + type_apporteur = fields.Selection([ + ('reseau', 'Réseau'), + ('partenaire', 'Partenaire'), + ('client', 'Client'), + ('perso', 'Personnel'), + ('projet', 'Suite Projet')], string="Type Apporteur") + apporteur = fields.Many2one('res.partner', string="Apporteur") diff --git a/report/__init__.py b/report/__init__.py deleted file mode 100644 index e746a96..0000000 --- a/report/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# -*- coding: utf-8 -*- - -import crm_report diff --git a/report/crm_conversion_report_view.xml b/report/crm_conversion_report_view.xml deleted file mode 100644 index 7cde36f..0000000 --- a/report/crm_conversion_report_view.xml +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - - <!-- Conversion Time by Partner pivot View --> - <record id="crm_conversion_report_view_pivot" model="ir.ui.view"> - <field name="name">crm.conversion.report.pivot</field> - <field name="model">crm.conversion.report</field> - <field name="arch" type="xml"> - <pivot string="Analyse Temps de Converstion" disable_linking="True"> - <field name="partner_id" type="row"/> - <field name="days" type="measure" /> - </pivot> - </field> - </record> - - - <!-- Search View --> - <record id="crm_conversion_report_view_search" model="ir.ui.view"> - <field name="name">crm.conversion.report.select</field> - <field name="model">crm.conversion.report</field> - <field name="arch" type="xml"> - <search string="Conversion Analysis"> - <filter string="Mes Opportunitées" name="my" domain="[('user_id', '=', uid)]"/> - <separator/> - <filter string="Gagnées" name="won" domain="['&',('current', '=', False),('probability', '=', 100)]"/> - <filter string="En Cours" name="current" domain="[('current', '=', True)]"/> - <group expand="1" string="Group By"> - <filter string="Vendeur" context="{'group_by':'user_id'}" /> - <filter string="Client" context="{'group_by':'partner_id'}" groups="base.group_multi_company"/> - <filter string="Etape" context="{'group_by':'team_id'}"/> - <filter string="DAS" context="{'group_by':'referred'}"/> - <filter string="Apporteur" context="{'group_by':'referred'}"/> - <separator orientation="vertical" /> - <filter string="Mois Création" context="{'group_by':'date_open:month'}" name="month"/> - <filter string="Date Fermeture" context="{'group_by':'date_closed:month'}" name="date_closed"/> - <filter string="Date Conversion" context="{'group_by':'date_conversion:month'}" name="conversion_date"/> - </group> - </search> - </field> - </record> - - <record id="crm_conversion_report_action" model="ir.actions.act_window"> - <field name="name">Temps de conversion</field> - <field name="res_model">crm.conversion.report</field> - <field name="view_type">form</field> - <field name="view_mode">pivot,graph</field> - <field name="context">{'search_default_won': True,}</field> - <field name="view_ids" - eval="[(5, 0, 0), - (0, 0, {'view_mode': 'pivot', 'view_id': ref('crm_conversion_report_view_pivot')})]"/> - </record> - - <menuitem id="crm_conversion_report_menu" name="Conversion" - parent="sales_team.menu_sale_report" action="crm_conversion_report_action" sequence="50"/> - -</odoo> diff --git a/report/crm_report.py b/report/crm_report.py deleted file mode 100644 index daab695..0000000 --- a/report/crm_report.py +++ /dev/null @@ -1,67 +0,0 @@ -# -*- coding: utf-8 -*- - -# © 2017 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import tools -from odoo import api, fields, models - - -class CrmReport(models.Model): - _name = "crm.conversion.report" - _description = "Time Conversion Statistics" - _auto = False - _order = 'date_closed desc' - - name = fields.Char('Affaire', readonly=True) - - date_open = fields.Datetime('Date Création', readonly=True) - date_conversion = fields.Datetime('Date Converstion', readonly=True) - date_closed = fields.Datetime('Date Fermeture', readonly=True) - days = fields.Integer('Durée', group_operator = 'avg', readonly=True) - - referred = fields.Char('Apporteur') - - partner_id = fields.Many2one('res.partner', 'Client', readonly=True) - user_id = fields.Many2one('res.users', 'Vendeur', readonly=True) - team_id = fields.Many2one('crm.team', 'DAS', readonly=True) - stage_id = fields.Many2one('crm.stage', string='Stage', readonly=True) - - current = fields.Boolean('En Cours', readonly=True) - probability = fields.Float('Probabilité', group_operator="avg", readonly=True) - planned_revenue = fields.Float('Revenu Total', readonly=True) - expected_revenue = fields.Float('Revenu Pondéré', readonly=True) - - def _select(self): - select_str = """ - SELECT - id, - name, - date_open, - date_closed, - date_conversion, - extract(day from - (case when date_closed is not null then date_closed else current_date end) - - (case when date_open is not null then date_open else create_date end)) as days, - referred, - partner_id, - user_id, - team_id, - stage_id, - active as current, - probability, - planned_revenue, - planned_revenue*(probability/100) as expected_revenue - FROM - crm_lead - WHERE - type = 'opportunity' - """ - return select_str - - - def init(self): - tools.drop_view_if_exists(self.env.cr, self._table) - self.env.cr.execute("CREATE or REPLACE VIEW crm_conversion_report as (%s)" % (self._select(),) ) - - -- GitLab