From e9a33a436f7a94a0efd5db233a6102e62ecbf31b Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Wed, 18 Aug 2021 16:48:35 +0000 Subject: [PATCH] [ADD] (website_sale_)delivery_mondialrelay: allow to use MondialRelay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit let you choose a Point Relais® as your shipping address. It instantiates the Widget only. It will not handle the print label. Part-of: odoo/odoo#75281 --- addons/delivery_mondialrelay/__init__.py | 4 + addons/delivery_mondialrelay/__manifest__.py | 27 +++++ addons/delivery_mondialrelay/data/data.xml | 88 +++++++++++++++ .../delivery_mondialrelay/models/__init__.py | 5 + .../models/delivery_carrier.py | 29 +++++ .../models/res_partner.py | 39 +++++++ .../models/sale_order.py | 18 +++ .../static/src/img/truck_mr.png | Bin 0 -> 3417 bytes .../static/src/js/mondialrelay.js | 70 ++++++++++++ .../static/src/scss/mondialrelay.scss | 5 + addons/delivery_mondialrelay/views/views.xml | 41 +++++++ .../delivery_mondialrelay/wizard/__init__.py | 3 + .../wizard/choose_delivery_carrier.py | 61 ++++++++++ .../wizard/choose_delivery_carrier_views.xml | 21 ++++ addons/website_sale/controllers/main.py | 1 + addons/website_sale/views/templates.xml | 35 ++++-- .../views/website_sale_delivery_templates.xml | 5 +- .../__init__.py | 4 + .../__manifest__.py | 22 ++++ .../controllers/__init__.py | 3 + .../controllers/controllers.py | 87 +++++++++++++++ .../models/__init__.py | 3 + .../models/website.py | 17 +++ .../static/src/img/logo.png | Bin 0 -> 985 bytes .../js/website_sale_delivery_mondialrelay.js | 105 ++++++++++++++++++ .../website_sale_delivery_mondialrelay.xml | 26 +++++ .../views/templates.xml | 25 +++++ odoo/addons/base/views/res_partner_views.xml | 6 +- 28 files changed, 736 insertions(+), 14 deletions(-) create mode 100644 addons/delivery_mondialrelay/__init__.py create mode 100644 addons/delivery_mondialrelay/__manifest__.py create mode 100644 addons/delivery_mondialrelay/data/data.xml create mode 100644 addons/delivery_mondialrelay/models/__init__.py create mode 100644 addons/delivery_mondialrelay/models/delivery_carrier.py create mode 100644 addons/delivery_mondialrelay/models/res_partner.py create mode 100644 addons/delivery_mondialrelay/models/sale_order.py create mode 100644 addons/delivery_mondialrelay/static/src/img/truck_mr.png create mode 100644 addons/delivery_mondialrelay/static/src/js/mondialrelay.js create mode 100644 addons/delivery_mondialrelay/static/src/scss/mondialrelay.scss create mode 100644 addons/delivery_mondialrelay/views/views.xml create mode 100644 addons/delivery_mondialrelay/wizard/__init__.py create mode 100644 addons/delivery_mondialrelay/wizard/choose_delivery_carrier.py create mode 100644 addons/delivery_mondialrelay/wizard/choose_delivery_carrier_views.xml create mode 100644 addons/website_sale_delivery_mondialrelay/__init__.py create mode 100644 addons/website_sale_delivery_mondialrelay/__manifest__.py create mode 100644 addons/website_sale_delivery_mondialrelay/controllers/__init__.py create mode 100644 addons/website_sale_delivery_mondialrelay/controllers/controllers.py create mode 100644 addons/website_sale_delivery_mondialrelay/models/__init__.py create mode 100644 addons/website_sale_delivery_mondialrelay/models/website.py create mode 100644 addons/website_sale_delivery_mondialrelay/static/src/img/logo.png create mode 100644 addons/website_sale_delivery_mondialrelay/static/src/js/website_sale_delivery_mondialrelay.js create mode 100644 addons/website_sale_delivery_mondialrelay/static/src/xml/website_sale_delivery_mondialrelay.xml create mode 100644 addons/website_sale_delivery_mondialrelay/views/templates.xml diff --git a/addons/delivery_mondialrelay/__init__.py b/addons/delivery_mondialrelay/__init__.py new file mode 100644 index 00000000000..35e7c9600c5 --- /dev/null +++ b/addons/delivery_mondialrelay/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import wizard diff --git a/addons/delivery_mondialrelay/__manifest__.py b/addons/delivery_mondialrelay/__manifest__.py new file mode 100644 index 00000000000..65302a814ba --- /dev/null +++ b/addons/delivery_mondialrelay/__manifest__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +{ + 'name': "delivery_mondialrelay", + 'summary': """ Let's choose a Point Relais® as shipping address """, + + 'description': """ + This module allow your customer to choose a Point Relais® and use it as shipping address. + This module doesn't implement the WebService. It is only the integration of the widget. + + Delivery price pre-configured is an example, you need to adapt the pricing's rules. + """, + 'category': 'Inventory/Delivery', + 'version': '0.1', + 'depends': ['delivery'], + 'data': [ + 'data/data.xml', + 'views/views.xml', + 'wizard/choose_delivery_carrier_views.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'delivery_mondialrelay/static/src/js/mondialrelay.js', + 'delivery_mondialrelay/static/src/scss/mondialrelay.scss', + ], + }, + 'license': 'LGPL-3', +} diff --git a/addons/delivery_mondialrelay/data/data.xml b/addons/delivery_mondialrelay/data/data.xml new file mode 100644 index 00000000000..826aea363b1 --- /dev/null +++ b/addons/delivery_mondialrelay/data/data.xml @@ -0,0 +1,88 @@ + + + + + + Mondial Relay + MR + service + + + + 5 + order + + + + Mondial Relay + 30 + base_on_rule + rate + + + + + + + + + + + >= + + + + + + Mondial Relay + 31 + base_on_rule + rate + + + + + + + + + + + + + + + + + >= + + + + + + Mondial Relay + 32 + base_on_rule + rate + + + + + + + + + + + + + + + + + >= + + + + + diff --git a/addons/delivery_mondialrelay/models/__init__.py b/addons/delivery_mondialrelay/models/__init__.py new file mode 100644 index 00000000000..35f8120f52d --- /dev/null +++ b/addons/delivery_mondialrelay/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import delivery_carrier +from . import res_partner +from . import sale_order diff --git a/addons/delivery_mondialrelay/models/delivery_carrier.py b/addons/delivery_mondialrelay/models/delivery_carrier.py new file mode 100644 index 00000000000..2c8b6a69210 --- /dev/null +++ b/addons/delivery_mondialrelay/models/delivery_carrier.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, api + + +class DeliveryCarrierMondialRelay(models.Model): + _inherit = 'delivery.carrier' + + is_mondialrelay = fields.Boolean(compute='_compute_is_mondialrelay') + mondialrelay_brand = fields.Char(string='Brand Code', default='BDTEST ', groups="base.group_system") + mondialrelay_packagetype = fields.Char(default="24R", groups="base.group_system") # Advanced + + @api.depends('product_id.default_code') + def _compute_is_mondialrelay(self): + for c in self: + c.is_mondialrelay = c.product_id.default_code == "MR" + + def fixed_get_tracking_link(self, picking): + return self.base_on_rule_get_tracking_link(picking) + + def base_on_rule_get_tracking_link(self, picking): + if self.is_mondialrelay: + return 'https://www.mondialrelay.com/public/permanent/tracking.aspx?ens=%(brand)s&exp=%(track)s&language=%(lang)s' % { + 'brand': picking.carrier_id.mondialrelay_brand, + 'track': picking.carrier_tracking_ref, + 'lang': (picking.partner_id.lang or 'fr').split('_')[0], + } + return super().based_on_rule_get_tracking_link(picking) diff --git a/addons/delivery_mondialrelay/models/res_partner.py b/addons/delivery_mondialrelay/models/res_partner.py new file mode 100644 index 00000000000..8952d9e5c5b --- /dev/null +++ b/addons/delivery_mondialrelay/models/res_partner.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, api + + +class ResPartnerMondialRelay(models.Model): + _inherit = 'res.partner' + + is_mondialrelay = fields.Boolean(compute='_compute_is_mondialrelay') + + @api.depends('ref') + def _compute_is_mondialrelay(self): + for p in self: + p.is_mondialrelay = p.ref and p.ref.startswith('MR#') + + @api.model + def _mondialrelay_search_or_create(self, data): + ref = 'MR#%s' % data['id'] + partner = self.search([ + ('id', 'child_of', self.commercial_partner_id.ids), + ('ref', '=', ref), + # fast check that address always the same + ('street', '=', data['street']), + ('zip', '=', data['zip']), + ]) + if not partner: + partner = self.create({ + 'ref': ref, + 'name': data['name'], + 'street': data['street'], + 'street2': data['street2'], + 'zip': data['zip'], + 'city': data['city'], + 'country_id': self.env.ref('base.%s' % data['country_code']).id, + 'type': 'delivery', + 'parent_id': self.id, + }) + return partner diff --git a/addons/delivery_mondialrelay/models/sale_order.py b/addons/delivery_mondialrelay/models/sale_order.py new file mode 100644 index 00000000000..c492e31fc57 --- /dev/null +++ b/addons/delivery_mondialrelay/models/sale_order.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models, _ +from odoo.exceptions import UserError + + +class SaleOrderMondialRelay(models.Model): + _inherit = 'sale.order' + + def action_confirm(self): + unmatch = self.filtered(lambda so: so.carrier_id.is_mondialrelay != so.partner_shipping_id.is_mondialrelay) + if unmatch: + error = _('Mondial Relay mismatching between delivery method and shipping address.') + if len(self) > 1: + error += ' (%s)' % ','.join(unmatch.mapped('name')) + raise UserError(error) + return super().action_confirm() diff --git a/addons/delivery_mondialrelay/static/src/img/truck_mr.png b/addons/delivery_mondialrelay/static/src/img/truck_mr.png new file mode 100644 index 0000000000000000000000000000000000000000..1810acdcca11cc4e322c70cae096f6073c1d7bf0 GIT binary patch literal 3417 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 literal 0 HcmV?d00001 diff --git a/addons/delivery_mondialrelay/static/src/js/mondialrelay.js b/addons/delivery_mondialrelay/static/src/js/mondialrelay.js new file mode 100644 index 00000000000..bbb6fd6061a --- /dev/null +++ b/addons/delivery_mondialrelay/static/src/js/mondialrelay.js @@ -0,0 +1,70 @@ +/** @odoo-module **/ + +import AbstractField from 'web.AbstractField'; +import fieldRegistry from 'web.field_registry'; + + +var MondialRelayWidget = AbstractField.extend({ + resetOnAnyFieldChange: true, + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + * @private + */ + _render: function () { + if (this.recordData.is_mondialrelay) { + if (!this.mondialRelayInitialized) { + const script = document.createElement('script'); + script.src = "https://widget.mondialrelay.com/parcelshop-picker/jquery.plugin.mondialrelay.parcelshoppicker.min.js"; + script.onload = () => { + this.mondialRelayInitialized = true; + this._loadWidget(); + }; + document.body.appendChild(script); + } else { + this._loadWidget(); + } + } else { + this.$el.hide(); + } + }, + + /** + * + * @private + */ + _loadWidget: function () { + const params = { + Target: "", // required but handled by OnParcelShopSelected + Brand: this.recordData.mondialrelay_brand, + ColLivMod: this.recordData.mondial_realy_colLivMod, + AllowedCountries: this.recordData.mondialrelay_allowed_countries, + PostCode: this.recordData.shipping_zip || '', + Country: this.recordData.shipping_country_code || '', + Responsive: true, + ShowResultsOnMap: true, + AutoSelect: this.recordData.mondialrelay_last_selected_id, + OnParcelShopSelected: (RelaySelected) => { + const values = JSON.stringify({ + 'id': RelaySelected.ID, + 'name': RelaySelected.Nom, + 'street': RelaySelected.Adresse1, + 'street2': RelaySelected.Adresse2, + 'zip': RelaySelected.CP, + 'city': RelaySelected.Ville, + 'country': RelaySelected.Pays, + }); + this._setValue(values); + }, + }; + this.$el.show(); + this.$el.MR_ParcelShopPicker(params); + this.$el.trigger("MR_RebindMap"); + }, + +}); + +fieldRegistry.add("mondialrelay_relay", MondialRelayWidget); diff --git a/addons/delivery_mondialrelay/static/src/scss/mondialrelay.scss b/addons/delivery_mondialrelay/static/src/scss/mondialrelay.scss new file mode 100644 index 00000000000..00e7ed919c5 --- /dev/null +++ b/addons/delivery_mondialrelay/static/src/scss/mondialrelay.scss @@ -0,0 +1,5 @@ +.MRW-Search .MRW-Container { + input.iArg0, input.Arg2 { + display: inline !important, + } +} diff --git a/addons/delivery_mondialrelay/views/views.xml b/addons/delivery_mondialrelay/views/views.xml new file mode 100644 index 00000000000..56566676f51 --- /dev/null +++ b/addons/delivery_mondialrelay/views/views.xml @@ -0,0 +1,41 @@ + + + + + delivery.carrier.form.provider.mondialrelay + delivery.carrier + + + + + + + + + + + delivery.carrier.tree.provider.mondialrelay + delivery.carrier + + + + + + + + + + view_partner_form_mondialrelay + res.partner + + + + + + + + + + + + diff --git a/addons/delivery_mondialrelay/wizard/__init__.py b/addons/delivery_mondialrelay/wizard/__init__.py new file mode 100644 index 00000000000..718862762ba --- /dev/null +++ b/addons/delivery_mondialrelay/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import choose_delivery_carrier diff --git a/addons/delivery_mondialrelay/wizard/choose_delivery_carrier.py b/addons/delivery_mondialrelay/wizard/choose_delivery_carrier.py new file mode 100644 index 00000000000..70507e63822 --- /dev/null +++ b/addons/delivery_mondialrelay/wizard/choose_delivery_carrier.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models, api, _ +from odoo.tools.json import scriptsafe as json_safe +from odoo.exceptions import ValidationError + + +class ChooseDeliveryCarrier(models.TransientModel): + _inherit = 'choose.delivery.carrier' + + shipping_zip = fields.Char(related='order_id.partner_shipping_id.zip') + shipping_country_code = fields.Char(related='order_id.partner_shipping_id.country_id.code') + + is_mondialrelay = fields.Boolean(compute='_compute_is_mondialrelay') + mondialrelay_last_selected = fields.Char(string="Last Relay Selected") + mondialrelay_last_selected_id = fields.Char(compute='_compute_mr_last_selected_id') + mondialrelay_brand = fields.Char(related='carrier_id.mondialrelay_brand') + mondialrelay_colLivMod = fields.Char(related='carrier_id.mondialrelay_packagetype') + mondialrelay_allowed_countries = fields.Char(compute='_compute_mr_allowed_countries') + + @api.depends('carrier_id') + def _compute_is_mondialrelay(self): + self.ensure_one() + self.is_mondialrelay = self.carrier_id.product_id.default_code == "MR" + + @api.depends('carrier_id', 'order_id.partner_shipping_id') + def _compute_mr_last_selected_id(self): + self.ensure_one() + if self.order_id.partner_shipping_id.is_mondialrelay: + self.mondialrelay_last_selected_id = '%s-%s' % ( + self.shipping_country_code, + self.order_id.partner_shipping_id.ref.lstrip('MR#'), + ) + else: + self.mondialrelay_last_selected_id = '' + + @api.depends('carrier_id') + def _compute_mr_allowed_countries(self): + self.ensure_one() + self.mondialrelay_allowed_countries = ','.join(self.carrier_id.country_ids.mapped('code')).upper() or '' + + def button_confirm(self): + if self.carrier_id.is_mondialrelay: + if not self.mondialrelay_last_selected: + raise ValidationError(_('Please, choose a Parcel Point')) + data = json_safe.loads(self.mondialrelay_last_selected) + partner_shipping = self.order_id.partner_id._mondialrelay_search_or_create({ + 'id': data['id'], + 'name': data['name'], + 'street': data['street'], + 'street2': data['street2'], + 'zip': data['zip'], + 'city': data['city'], + 'country_code': data['country'][:2].lower(), + }) + if partner_shipping != self.order_id.partner_shipping_id: + self.order_id.partner_shipping_id = partner_shipping + self.order_id.onchange_partner_shipping_id() + + return super().button_confirm() diff --git a/addons/delivery_mondialrelay/wizard/choose_delivery_carrier_views.xml b/addons/delivery_mondialrelay/wizard/choose_delivery_carrier_views.xml new file mode 100644 index 00000000000..1333fbc10d4 --- /dev/null +++ b/addons/delivery_mondialrelay/wizard/choose_delivery_carrier_views.xml @@ -0,0 +1,21 @@ + + + + choose.delivery.carrier.form + choose.delivery.carrier + + +
+ +
+ + + + + + + + + + + diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 86025f97846..53c584c4e78 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -739,6 +739,7 @@ class WebsiteSale(http.Controller): order.partner_shipping_id = partner_id # TDE FIXME: don't ever do this + # -> TDE: you are the guy that did what we should never do in commit e6f038a order.message_partner_ids = [(4, partner_id), (3, request.website.partner_id.id)] if not errors: return request.redirect(kw.get('callback') or '/shop/confirm_order') diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 978876e343f..839dc9f8cc0 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -1223,6 +1223,7 @@ +
@@ -1238,20 +1239,20 @@ -
+
- +
@@ -1287,7 +1288,7 @@
- +