[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) <vfe@odoo.com>
This commit is contained in:
Victor Feyens
2023-05-02 18:06:52 +02:00
parent 3f51b29f6a
commit e20cbfafa6
6 changed files with 30 additions and 17 deletions
+4 -1
View File
@@ -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):
@@ -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
@@ -3,6 +3,7 @@
from odoo import models
class LoyaltyReward(models.Model):
_inherit = 'loyalty.reward'
+8 -4
View File
@@ -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')
@@ -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 = [
+12 -9
View File
@@ -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