from odoo import models, fields, api, _ from odoo.exceptions import ValidationError import logging _logger = logging.getLogger(__name__) class PurchaseRequestTierValidation(models.Model): _name = 'purchase.request.tier.validation' def _validate_tier(self, tiers=False): res = super(PurchaseRequestTierValidation, self)._validate_tier(tiers) # 检查是否所有审批都已通过 all_approved = all( tier_review.status == 'approved' for tier_review in self.review_ids ) if self.review_ids and all_approved: # 确保有审批记录 self.state = 'approved' return res