From e20cbfafa6a6b2502517ca7a24c3a36a5a8f176c Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Tue, 2 May 2023 08:42:45 +0000 Subject: [PATCH] [CLN] sale_loyalty: python fields definition * Indentation * Explicit field attributes * Double quoted strings for strings shown to users (single quoted ones for the rest) closes odoo/odoo#120245 Signed-off-by: Victor Feyens (vfe) --- addons/sale_loyalty/models/loyalty_card.py | 5 ++++- addons/sale_loyalty/models/loyalty_program.py | 3 ++- addons/sale_loyalty/models/loyalty_reward.py | 1 + addons/sale_loyalty/models/sale_order.py | 12 +++++++---- .../models/sale_order_coupon_points.py | 5 +++-- addons/sale_loyalty/models/sale_order_line.py | 21 +++++++++++-------- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/addons/sale_loyalty/models/loyalty_card.py b/addons/sale_loyalty/models/loyalty_card.py index 85a56df5e80..9112167c9cd 100644 --- a/addons/sale_loyalty/models/loyalty_card.py +++ b/addons/sale_loyalty/models/loyalty_card.py @@ -7,7 +7,10 @@ from odoo import fields, models class LoyaltyCard(models.Model): _inherit = 'loyalty.card' - order_id = fields.Many2one('sale.order', 'Order Reference', readonly=True, + order_id = fields.Many2one( + comodel_name='sale.order', + string="Order Reference", + readonly=True, help="The sales order from which coupon is generated") def _get_default_template(self): diff --git a/addons/sale_loyalty/models/loyalty_program.py b/addons/sale_loyalty/models/loyalty_program.py index 85ab9fb72da..356443b33ef 100644 --- a/addons/sale_loyalty/models/loyalty_program.py +++ b/addons/sale_loyalty/models/loyalty_program.py @@ -3,11 +3,12 @@ from odoo import fields, models + class LoyaltyProgram(models.Model): _inherit = 'loyalty.program' order_count = fields.Integer(compute='_compute_order_count') - sale_ok = fields.Boolean("Sales", default=True) + sale_ok = fields.Boolean(string="Sales", default=True) def _compute_order_count(self): # An order should count only once PER program but may appear in multiple programs diff --git a/addons/sale_loyalty/models/loyalty_reward.py b/addons/sale_loyalty/models/loyalty_reward.py index 98bbe1d9deb..6860208229b 100644 --- a/addons/sale_loyalty/models/loyalty_reward.py +++ b/addons/sale_loyalty/models/loyalty_reward.py @@ -3,6 +3,7 @@ from odoo import models + class LoyaltyReward(models.Model): _inherit = 'loyalty.reward' diff --git a/addons/sale_loyalty/models/sale_order.py b/addons/sale_loyalty/models/sale_order.py index a072195663a..48f1b5926bb 100644 --- a/addons/sale_loyalty/models/sale_order.py +++ b/addons/sale_loyalty/models/sale_order.py @@ -16,13 +16,17 @@ from odoo.osv import expression def _generate_random_reward_code(): return str(random.getrandbits(32)) + class SaleOrder(models.Model): - _inherit = "sale.order" + _inherit = 'sale.order' # Contains how much points should be given to a coupon upon validating the order - applied_coupon_ids = fields.Many2many('loyalty.card', string="Manually Applied Coupons", copy=False) - code_enabled_rule_ids = fields.Many2many('loyalty.rule', string="Manually Triggered Rules", copy=False) - coupon_point_ids = fields.One2many('sale.order.coupon.points', 'order_id', copy=False) + applied_coupon_ids = fields.Many2many( + comodel_name='loyalty.card', string="Manually Applied Coupons", copy=False) + code_enabled_rule_ids = fields.Many2many( + comodel_name='loyalty.rule', string="Manually Triggered Rules", copy=False) + coupon_point_ids = fields.One2many( + comodel_name='sale.order.coupon.points', inverse_name='order_id', copy=False) reward_amount = fields.Float(compute='_compute_reward_total') @api.depends('order_line') diff --git a/addons/sale_loyalty/models/sale_order_coupon_points.py b/addons/sale_loyalty/models/sale_order_coupon_points.py index 9c113501439..904cdbccc52 100644 --- a/addons/sale_loyalty/models/sale_order_coupon_points.py +++ b/addons/sale_loyalty/models/sale_order_coupon_points.py @@ -3,12 +3,13 @@ from odoo import fields, models + class SaleOrderCouponPoints(models.Model): _name = 'sale.order.coupon.points' _description = 'Sale Order Coupon Points - Keeps track of how a sale order impacts a coupon' - order_id = fields.Many2one('sale.order', required=True, ondelete='cascade') - coupon_id = fields.Many2one('loyalty.card', required=True, ondelete='cascade') + order_id = fields.Many2one(comodel_name='sale.order', required=True, ondelete='cascade') + coupon_id = fields.Many2one(comodel_name='loyalty.card', required=True, ondelete='cascade') points = fields.Float(required=True) _sql_constraints = [ diff --git a/addons/sale_loyalty/models/sale_order_line.py b/addons/sale_loyalty/models/sale_order_line.py index c0b97411d2d..70d3f0de54b 100644 --- a/addons/sale_loyalty/models/sale_order_line.py +++ b/addons/sale_loyalty/models/sale_order_line.py @@ -3,16 +3,19 @@ from odoo import api, fields, models -class SaleOrderLine(models.Model): - _inherit = "sale.order.line" - is_reward_line = fields.Boolean('Is a program reward line', compute='_compute_is_reward_line') - reward_id = fields.Many2one('loyalty.reward', ondelete='restrict', readonly=True) - coupon_id = fields.Many2one('loyalty.card', ondelete='restrict', readonly=True) - reward_identifier_code = fields.Char(help=""" - Technical field used to link multiple reward lines from the same reward together. - """) - points_cost = fields.Float(help='How much point this reward cost on the loyalty card.') +class SaleOrderLine(models.Model): + _inherit = 'sale.order.line' + + is_reward_line = fields.Boolean( + string="Is a program reward line", compute='_compute_is_reward_line') + reward_id = fields.Many2one( + comodel_name='loyalty.reward', ondelete='restrict', readonly=True) + coupon_id = fields.Many2one( + comodel_name='loyalty.card', ondelete='restrict', readonly=True) + reward_identifier_code = fields.Char( + help="Technical field used to link multiple reward lines from the same reward together.") + points_cost = fields.Float(help="How much point this reward costs on the loyalty card.") def _compute_name(self): # Avoid computing the name for reward lines