diff --git a/odex25_purchase/purchase_requisition_custom/models/__init__.py b/odex25_purchase/purchase_requisition_custom/models/__init__.py
old mode 100644
new mode 100755
index bde2f64cf..5d433a372
--- a/odex25_purchase/purchase_requisition_custom/models/__init__.py
+++ b/odex25_purchase/purchase_requisition_custom/models/__init__.py
@@ -6,4 +6,4 @@ from . import budget_confirmation
from . import purchase_requisition_custom
from . import purchase_order
from . import res_partner
-from . import res_settings
+from . import res_settings,mail_compose_message
diff --git a/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py b/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py
new file mode 100644
index 000000000..690cf6ea3
--- /dev/null
+++ b/odex25_purchase/purchase_requisition_custom/models/mail_compose_message.py
@@ -0,0 +1,19 @@
+from odoo import _, api, fields, models, tools
+
+
+class MailComposer(models.TransientModel):
+ _inherit = 'mail.compose.message'
+
+ def send_mail(self, auto_commit=False):
+ res = super(MailComposer, self).send_mail(auto_commit=auto_commit)
+ context = self._context
+ if self.model == 'purchase.order':
+ x = self.env['purchase.order'].search([
+ ('id', 'in', context.get('active_ids')),
+ ])
+ print(x.is_purchase_budget, 'is_purchase_budget')
+ self.env['purchase.order'].search([
+ ('id', 'in', context.get('active_ids')),
+ ]).write({'state': 'sent'})
+
+ return res
diff --git a/odex25_purchase/purchase_requisition_custom/models/purchase_order.py b/odex25_purchase/purchase_requisition_custom/models/purchase_order.py
index a6ce91f78..1161753c6 100644
--- a/odex25_purchase/purchase_requisition_custom/models/purchase_order.py
+++ b/odex25_purchase/purchase_requisition_custom/models/purchase_order.py
@@ -31,7 +31,7 @@ class PurchaseOrderCustom(models.Model):
('done', 'Locked'),
('cancel', 'Cancelled'),
('budget_rejected', 'Rejected By Budget'),
- ('wait_for_send', 'Waiting For Send to Budget')])
+ ('wait_for_send', 'Waiting For Send to Budget')],default='wait')
department_id = fields.Many2one('hr.department')
purpose = fields.Char()
category_ids = fields.Many2many('product.category', string='Categories')
@@ -254,6 +254,17 @@ class PurchaseOrderCustom(models.Model):
else:
rec.is_purchase_budget = False
+ @api.model
+ def default_get(self, fields):
+ res = super(PurchaseOrderCustom, self).default_get(fields)
+ purchase_budget = self.env.company.purchase_budget
+ if purchase_budget:
+ res['is_purchase_budget'] = True
+
+ else:
+ res['is_purchase_budget'] = False
+ return res
+
@api.model
def create(self, vals):
requisition_id = vals.get('requisition_id', False)
@@ -263,10 +274,6 @@ class PurchaseOrderCustom(models.Model):
if requisition_id:
vals['send_to_budget'] = True
- else:
- if self.env.company.purchase_budget:
- vals['state'] = 'wait_for_send'
-
return super(PurchaseOrderCustom, self).create(vals)
def button_approve(self):
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 afa6a1058..c420f9ec1 100644
--- a/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml
+++ b/odex25_purchase/purchase_requisition_custom/views/purchase_requisition_custom.xml
@@ -113,9 +113,10 @@
'cancel','budget_rejected','wait_for_send','waiting']), ('is_signed', '=', True)]}"
string="Sign"/>
+ attrs="{'invisible':[('state','in',['wait','draft','done','purchase','wait_for_send','sent','waiting','cancel'])]}"
+ string="Select"/>
-
+
-
+
-
+
+ class="oe_highlight" groups="purchase.group_purchase_manager"
+ attrs="{'invisible':[('state','in',('draft','wait','wait_for_send','sent','waiting','purchase','cancel'))]}"/>
@@ -142,15 +144,27 @@
purchase.group_purchase_manager
-
-
+ ""
+
+ {'invisible':[('state','in',('wait','wait_for_send','sent','waiting','purchase','cancel'))]}
+
+
+
+ ""
+
+ {'invisible':['|',('state','in',('draft','wait_for_send','waiting','purchase','cancel')),('is_purchase_budget','=',True)]}
+
purchase.group_purchase_manager
+
+ wait,draft,wait_for_send
+
purchase.group_purchase_manager
+ draft,wait,wait_for_send
purchase.group_purchase_manager
@@ -158,7 +172,7 @@
- draft,to approve,sent,purchase,wait_for_send
+ draft,wait,to approve,sent,purchase,wait_for_send