From bdb669a8dc53d7f79229326a835991f5be62fdb8 Mon Sep 17 00:00:00 2001 From: Raph Date: Tue, 16 May 2017 17:10:21 +0200 Subject: [PATCH 1/7] options -> option --- delivery_roulier_option/README.rst | 16 ++++ delivery_roulier_option/__init__.py | 1 + delivery_roulier_option/__openerp__.py | 24 +++++ delivery_roulier_option/data/delivery.xml | 27 ++++++ delivery_roulier_option/models/__init__.py | 3 + .../models/delivery_option.py | 12 +++ .../models/stock_picking.py | 88 +++++++++++++++++++ .../models/stock_quant_package.py | 54 ++++++++++++ 8 files changed, 225 insertions(+) create mode 100644 delivery_roulier_option/README.rst create mode 100644 delivery_roulier_option/__init__.py create mode 100644 delivery_roulier_option/__openerp__.py create mode 100644 delivery_roulier_option/data/delivery.xml create mode 100644 delivery_roulier_option/models/__init__.py create mode 100644 delivery_roulier_option/models/delivery_option.py create mode 100644 delivery_roulier_option/models/stock_picking.py create mode 100644 delivery_roulier_option/models/stock_quant_package.py diff --git a/delivery_roulier_option/README.rst b/delivery_roulier_option/README.rst new file mode 100644 index 0000000000..cbca8a680e --- /dev/null +++ b/delivery_roulier_option/README.rst @@ -0,0 +1,16 @@ +Delivery Carrier Roulier Options +================================ + + +Description +----------- +Manage options for the delivery method. +Like insurance or cash on delivery + + +Contributors +------------ + +* David BEAL +* Raphaël REVERDY + diff --git a/delivery_roulier_option/__init__.py b/delivery_roulier_option/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/delivery_roulier_option/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/delivery_roulier_option/__openerp__.py b/delivery_roulier_option/__openerp__.py new file mode 100644 index 0000000000..039fd18db3 --- /dev/null +++ b/delivery_roulier_option/__openerp__.py @@ -0,0 +1,24 @@ +# coding: utf-8 +# © 2016 Raphael REVERDY +# David BEAL +# Sébastien BEAU +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Delivery Roulier Option', + 'version': '9.0.1.0.0', + 'author': 'Akretion, Odoo Community Association (OCA)', + 'summary': 'Add options to roulier modules', + 'maintainer': 'Akretion, Odoo Community Association (OCA)', + 'category': 'Warehouse', + 'depends': [ + 'delivery_roulier', + ], + 'website': 'http://www.akretion.com/', + 'data': [ + 'data/delivery.xml', + ], + 'demo': [], + 'installable': True, + 'license': 'AGPL-3', +} diff --git a/delivery_roulier_option/data/delivery.xml b/delivery_roulier_option/data/delivery.xml new file mode 100644 index 0000000000..0da0741aef --- /dev/null +++ b/delivery_roulier_option/data/delivery.xml @@ -0,0 +1,27 @@ + + + + + + + Acknowledgment + ACK + + + + Free of charges and rights + FCR + + + + Shipping Cash On Delivery + COD + + + + Insurance + INS + + + + diff --git a/delivery_roulier_option/models/__init__.py b/delivery_roulier_option/models/__init__.py new file mode 100644 index 0000000000..27b55814f4 --- /dev/null +++ b/delivery_roulier_option/models/__init__.py @@ -0,0 +1,3 @@ +from . import stock_picking +from . import delivery_option +from . import stock_quant_package diff --git a/delivery_roulier_option/models/delivery_option.py b/delivery_roulier_option/models/delivery_option.py new file mode 100644 index 0000000000..70a7d6df8e --- /dev/null +++ b/delivery_roulier_option/models/delivery_option.py @@ -0,0 +1,12 @@ +# coding: utf-8 +# © 2016 David BEAL @ Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import models, fields + + +class DeliveryCarrierTemplateOption(models.Model): + """ Available options for a carrier (partner) """ + _inherit = 'delivery.carrier.template.option' + + name = fields.Char(translate=True) diff --git a/delivery_roulier_option/models/stock_picking.py b/delivery_roulier_option/models/stock_picking.py new file mode 100644 index 0000000000..52a586cdbe --- /dev/null +++ b/delivery_roulier_option/models/stock_picking.py @@ -0,0 +1,88 @@ +# coding: utf-8 +# @author Raphael Reverdy +# David BEAL +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from functools import wraps +import logging +from openerp import models, fields, api + +_logger = logging.getLogger(__name__) + + +def implemented_by_carrier(func): + """Decorator: call _carrier_prefixed method instead. + + Usage: + @implemented_by_carrier + def _do_something() + def _laposte_do_something() + def _gls_do_something() + + At runtime, picking._do_something() will try to call + the carrier spectific method or fallback to generic _do_something + + """ + @wraps(func) + def wrapper(cls, *args, **kwargs): + fun_name = func.__name__ + fun = '_%s%s' % (cls.carrier_type, fun_name) + if not hasattr(cls, fun): + fun = '_roulier%s' % (fun_name) + # return func(cls, *args, **kwargs) + return getattr(cls, fun)(*args, **kwargs) + return wrapper + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + display_insurance = fields.Boolean( + compute='_compute_check_options', + string="Define a condition to display/hide your custom Insurance" + "field with a decated view") + + @implemented_by_carrier + def _map_options(self): + pass + + @implemented_by_carrier + def _get_options(self, package): + pass + + @api.multi + @api.depends('option_ids') + def _compute_check_options(self): + insurance_opt = self.env.ref( + 'delivery_roulier_option.carrier_opt_tmpl_INS', False) + for rec in self: + if insurance_opt in [x.tmpl_option_id for x in rec.option_ids]: + rec.display_insurance = True + else: + rec.display_insurance = False + _logger.info(" >>> in _compute_check_options() %s" % + rec.display_insurance) + + @api.model + def _roulier_map_options(self): + """Customize this mapping with your own carrier. + + Like + return { + 'FCR': 'fcr', + 'COD': 'cod', + 'INS': 'ins', + } + """ + return {} + + def _roulier_get_options(self, package): + mapping_options = self._map_options() + options = {} + if self.option_ids: + for opt in self.option_ids: + opt_key = str(opt.tmpl_option_id['code']) + if opt_key in mapping_options: + options[mapping_options[opt_key]] = True + else: + options[opt_key] = True + return options diff --git a/delivery_roulier_option/models/stock_quant_package.py b/delivery_roulier_option/models/stock_quant_package.py new file mode 100644 index 0000000000..de342834c7 --- /dev/null +++ b/delivery_roulier_option/models/stock_quant_package.py @@ -0,0 +1,54 @@ +# coding: utf-8 +# @author Raphael Reverdy +# David BEAL +# EBII MonsieurB +# Sébastien BEAU +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from functools import wraps + +from openerp import models +import logging + +_logger = logging.getLogger(__name__) + + +def implemented_by_carrier(func): + """Decorator: call _carrier_prefixed method instead. + + Usage: + @implemented_by_carrier + def _do_something() + def _laposte_do_something() + def _gls_do_something() + + At runtime, picking._do_something() will try to call + the carrier spectific method or fallback to generic _do_something + + """ + @wraps(func) + def wrapper(cls, *args, **kwargs): + fun_name = func.__name__ + fun = '_%s%s' % (cls.carrier_type, fun_name) + if not hasattr(cls, fun): + fun = '_roulier%s' % (fun_name) + # return func(cls, *args, **kwargs) + return getattr(cls, fun)(*args, **kwargs) + return wrapper + + +class StockQuantPackage(models.Model): + _inherit = 'stock.quant.package' + + @implemented_by_carrier + def _get_cash_on_delivery(self, picking): + pass + + def _roulier_get_cash_on_delivery(self, picking): + """ called by 'cod' option + """ + # TODO improve to take account Sale if picking created from sale + amount = 0 + for oper in self.get_operations(): + amount += oper.product_id.list_price * oper.product_qty + return amount From 220ef0e8af9ff62f621cea016be8f4e6786abb91 Mon Sep 17 00:00:00 2001 From: hpar Date: Wed, 13 Dec 2017 17:52:46 +0100 Subject: [PATCH 2/7] Port laposte to 10 --- delivery_roulier_option/__openerp__.py | 5 ++-- delivery_roulier_option/data/delivery.xml | 8 ++--- .../models/delivery_option.py | 2 +- .../models/stock_picking.py | 28 ++--------------- .../models/stock_quant_package.py | 30 ++----------------- 5 files changed, 10 insertions(+), 63 deletions(-) diff --git a/delivery_roulier_option/__openerp__.py b/delivery_roulier_option/__openerp__.py index 039fd18db3..eea7d4aa64 100644 --- a/delivery_roulier_option/__openerp__.py +++ b/delivery_roulier_option/__openerp__.py @@ -6,8 +6,8 @@ { 'name': 'Delivery Roulier Option', - 'version': '9.0.1.0.0', - 'author': 'Akretion, Odoo Community Association (OCA)', + 'version': '10.0.1.0.0', + 'author': 'Akretion', 'summary': 'Add options to roulier modules', 'maintainer': 'Akretion, Odoo Community Association (OCA)', 'category': 'Warehouse', @@ -18,7 +18,6 @@ 'data': [ 'data/delivery.xml', ], - 'demo': [], 'installable': True, 'license': 'AGPL-3', } diff --git a/delivery_roulier_option/data/delivery.xml b/delivery_roulier_option/data/delivery.xml index 0da0741aef..f96bdd9090 100644 --- a/delivery_roulier_option/data/delivery.xml +++ b/delivery_roulier_option/data/delivery.xml @@ -1,7 +1,6 @@ - - - + + Acknowledgment @@ -22,6 +21,5 @@ Insurance INS - - + diff --git a/delivery_roulier_option/models/delivery_option.py b/delivery_roulier_option/models/delivery_option.py index 70a7d6df8e..7625bf5025 100644 --- a/delivery_roulier_option/models/delivery_option.py +++ b/delivery_roulier_option/models/delivery_option.py @@ -2,7 +2,7 @@ # © 2016 David BEAL @ Akretion # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import models, fields +from odoo import models, fields class DeliveryCarrierTemplateOption(models.Model): diff --git a/delivery_roulier_option/models/stock_picking.py b/delivery_roulier_option/models/stock_picking.py index 52a586cdbe..45a8e71852 100644 --- a/delivery_roulier_option/models/stock_picking.py +++ b/delivery_roulier_option/models/stock_picking.py @@ -2,37 +2,13 @@ # @author Raphael Reverdy # David BEAL # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from functools import wraps import logging -from openerp import models, fields, api +from odoo import models, fields, api +from odoo.addons.delivery_roulier import implemented_by_carrier _logger = logging.getLogger(__name__) -def implemented_by_carrier(func): - """Decorator: call _carrier_prefixed method instead. - - Usage: - @implemented_by_carrier - def _do_something() - def _laposte_do_something() - def _gls_do_something() - - At runtime, picking._do_something() will try to call - the carrier spectific method or fallback to generic _do_something - - """ - @wraps(func) - def wrapper(cls, *args, **kwargs): - fun_name = func.__name__ - fun = '_%s%s' % (cls.carrier_type, fun_name) - if not hasattr(cls, fun): - fun = '_roulier%s' % (fun_name) - # return func(cls, *args, **kwargs) - return getattr(cls, fun)(*args, **kwargs) - return wrapper - - class StockPicking(models.Model): _inherit = 'stock.picking' diff --git a/delivery_roulier_option/models/stock_quant_package.py b/delivery_roulier_option/models/stock_quant_package.py index de342834c7..38c39f2d31 100644 --- a/delivery_roulier_option/models/stock_quant_package.py +++ b/delivery_roulier_option/models/stock_quant_package.py @@ -4,39 +4,13 @@ # EBII MonsieurB # Sébastien BEAU # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from functools import wraps - -from openerp import models import logging +from odoo import models +from odoo.addons.delivery_roulier import implemented_by_carrier _logger = logging.getLogger(__name__) -def implemented_by_carrier(func): - """Decorator: call _carrier_prefixed method instead. - - Usage: - @implemented_by_carrier - def _do_something() - def _laposte_do_something() - def _gls_do_something() - - At runtime, picking._do_something() will try to call - the carrier spectific method or fallback to generic _do_something - - """ - @wraps(func) - def wrapper(cls, *args, **kwargs): - fun_name = func.__name__ - fun = '_%s%s' % (cls.carrier_type, fun_name) - if not hasattr(cls, fun): - fun = '_roulier%s' % (fun_name) - # return func(cls, *args, **kwargs) - return getattr(cls, fun)(*args, **kwargs) - return wrapper - - class StockQuantPackage(models.Model): _inherit = 'stock.quant.package' From caa6bd40bb6a8551d16556f7fb7c612a095ca948 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 20 Apr 2018 17:24:34 +0200 Subject: [PATCH 3/7] Improve error msg --- delivery_roulier_option/models/stock_picking.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/delivery_roulier_option/models/stock_picking.py b/delivery_roulier_option/models/stock_picking.py index 45a8e71852..03f1e3b16d 100644 --- a/delivery_roulier_option/models/stock_picking.py +++ b/delivery_roulier_option/models/stock_picking.py @@ -15,7 +15,7 @@ class StockPicking(models.Model): display_insurance = fields.Boolean( compute='_compute_check_options', string="Define a condition to display/hide your custom Insurance" - "field with a decated view") + "field with a dedicated view") @implemented_by_carrier def _map_options(self): @@ -35,8 +35,8 @@ def _compute_check_options(self): rec.display_insurance = True else: rec.display_insurance = False - _logger.info(" >>> in _compute_check_options() %s" % - rec.display_insurance) + _logger.info("Picking %s display_insurance=%s", + rec.name, rec.display_insurance) @api.model def _roulier_map_options(self): From 453c463a0fce18d06e0b864f96dba9ab13a3d839 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Wed, 4 Sep 2019 16:45:11 +0200 Subject: [PATCH 4/7] Migrate delivery_roulier_option to v12 --- .../{__openerp__.py => __manifest__.py} | 6 +- delivery_roulier_option/data/delivery.xml | 6 +- .../models/delivery_option.py | 2 - .../models/stock_picking.py | 30 +++---- .../models/stock_quant_package.py | 80 +++++++++++++++++-- 5 files changed, 92 insertions(+), 32 deletions(-) rename delivery_roulier_option/{__openerp__.py => __manifest__.py} (80%) diff --git a/delivery_roulier_option/__openerp__.py b/delivery_roulier_option/__manifest__.py similarity index 80% rename from delivery_roulier_option/__openerp__.py rename to delivery_roulier_option/__manifest__.py index eea7d4aa64..edf66de6fe 100644 --- a/delivery_roulier_option/__openerp__.py +++ b/delivery_roulier_option/__manifest__.py @@ -1,4 +1,3 @@ -# coding: utf-8 # © 2016 Raphael REVERDY # David BEAL # Sébastien BEAU @@ -6,15 +5,16 @@ { 'name': 'Delivery Roulier Option', - 'version': '10.0.1.0.0', + 'version': '12.0.1.0.0', 'author': 'Akretion', 'summary': 'Add options to roulier modules', 'maintainer': 'Akretion, Odoo Community Association (OCA)', 'category': 'Warehouse', 'depends': [ 'delivery_roulier', + 'product_harmonized_system', # from oca/intrastat ], - 'website': 'http://www.akretion.com/', + 'website': 'https://github.com/OCA/delivery-carrier', 'data': [ 'data/delivery.xml', ], diff --git a/delivery_roulier_option/data/delivery.xml b/delivery_roulier_option/data/delivery.xml index f96bdd9090..cb401bf6b5 100644 --- a/delivery_roulier_option/data/delivery.xml +++ b/delivery_roulier_option/data/delivery.xml @@ -1,6 +1,6 @@ - - + + Acknowledgment @@ -21,5 +21,5 @@ Insurance INS - + diff --git a/delivery_roulier_option/models/delivery_option.py b/delivery_roulier_option/models/delivery_option.py index 7625bf5025..9b4e592d6b 100644 --- a/delivery_roulier_option/models/delivery_option.py +++ b/delivery_roulier_option/models/delivery_option.py @@ -1,4 +1,3 @@ -# coding: utf-8 # © 2016 David BEAL @ Akretion # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). @@ -6,7 +5,6 @@ class DeliveryCarrierTemplateOption(models.Model): - """ Available options for a carrier (partner) """ _inherit = 'delivery.carrier.template.option' name = fields.Char(translate=True) diff --git a/delivery_roulier_option/models/stock_picking.py b/delivery_roulier_option/models/stock_picking.py index 03f1e3b16d..bcfd17a6f9 100644 --- a/delivery_roulier_option/models/stock_picking.py +++ b/delivery_roulier_option/models/stock_picking.py @@ -3,7 +3,7 @@ # David BEAL # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import logging -from odoo import models, fields, api +from odoo import models, fields, api, _ from odoo.addons.delivery_roulier import implemented_by_carrier _logger = logging.getLogger(__name__) @@ -12,10 +12,17 @@ class StockPicking(models.Model): _inherit = 'stock.picking' - display_insurance = fields.Boolean( - compute='_compute_check_options', - string="Define a condition to display/hide your custom Insurance" - "field with a dedicated view") + customs_category = fields.Selection( + selection=[ + ('gift', _("Gift")), + ('sample', _("Samples")), + ('commercial', _("Commercial Goods")), + ('document', _("Documents")), + ('other', _("Other")), + ('return', _("Goods return")), + ], + default='commercial', + help="Type of sending for the customs") @implemented_by_carrier def _map_options(self): @@ -25,19 +32,6 @@ def _map_options(self): def _get_options(self, package): pass - @api.multi - @api.depends('option_ids') - def _compute_check_options(self): - insurance_opt = self.env.ref( - 'delivery_roulier_option.carrier_opt_tmpl_INS', False) - for rec in self: - if insurance_opt in [x.tmpl_option_id for x in rec.option_ids]: - rec.display_insurance = True - else: - rec.display_insurance = False - _logger.info("Picking %s display_insurance=%s", - rec.name, rec.display_insurance) - @api.model def _roulier_map_options(self): """Customize this mapping with your own carrier. diff --git a/delivery_roulier_option/models/stock_quant_package.py b/delivery_roulier_option/models/stock_quant_package.py index 38c39f2d31..eaa5e64b2d 100644 --- a/delivery_roulier_option/models/stock_quant_package.py +++ b/delivery_roulier_option/models/stock_quant_package.py @@ -1,15 +1,12 @@ -# coding: utf-8 # @author Raphael Reverdy # David BEAL # EBII MonsieurB # Sébastien BEAU # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -import logging -from odoo import models +from odoo import models, _ +from odoo.exceptions import UserError from odoo.addons.delivery_roulier import implemented_by_carrier -_logger = logging.getLogger(__name__) - class StockQuantPackage(models.Model): _inherit = 'stock.quant.package' @@ -18,11 +15,82 @@ class StockQuantPackage(models.Model): def _get_cash_on_delivery(self, picking): pass + @implemented_by_carrier + def _get_customs(self, picking): + pass + + @implemented_by_carrier + def _get_sale_price(self, picking): + pass + + @implemented_by_carrier + def _should_include_customs(self, picking): + pass + def _roulier_get_cash_on_delivery(self, picking): - """ called by 'cod' option + """ for 'cod' option """ # TODO improve to take account Sale if picking created from sale amount = 0 for oper in self.get_operations(): amount += oper.product_id.list_price * oper.product_qty return amount + + def _roulier_should_include_customs(self, picking): + """Choose if custom docs should be sent. + + Really dumb implementation. + You may improve this for your carrier. + """ + sender = picking._get_sender(self) + receiver = picking._get_receiver(self) + return sender.country_id.code != receiver.country_id.code + + def _roulier_get_customs(self, picking): + """Format customs infos for each product in the package. + + The decision whether to include these infos or not is + taken in _should_include_customs() + + Returns: + dict.'articles' : list with qty, weight, hs_code + int category: gift 1, sample 2, commercial 3, ... + """ + self.ensure_one() + + articles = [] + for operation in self.get_operations(): + article = {} + articles.append(article) + product = operation.product_id + # stands for harmonized_system + hs = product.get_hs_code_recursively() + if not hs: + raise UserError(_( + "No H.S. Code on product '%s' nor on it's " + "product category '%s'.") + % (product.display_name, product.categ_id.display_name)) + + article['quantity'] = '%.f' % operation.product_qty + article['weight'] = ( + operation.get_weight() / operation.product_qty) + article['originCountry'] = product.origin_country_id.code + article['description'] = hs.description + article['hs'] = hs.hs_code + article['value'] = operation.get_unit_price_for_customs() + + category = picking.customs_category + return { + "articles": articles, + "category": category, + } + + def _roulier_get_sale_price(self, picking): + """ helper. Could be use to compute an insurance value or a value + for customs + """ + total = 0.0 + for operation in self.get_operations(): + total += (operation.get_unit_price_for_customs() * + operation.product_qty) + return total From 9a2fe2a99d96c0721bfb882fefb75c0487db0cff Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Tue, 8 Dec 2020 19:02:51 +0100 Subject: [PATCH 5/7] [IMP] delivery_roulier_option: black, isort, prettier --- delivery_roulier_option/__manifest__.py | 28 ++++++------- delivery_roulier_option/data/delivery.xml | 2 +- .../models/delivery_option.py | 4 +- .../models/stock_picking.py | 26 ++++++------ .../models/stock_quant_package.py | 41 ++++++++++--------- 5 files changed, 52 insertions(+), 49 deletions(-) diff --git a/delivery_roulier_option/__manifest__.py b/delivery_roulier_option/__manifest__.py index edf66de6fe..3db9c913cd 100644 --- a/delivery_roulier_option/__manifest__.py +++ b/delivery_roulier_option/__manifest__.py @@ -4,20 +4,20 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - 'name': 'Delivery Roulier Option', - 'version': '12.0.1.0.0', - 'author': 'Akretion', - 'summary': 'Add options to roulier modules', - 'maintainer': 'Akretion, Odoo Community Association (OCA)', - 'category': 'Warehouse', - 'depends': [ - 'delivery_roulier', - 'product_harmonized_system', # from oca/intrastat + "name": "Delivery Roulier Option", + "version": "12.0.1.0.0", + "author": "Akretion", + "summary": "Add options to roulier modules", + "maintainer": "Akretion, Odoo Community Association (OCA)", + "category": "Warehouse", + "depends": [ + "delivery_roulier", + "product_harmonized_system", # from oca/intrastat ], - 'website': 'https://github.com/OCA/delivery-carrier', - 'data': [ - 'data/delivery.xml', + "website": "https://github.com/OCA/delivery-carrier", + "data": [ + "data/delivery.xml", ], - 'installable': True, - 'license': 'AGPL-3', + "installable": True, + "license": "AGPL-3", } diff --git a/delivery_roulier_option/data/delivery.xml b/delivery_roulier_option/data/delivery.xml index cb401bf6b5..19a58b4526 100644 --- a/delivery_roulier_option/data/delivery.xml +++ b/delivery_roulier_option/data/delivery.xml @@ -1,4 +1,4 @@ - + diff --git a/delivery_roulier_option/models/delivery_option.py b/delivery_roulier_option/models/delivery_option.py index 9b4e592d6b..72cf05907c 100644 --- a/delivery_roulier_option/models/delivery_option.py +++ b/delivery_roulier_option/models/delivery_option.py @@ -1,10 +1,10 @@ # © 2016 David BEAL @ Akretion # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, fields +from odoo import fields, models class DeliveryCarrierTemplateOption(models.Model): - _inherit = 'delivery.carrier.template.option' + _inherit = "delivery.carrier.template.option" name = fields.Char(translate=True) diff --git a/delivery_roulier_option/models/stock_picking.py b/delivery_roulier_option/models/stock_picking.py index bcfd17a6f9..9a924ce4a5 100644 --- a/delivery_roulier_option/models/stock_picking.py +++ b/delivery_roulier_option/models/stock_picking.py @@ -1,28 +1,30 @@ -# coding: utf-8 # @author Raphael Reverdy # David BEAL # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import logging -from odoo import models, fields, api, _ + +from odoo import _, api, fields, models + from odoo.addons.delivery_roulier import implemented_by_carrier _logger = logging.getLogger(__name__) class StockPicking(models.Model): - _inherit = 'stock.picking' + _inherit = "stock.picking" customs_category = fields.Selection( selection=[ - ('gift', _("Gift")), - ('sample', _("Samples")), - ('commercial', _("Commercial Goods")), - ('document', _("Documents")), - ('other', _("Other")), - ('return', _("Goods return")), + ("gift", _("Gift")), + ("sample", _("Samples")), + ("commercial", _("Commercial Goods")), + ("document", _("Documents")), + ("other", _("Other")), + ("return", _("Goods return")), ], - default='commercial', - help="Type of sending for the customs") + default="commercial", + help="Type of sending for the customs", + ) @implemented_by_carrier def _map_options(self): @@ -50,7 +52,7 @@ def _roulier_get_options(self, package): options = {} if self.option_ids: for opt in self.option_ids: - opt_key = str(opt.tmpl_option_id['code']) + opt_key = str(opt.tmpl_option_id["code"]) if opt_key in mapping_options: options[mapping_options[opt_key]] = True else: diff --git a/delivery_roulier_option/models/stock_quant_package.py b/delivery_roulier_option/models/stock_quant_package.py index eaa5e64b2d..d74db934d2 100644 --- a/delivery_roulier_option/models/stock_quant_package.py +++ b/delivery_roulier_option/models/stock_quant_package.py @@ -3,13 +3,14 @@ # EBII MonsieurB # Sébastien BEAU # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, _ +from odoo import _, models from odoo.exceptions import UserError + from odoo.addons.delivery_roulier import implemented_by_carrier class StockQuantPackage(models.Model): - _inherit = 'stock.quant.package' + _inherit = "stock.quant.package" @implemented_by_carrier def _get_cash_on_delivery(self, picking): @@ -28,8 +29,7 @@ def _should_include_customs(self, picking): pass def _roulier_get_cash_on_delivery(self, picking): - """ for 'cod' option - """ + """for 'cod' option""" # TODO improve to take account Sale if picking created from sale amount = 0 for oper in self.get_operations(): @@ -66,18 +66,20 @@ def _roulier_get_customs(self, picking): # stands for harmonized_system hs = product.get_hs_code_recursively() if not hs: - raise UserError(_( - "No H.S. Code on product '%s' nor on it's " - "product category '%s'.") - % (product.display_name, product.categ_id.display_name)) - - article['quantity'] = '%.f' % operation.product_qty - article['weight'] = ( - operation.get_weight() / operation.product_qty) - article['originCountry'] = product.origin_country_id.code - article['description'] = hs.description - article['hs'] = hs.hs_code - article['value'] = operation.get_unit_price_for_customs() + raise UserError( + _( + "No H.S. Code on product '%s' nor on it's " + "product category '%s'." + ) + % (product.display_name, product.categ_id.display_name) + ) + + article["quantity"] = "%.f" % operation.product_qty + article["weight"] = operation.get_weight() / operation.product_qty + article["originCountry"] = product.origin_country_id.code + article["description"] = hs.description + article["hs"] = hs.hs_code + article["value"] = operation.get_unit_price_for_customs() category = picking.customs_category return { @@ -86,11 +88,10 @@ def _roulier_get_customs(self, picking): } def _roulier_get_sale_price(self, picking): - """ helper. Could be use to compute an insurance value or a value - for customs + """helper. Could be use to compute an insurance value or a value + for customs """ total = 0.0 for operation in self.get_operations(): - total += (operation.get_unit_price_for_customs() * - operation.product_qty) + total += operation.get_unit_price_for_customs() * operation.product_qty return total From 39fc7971d8dd2cb3fbaa63d4198e1cbceadc8c8f Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Tue, 8 Dec 2020 19:02:51 +0100 Subject: [PATCH 6/7] [MIG] delivery_roulier_option: Migration to 14.0 --- delivery_roulier_option/README.rst | 80 +++- delivery_roulier_option/__manifest__.py | 11 +- .../i18n/delivery_roulier_option.pot | 134 ++++++ delivery_roulier_option/i18n/es.po | 138 ++++++ .../models/stock_quant_package.py | 10 +- .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 425 ++++++++++++++++++ 9 files changed, 786 insertions(+), 16 deletions(-) create mode 100644 delivery_roulier_option/i18n/delivery_roulier_option.pot create mode 100644 delivery_roulier_option/i18n/es.po create mode 100644 delivery_roulier_option/readme/CONTRIBUTORS.rst create mode 100644 delivery_roulier_option/readme/DESCRIPTION.rst create mode 100644 delivery_roulier_option/static/description/icon.png create mode 100644 delivery_roulier_option/static/description/index.html diff --git a/delivery_roulier_option/README.rst b/delivery_roulier_option/README.rst index cbca8a680e..dac212b08f 100644 --- a/delivery_roulier_option/README.rst +++ b/delivery_roulier_option/README.rst @@ -1,16 +1,86 @@ -Delivery Carrier Roulier Options -================================ +======================= +Delivery Roulier Option +======================= +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:aa9c19952667ec3e566f24051f7ab7d6c417669ecd2802fb5a98163366086ad5 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github + :target: https://github.com/OCA/delivery-carrier/tree/14.0/delivery_roulier_option + :alt: OCA/delivery-carrier +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_roulier_option + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| -Description ------------ Manage options for the delivery method. Like insurance or cash on delivery +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Akretion Contributors ------------- +~~~~~~~~~~~~ * David BEAL * Raphaël REVERDY +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-florian-dacosta| image:: https://github.com/florian-dacosta.png?size=40px + :target: https://github.com/florian-dacosta + :alt: florian-dacosta + +Current `maintainer `__: + +|maintainer-florian-dacosta| + +This module is part of the `OCA/delivery-carrier `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_roulier_option/__manifest__.py b/delivery_roulier_option/__manifest__.py index 3db9c913cd..769b7962a1 100644 --- a/delivery_roulier_option/__manifest__.py +++ b/delivery_roulier_option/__manifest__.py @@ -1,18 +1,15 @@ -# © 2016 Raphael REVERDY -# David BEAL -# Sébastien BEAU # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Delivery Roulier Option", - "version": "12.0.1.0.0", - "author": "Akretion", + "version": "14.0.1.0.0", + "author": "Akretion,Odoo Community Association (OCA)", "summary": "Add options to roulier modules", - "maintainer": "Akretion, Odoo Community Association (OCA)", + "maintainers": ["florian-dacosta"], "category": "Warehouse", "depends": [ "delivery_roulier", - "product_harmonized_system", # from oca/intrastat + "product_harmonized_system", # from OCA/intrastat-extrastat ], "website": "https://github.com/OCA/delivery-carrier", "data": [ diff --git a/delivery_roulier_option/i18n/delivery_roulier_option.pot b/delivery_roulier_option/i18n/delivery_roulier_option.pot new file mode 100644 index 0000000000..2ca73c9441 --- /dev/null +++ b/delivery_roulier_option/i18n/delivery_roulier_option.pot @@ -0,0 +1,134 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_roulier_option +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \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: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_ACK +msgid "Acknowledgment" +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__commercial +#, python-format +msgid "Commercial Goods" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking__customs_category +msgid "Customs Category" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model,name:delivery_roulier_option.model_delivery_carrier_template_option +msgid "Delivery carrier template option" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option__display_name +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking__display_name +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_quant_package__display_name +msgid "Display Name" +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__document +#, python-format +msgid "Documents" +msgstr "" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_FCR +msgid "Free of charges and rights" +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__gift +#, python-format +msgid "Gift" +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__return +#, python-format +msgid "Goods return" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option__id +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking__id +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_quant_package__id +msgid "ID" +msgstr "" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_INS +msgid "Insurance" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option____last_update +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking____last_update +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_quant_package____last_update +msgid "Last Modified on" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_option__name +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option__name +msgid "Name" +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_quant_package.py:0 +#, python-format +msgid "No H.S. Code on product '%s' nor on it's product category '%s'." +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__other +#, python-format +msgid "Other" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model,name:delivery_roulier_option.model_stock_quant_package +msgid "Packages" +msgstr "" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__sample +#, python-format +msgid "Samples" +msgstr "" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_COD +msgid "Shipping Cash On Delivery" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model,name:delivery_roulier_option.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: delivery_roulier_option +#: model:ir.model.fields,help:delivery_roulier_option.field_stock_picking__customs_category +msgid "Type of sending for the customs" +msgstr "" diff --git a/delivery_roulier_option/i18n/es.po b/delivery_roulier_option/i18n/es.po new file mode 100644 index 0000000000..39667396f2 --- /dev/null +++ b/delivery_roulier_option/i18n/es.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_roulier_option +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-20 19:35+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_ACK +msgid "Acknowledgment" +msgstr "Acuse de recibo" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__commercial +#, python-format +msgid "Commercial Goods" +msgstr "Productos Comerciales" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking__customs_category +msgid "Customs Category" +msgstr "Categoría Aduanera" + +#. module: delivery_roulier_option +#: model:ir.model,name:delivery_roulier_option.model_delivery_carrier_template_option +msgid "Delivery carrier template option" +msgstr "Opción de plantilla de transportista de entrega" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option__display_name +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking__display_name +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_quant_package__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__document +#, python-format +msgid "Documents" +msgstr "Documentos" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_FCR +msgid "Free of charges and rights" +msgstr "Libre de cargas y derechos" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__gift +#, python-format +msgid "Gift" +msgstr "Regalo" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__return +#, python-format +msgid "Goods return" +msgstr "Devolución de mercancías" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option__id +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking__id +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_quant_package__id +msgid "ID" +msgstr "ID" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_INS +msgid "Insurance" +msgstr "Seguro" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option____last_update +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_picking____last_update +#: model:ir.model.fields,field_description:delivery_roulier_option.field_stock_quant_package____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: delivery_roulier_option +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_option__name +#: model:ir.model.fields,field_description:delivery_roulier_option.field_delivery_carrier_template_option__name +msgid "Name" +msgstr "Nombre" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_quant_package.py:0 +#, python-format +msgid "No H.S. Code on product '%s' nor on it's product category '%s'." +msgstr "" +"No hay código H.S. en el producto '%s' ni en su categoría de producto '%s'." + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__other +#, python-format +msgid "Other" +msgstr "Otro" + +#. module: delivery_roulier_option +#: model:ir.model,name:delivery_roulier_option.model_stock_quant_package +msgid "Packages" +msgstr "Paquetes" + +#. module: delivery_roulier_option +#: code:addons/delivery_roulier_option/models/stock_picking.py:0 +#: model:ir.model.fields.selection,name:delivery_roulier_option.selection__stock_picking__customs_category__sample +#, python-format +msgid "Samples" +msgstr "Ejemplos" + +#. module: delivery_roulier_option +#: model:delivery.carrier.template.option,name:delivery_roulier_option.carrier_opt_tmpl_COD +msgid "Shipping Cash On Delivery" +msgstr "Envío Contra Reembolso" + +#. module: delivery_roulier_option +#: model:ir.model,name:delivery_roulier_option.model_stock_picking +msgid "Transfer" +msgstr "Transferencia" + +#. module: delivery_roulier_option +#: model:ir.model.fields,help:delivery_roulier_option.field_stock_picking__customs_category +msgid "Type of sending for the customs" +msgstr "Tipo de envío para la aduana" diff --git a/delivery_roulier_option/models/stock_quant_package.py b/delivery_roulier_option/models/stock_quant_package.py index d74db934d2..852ae52b7c 100644 --- a/delivery_roulier_option/models/stock_quant_package.py +++ b/delivery_roulier_option/models/stock_quant_package.py @@ -74,11 +74,13 @@ def _roulier_get_customs(self, picking): % (product.display_name, product.categ_id.display_name) ) - article["quantity"] = "%.f" % operation.product_qty - article["weight"] = operation.get_weight() / operation.product_qty + article["quantity"] = "%.f" % (operation.qty_done or operation.product_qty) + article["weight"] = operation.get_weight() / ( + operation.qty_done or operation.product_qty + ) article["originCountry"] = product.origin_country_id.code - article["description"] = hs.description - article["hs"] = hs.hs_code + article["description"] = hs.description or product.name[:60] + article["hsCode"] = hs.hs_code article["value"] = operation.get_unit_price_for_customs() category = picking.customs_category diff --git a/delivery_roulier_option/readme/CONTRIBUTORS.rst b/delivery_roulier_option/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..82f2b4a8e6 --- /dev/null +++ b/delivery_roulier_option/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* David BEAL +* Raphaël REVERDY diff --git a/delivery_roulier_option/readme/DESCRIPTION.rst b/delivery_roulier_option/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..6814314463 --- /dev/null +++ b/delivery_roulier_option/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +Manage options for the delivery method. +Like insurance or cash on delivery diff --git a/delivery_roulier_option/static/description/icon.png b/delivery_roulier_option/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/delivery_roulier_option/static/description/index.html b/delivery_roulier_option/static/description/index.html new file mode 100644 index 0000000000..c8315f593a --- /dev/null +++ b/delivery_roulier_option/static/description/index.html @@ -0,0 +1,425 @@ + + + + + + +Delivery Roulier Option + + + +
+

Delivery Roulier Option

+ + +

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

+

Manage options for the delivery method. +Like insurance or cash on delivery

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

florian-dacosta

+

This module is part of the OCA/delivery-carrier project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From 1f0b69ba91d2e1f7651777b8b189f2575bef43d0 Mon Sep 17 00:00:00 2001 From: Maksym Yankin Date: Wed, 5 Jun 2024 14:57:16 +0300 Subject: [PATCH 7/7] [17.0][MIG] delivery_roulier_option: Migration to 17.0 --- delivery_roulier_option/README.rst | 24 +++++++++---------- delivery_roulier_option/__manifest__.py | 2 +- .../i18n/delivery_roulier_option.pot | 2 +- delivery_roulier_option/i18n/es.po | 2 +- .../models/stock_quant_package.py | 9 ++++--- delivery_roulier_option/pyproject.toml | 3 +++ .../readme/CONTRIBUTORS.md | 2 ++ .../readme/CONTRIBUTORS.rst | 2 -- delivery_roulier_option/readme/DESCRIPTION.md | 2 ++ .../readme/DESCRIPTION.rst | 2 -- .../static/description/index.html | 22 +++++++++-------- 11 files changed, 40 insertions(+), 32 deletions(-) create mode 100644 delivery_roulier_option/pyproject.toml create mode 100644 delivery_roulier_option/readme/CONTRIBUTORS.md delete mode 100644 delivery_roulier_option/readme/CONTRIBUTORS.rst create mode 100644 delivery_roulier_option/readme/DESCRIPTION.md delete mode 100644 delivery_roulier_option/readme/DESCRIPTION.rst diff --git a/delivery_roulier_option/README.rst b/delivery_roulier_option/README.rst index dac212b08f..a0ca0a5fc9 100644 --- a/delivery_roulier_option/README.rst +++ b/delivery_roulier_option/README.rst @@ -17,19 +17,19 @@ Delivery Roulier Option :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github - :target: https://github.com/OCA/delivery-carrier/tree/14.0/delivery_roulier_option + :target: https://github.com/OCA/delivery-carrier/tree/17.0/delivery_roulier_option :alt: OCA/delivery-carrier .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_roulier_option + :target: https://translation.odoo-community.org/projects/delivery-carrier-17-0/delivery-carrier-17-0-delivery_roulier_option :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -Manage options for the delivery method. -Like insurance or cash on delivery +Manage options for the delivery method. Like insurance or cash on +delivery **Table of contents** @@ -42,7 +42,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -50,18 +50,18 @@ Credits ======= Authors -~~~~~~~ +------- * Akretion Contributors -~~~~~~~~~~~~ +------------ -* David BEAL -* Raphaël REVERDY +- David BEAL +- Raphaël REVERDY Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -81,6 +81,6 @@ Current `maintainer `__: |maintainer-florian-dacosta| -This module is part of the `OCA/delivery-carrier `_ project on GitHub. +This module is part of the `OCA/delivery-carrier `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_roulier_option/__manifest__.py b/delivery_roulier_option/__manifest__.py index 769b7962a1..c718576d9a 100644 --- a/delivery_roulier_option/__manifest__.py +++ b/delivery_roulier_option/__manifest__.py @@ -2,7 +2,7 @@ { "name": "Delivery Roulier Option", - "version": "14.0.1.0.0", + "version": "17.0.1.0.0", "author": "Akretion,Odoo Community Association (OCA)", "summary": "Add options to roulier modules", "maintainers": ["florian-dacosta"], diff --git a/delivery_roulier_option/i18n/delivery_roulier_option.pot b/delivery_roulier_option/i18n/delivery_roulier_option.pot index 2ca73c9441..84ed514665 100644 --- a/delivery_roulier_option/i18n/delivery_roulier_option.pot +++ b/delivery_roulier_option/i18n/delivery_roulier_option.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/delivery_roulier_option/i18n/es.po b/delivery_roulier_option/i18n/es.po index 39667396f2..bcfaf4c041 100644 --- a/delivery_roulier_option/i18n/es.po +++ b/delivery_roulier_option/i18n/es.po @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "PO-Revision-Date: 2023-12-20 19:35+0000\n" "Last-Translator: Ivorra78 \n" diff --git a/delivery_roulier_option/models/stock_quant_package.py b/delivery_roulier_option/models/stock_quant_package.py index 852ae52b7c..f0bb81e2e0 100644 --- a/delivery_roulier_option/models/stock_quant_package.py +++ b/delivery_roulier_option/models/stock_quant_package.py @@ -68,10 +68,13 @@ def _roulier_get_customs(self, picking): if not hs: raise UserError( _( - "No H.S. Code on product '%s' nor on it's " - "product category '%s'." + "No H.S. Code on product '%(prod_displ_name)s' nor on it's " + "product category '%(categ_displ_name)s'." ) - % (product.display_name, product.categ_id.display_name) + % { + "prod_displ_name": product.display_name, + "categ_displ_name": product.categ_id.display_name, + } ) article["quantity"] = "%.f" % (operation.qty_done or operation.product_qty) diff --git a/delivery_roulier_option/pyproject.toml b/delivery_roulier_option/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/delivery_roulier_option/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/delivery_roulier_option/readme/CONTRIBUTORS.md b/delivery_roulier_option/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..28ce828808 --- /dev/null +++ b/delivery_roulier_option/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- David BEAL \<\> +- Raphaël REVERDY \<\> diff --git a/delivery_roulier_option/readme/CONTRIBUTORS.rst b/delivery_roulier_option/readme/CONTRIBUTORS.rst deleted file mode 100644 index 82f2b4a8e6..0000000000 --- a/delivery_roulier_option/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,2 +0,0 @@ -* David BEAL -* Raphaël REVERDY diff --git a/delivery_roulier_option/readme/DESCRIPTION.md b/delivery_roulier_option/readme/DESCRIPTION.md new file mode 100644 index 0000000000..4260d511e8 --- /dev/null +++ b/delivery_roulier_option/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +Manage options for the delivery method. Like insurance or cash on +delivery diff --git a/delivery_roulier_option/readme/DESCRIPTION.rst b/delivery_roulier_option/readme/DESCRIPTION.rst deleted file mode 100644 index 6814314463..0000000000 --- a/delivery_roulier_option/readme/DESCRIPTION.rst +++ /dev/null @@ -1,2 +0,0 @@ -Manage options for the delivery method. -Like insurance or cash on delivery diff --git a/delivery_roulier_option/static/description/index.html b/delivery_roulier_option/static/description/index.html index c8315f593a..6fbec4a075 100644 --- a/delivery_roulier_option/static/description/index.html +++ b/delivery_roulier_option/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -369,9 +369,9 @@

Delivery Roulier Option

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:aa9c19952667ec3e566f24051f7ab7d6c417669ecd2802fb5a98163366086ad5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

-

Manage options for the delivery method. -Like insurance or cash on delivery

+

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

+

Manage options for the delivery method. Like insurance or cash on +delivery

Table of contents

    @@ -389,7 +389,7 @@

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

@@ -410,13 +410,15 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

florian-dacosta

-

This module is part of the OCA/delivery-carrier project on GitHub.

+

This module is part of the OCA/delivery-carrier project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.