from odoo import fields, models, api, _ from odoo.exceptions import AccessError, UserError, ValidationError from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT import logging _logger = logging.getLogger(__name__) class SalesOrderReject(models.Model): _name = 'sales.order.reject' sale_order_id = fields.Many2one('sale.order', string='Sale Order') product_id = fields.Many2one('product.product', string='Product') qty_reject = fields.Float(string='Qty') reason_reject = fields.Char(string='Reason Reject') def write(self, vals): # Check if reason_reject is being updated if 'reason_reject' in vals: for record in self: old_reason = record.reason_reject new_reason = vals['reason_reject'] # Only post a message if the reason actually changed if old_reason != new_reason: now = fields.Datetime.now() # Create the log note for the updated reason log_note = (f"