From b28aae2a711c8281cdcac1bd9332a047dba5c7fa Mon Sep 17 00:00:00 2001 From: ijas ahammed Date: Mon, 1 Mar 2021 09:21:11 +0000 Subject: [PATCH 1/6] [IMP] website_crm_partner_assign: add data, action helper and rename menu - For sake of having basic config for 'Partner Level' and 'Activation' in contact form view (until user discovers the dedicated menus under CRM > Configuration > Resellers) in blank db, this commit moves the demo data related to 'Partner Level' to data, and adds new data for 'Activation', in following sequence: - Fully-Operation - Ramp-up - First Contact Also, higher ranks for partner level and activation are considered better, and so the tree views for them now display the records in the order of their rank (highest on top). Note that with this commit, we remove 'Platinum' partner level and it's references that were available in demo data. - Apart from that in this commit we have also done these changes, - Renames the menu 'Partner Level' to 'Partner Levels' and adds action helper for the same. - Adds action helper for the 'Partner Activations' menu. TaskID-2443894 closes https://github.com/odoo/odoo/pull/67524 Part-of: odoo/odoo#67524 --- .../__manifest__.py | 2 + .../data/res_partner_activation_data.xml | 15 +++++++ .../data/res_partner_demo.xml | 44 ++++--------------- .../data/res_partner_grade_data.xml | 15 +++++++ .../data/res_partner_grade_demo.xml | 13 ++---- .../models/res_partner.py | 4 +- .../views/res_partner_views.xml | 16 ++++++- 7 files changed, 61 insertions(+), 48 deletions(-) create mode 100644 addons/website_crm_partner_assign/data/res_partner_activation_data.xml create mode 100644 addons/website_crm_partner_assign/data/res_partner_grade_data.xml diff --git a/addons/website_crm_partner_assign/__manifest__.py b/addons/website_crm_partner_assign/__manifest__.py index aec9cf1600c..0bd6dbba40c 100644 --- a/addons/website_crm_partner_assign/__manifest__.py +++ b/addons/website_crm_partner_assign/__manifest__.py @@ -27,6 +27,8 @@ The automatic assignment is figured from the weight of partner levels and the ge 'data/crm_lead_merge_template.xml', 'data/crm_tag_data.xml', 'data/mail_template_data.xml', + 'data/res_partner_activation_data.xml', + 'data/res_partner_grade_data.xml', 'security/ir.model.access.csv', 'security/ir_rule.xml', 'wizard/crm_forward_to_partner_view.xml', diff --git a/addons/website_crm_partner_assign/data/res_partner_activation_data.xml b/addons/website_crm_partner_assign/data/res_partner_activation_data.xml new file mode 100644 index 00000000000..c75cfe10494 --- /dev/null +++ b/addons/website_crm_partner_assign/data/res_partner_activation_data.xml @@ -0,0 +1,15 @@ + + + + Fully Operational + 3 + + + Ramp-up + 2 + + + First Contact + 1 + + diff --git a/addons/website_crm_partner_assign/data/res_partner_demo.xml b/addons/website_crm_partner_assign/data/res_partner_demo.xml index dde9e124af6..1cf8ecd345e 100644 --- a/addons/website_crm_partner_assign/data/res_partner_demo.xml +++ b/addons/website_crm_partner_assign/data/res_partner_demo.xml @@ -1,70 +1,44 @@ - - Platinum - 4 - - - Gold - 3 - - - Silver - 2 - - - Bronze - 1 - - - + 10 - + 10 - + 10 - + 10 - + 10 - + 10 - + 10 - + 10 - - 10 - - - - - 10 - - - + 10 diff --git a/addons/website_crm_partner_assign/data/res_partner_grade_data.xml b/addons/website_crm_partner_assign/data/res_partner_grade_data.xml new file mode 100644 index 00000000000..86b774a91e0 --- /dev/null +++ b/addons/website_crm_partner_assign/data/res_partner_grade_data.xml @@ -0,0 +1,15 @@ + + + + Gold + 3 + + + Silver + 2 + + + Bronze + 1 + + diff --git a/addons/website_crm_partner_assign/data/res_partner_grade_demo.xml b/addons/website_crm_partner_assign/data/res_partner_grade_demo.xml index c12607f0cbf..c04c1b22036 100644 --- a/addons/website_crm_partner_assign/data/res_partner_grade_demo.xml +++ b/addons/website_crm_partner_assign/data/res_partner_grade_demo.xml @@ -1,21 +1,14 @@ - + - + - + - - - - - - 10 - diff --git a/addons/website_crm_partner_assign/models/res_partner.py b/addons/website_crm_partner_assign/models/res_partner.py index 8790859f0c5..8e7bc8a0fa6 100644 --- a/addons/website_crm_partner_assign/models/res_partner.py +++ b/addons/website_crm_partner_assign/models/res_partner.py @@ -7,7 +7,7 @@ from odoo.addons.http_routing.models.ir_http import slug class ResPartnerGrade(models.Model): _name = 'res.partner.grade' - _order = 'sequence' + _order = 'sequence desc' _inherit = ['website.published.mixin'] _description = 'Partner Grade' @@ -28,7 +28,7 @@ class ResPartnerGrade(models.Model): class ResPartnerActivation(models.Model): _name = 'res.partner.activation' - _order = 'sequence' + _order = 'sequence desc' _description = 'Partner Activation' sequence = fields.Integer('Sequence') diff --git a/addons/website_crm_partner_assign/views/res_partner_views.xml b/addons/website_crm_partner_assign/views/res_partner_views.xml index 61555b7c5c7..a5995d04b61 100644 --- a/addons/website_crm_partner_assign/views/res_partner_views.xml +++ b/addons/website_crm_partner_assign/views/res_partner_views.xml @@ -34,6 +34,13 @@ Partner Activations res.partner.activation tree,form + +

+ Create a Partner Activation +

+ Those are used to know where your Partners stand in your onboarding process. +

+
- Partner Level + Partner Levels res.partner.grade + +

+ Create a Partner Level +

+ Partner Levels allow you to rank your Partners based on their performances. +

+
Date: Mon, 1 Mar 2021 10:30:27 +0000 Subject: [PATCH 2/6] [IMP] website_crm_partner_assign: improve 'Partner Assignment' and creation - This commit removes `selection` widget given on 'Partner Level' and 'Activation' fields on contact form view to allow users to create records for them on the fly (with 'no_open' option). - This commit moves geo-location related fields below the parter assignment related fields in the 'Partner Assignment' page of contact form view. - This commit adds default lowest 'Partner Level' and 'Activation' (based on sequence) while creating assigned partner on the fly from opportunity form view. The purpose is to allow user to select the created partner again in 'Assigned Partner' m2o, which displays only partners having 'Partner Level' (grade_id) set. TaskID-2443894 closes https://github.com/odoo/odoo/pull/67524 Part-of: odoo/odoo#67524 --- .../website_crm_partner_assign/models/res_partner.py | 12 ++++++++++++ .../views/crm_lead_views.xml | 2 +- .../views/res_partner_views.xml | 8 ++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/addons/website_crm_partner_assign/models/res_partner.py b/addons/website_crm_partner_assign/models/res_partner.py index 8e7bc8a0fa6..264f8f9ff1e 100644 --- a/addons/website_crm_partner_assign/models/res_partner.py +++ b/addons/website_crm_partner_assign/models/res_partner.py @@ -38,6 +38,18 @@ class ResPartnerActivation(models.Model): class ResPartner(models.Model): _inherit = "res.partner" + @api.model + def default_get(self, fields_list): + default_vals = super().default_get(fields_list) + if self.env.context.get('partner_set_default_grade_activation'): + # sets the lowest grade and activation if no default values given, mainly useful while + # creating assigned partner on the fly (to make it visible in same m2o again) + if 'grade_id' in fields_list and not default_vals.get('grade_id'): + default_vals['grade_id'] = self.env['res.partner.grade'].search([], order='sequence', limit=1).id + if 'activation' in fields_list and not default_vals.get('activation'): + default_vals['activation'] = self.env['res.partner.activation'].search([], order='sequence', limit=1).id + return default_vals + partner_weight = fields.Integer( 'Level Weight', compute='_compute_partner_weight', readonly=False, store=True, tracking=True, diff --git a/addons/website_crm_partner_assign/views/crm_lead_views.xml b/addons/website_crm_partner_assign/views/crm_lead_views.xml index 4645c09afda..09792280f13 100644 --- a/addons/website_crm_partner_assign/views/crm_lead_views.xml +++ b/addons/website_crm_partner_assign/views/crm_lead_views.xml @@ -21,7 +21,7 @@ @@ -273,7 +273,7 @@
- +
@@ -569,31 +569,29 @@
Customer
-
+
-
+
- - - +
-
+
- - - +
-
+
- - - +
Address -
+
@@ -602,7 +600,7 @@
-
+
@@ -684,28 +682,35 @@
- - +
+
+ + +
+
+ +
+ + +
+ + + +
+
+
+
- -
-
- -
- - -
- - - -
-
+