The amount is authorized when the customer scans its card, then the customer writes the tip on the receipt and the total amount is captured when the waiter manually inputs the tip, either right after or at the end of the day. closes odoo/odoo#56148 Taskid: 2321771 Related: odoo/upgrade#1661 Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
26 lines
987 B
Python
26 lines
987 B
Python
# coding: utf-8
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
import logging
|
|
|
|
from odoo import api, fields, models, _
|
|
from odoo.exceptions import ValidationError
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class PosConfig(models.Model):
|
|
_inherit = 'pos.config'
|
|
|
|
adyen_ask_customer_for_tip = fields.Boolean('Ask Customers For Tip', help='Prompt the customer to tip.')
|
|
|
|
@api.onchange('iface_tipproduct')
|
|
def _onchange_iface_tipproduct_adyen(self):
|
|
if not self.iface_tipproduct:
|
|
self.adyen_ask_customer_for_tip = False
|
|
|
|
@api.constrains('adyen_ask_customer_for_tip', 'iface_tipproduct', 'tip_product_id')
|
|
def _check_adyen_ask_customer_for_tip(self):
|
|
for config in self:
|
|
if config.adyen_ask_customer_for_tip and (not config.tip_product_id or not config.iface_tipproduct):
|
|
raise ValidationError(_("Please configure a tip product for POS %s to support tipping with Adyen.", config.name))
|