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 @@
+