26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import api, fields, models
|
|
|
|
class LoyaltyCard(models.Model):
|
|
_inherit = 'loyalty.card'
|
|
|
|
# Declare the field so the ORM is aware of it and it can be loaded in _load_pos_data_fields.
|
|
custom_end_date = fields.Date(string="End Date", help="Custom End Date for Loyalty Card")
|
|
|
|
@api.model
|
|
def _load_pos_data_fields(self, config):
|
|
fields_list = super()._load_pos_data_fields(config)
|
|
if 'custom_end_date' not in fields_list:
|
|
fields_list.append('custom_end_date')
|
|
return fields_list
|
|
|
|
@api.model
|
|
def get_gift_card_status(self, gift_code, config_id):
|
|
res = super().get_gift_card_status(gift_code, config_id)
|
|
if res.get('status') and res.get('data') and res['data'].get('loyalty.card'):
|
|
card_data = res['data']['loyalty.card'][0]
|
|
end_date = card_data.get('custom_end_date')
|
|
if end_date and fields.Date.from_string(end_date) < fields.Date.today():
|
|
res['status'] = False
|
|
return res
|