diff --git a/odex25_purchase/purchase_requisition_custom/models/purchase_order.py b/odex25_purchase/purchase_requisition_custom/models/purchase_order.py index 18c84c442..ec359a77a 100644 --- a/odex25_purchase/purchase_requisition_custom/models/purchase_order.py +++ b/odex25_purchase/purchase_requisition_custom/models/purchase_order.py @@ -495,6 +495,8 @@ class PurchaseOrderCustom(models.Model): order.budget_amount = 0 super(PurchaseOrderCustom, self).button_cancel() + def action_to_approve(self): + self.write({'state': 'to approve'}) def action_sign_purchase_orders(self): for rec in self: diff --git a/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py b/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py index 20fb30bd5..233370c1a 100644 --- a/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py +++ b/odex25_purchase/purchase_requisition_custom/models/purchase_requisition_custom.py @@ -629,17 +629,22 @@ class CommitteeTypes(models.Model): @api.model def create(self, vals): res = super(CommitteeTypes, self).create(vals) - if res.committe_head.id not in res.committe_members.ids: + if res.committe_head and res.committe_head.id not in res.committe_members.ids: res.committe_members = [(4, res.committe_head.id)] return res def write(self, vals): - current_head = self.committe_head.id - if 'committe_head' in vals and current_head in self.committe_members.ids: - vals['committe_members'] = [(3, current_head), (4, vals['committe_head'])] + for record in self: + old_head_id = record.committe_head.id if record.committe_head else False + new_head_id = vals.get('committe_head') + + if new_head_id: + if old_head_id and old_head_id in record.committe_members.ids: + record.committe_members = [(3, old_head_id)] + if new_head_id not in record.committe_members.ids: + record.committe_members = [(4, new_head_id)] + return super(CommitteeTypes, self).write(vals) - - class CommitteMembers(models.Model): _name = "committe.member" _description = "committe.member" diff --git a/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml b/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml index 671b5e118..af79d7615 100644 --- a/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml +++ b/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml @@ -157,6 +157,7 @@ +