[UPD] purchase_requisition_custom: retrieve department from purchase requst to purchase order
This commit is contained in:
parent
34a21f1323
commit
1e9443d8a0
|
|
@ -14,6 +14,7 @@
|
||||||
'data/purchase_sequence.xml',
|
'data/purchase_sequence.xml',
|
||||||
'data/purchase_request_seq.xml',
|
'data/purchase_request_seq.xml',
|
||||||
'data/cron_data.xml',
|
'data/cron_data.xml',
|
||||||
|
'data/server_actions.xml',
|
||||||
'views/purchase_requisition_custom.xml',
|
'views/purchase_requisition_custom.xml',
|
||||||
'views/purchase_request.xml',
|
'views/purchase_request.xml',
|
||||||
'views/res_setting.xml',
|
'views/res_setting.xml',
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="action_compute_department_purchase_order" model="ir.actions.server">
|
||||||
|
<field name="name">Compute Department for Purchase Orders</field>
|
||||||
|
<field name="model_id" ref="base.model_ir_actions_server"/>
|
||||||
|
<field name="state">code</field>
|
||||||
|
<field name="code">env['purchase.order']._recompute_all_department_id()</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
|
|
@ -83,7 +83,7 @@ class PurchaseOrderCustom(models.Model):
|
||||||
('cancel', 'Cancelled'),
|
('cancel', 'Cancelled'),
|
||||||
('budget_rejected', 'Rejected By Budget'),
|
('budget_rejected', 'Rejected By Budget'),
|
||||||
('wait_for_send', 'Waiting For Send to Budget')], default='wait')
|
('wait_for_send', 'Waiting For Send to Budget')], default='wait')
|
||||||
department_id = fields.Many2one('hr.department')
|
department_id = fields.Many2one('hr.department', compute="_compute_department_id", store=True, readonly=False)
|
||||||
purpose = fields.Char()
|
purpose = fields.Char()
|
||||||
category_ids = fields.Many2many('product.category', string='Categories')
|
category_ids = fields.Many2many('product.category', string='Categories')
|
||||||
committe_members = fields.One2many('committe.member', inverse_name='po_id')
|
committe_members = fields.One2many('committe.member', inverse_name='po_id')
|
||||||
|
|
@ -120,6 +120,17 @@ class PurchaseOrderCustom(models.Model):
|
||||||
is_signed = fields.Boolean()
|
is_signed = fields.Boolean()
|
||||||
budget_id = fields.Many2one('crossovered.budget')
|
budget_id = fields.Many2one('crossovered.budget')
|
||||||
already_voted = fields.Boolean(compute="_compute_already_voted")
|
already_voted = fields.Boolean(compute="_compute_already_voted")
|
||||||
|
|
||||||
|
|
||||||
|
@api.depends('request_id')
|
||||||
|
def _compute_department_id(self):
|
||||||
|
for rec in self:
|
||||||
|
rec.department_id = rec.request_id.department_id
|
||||||
|
|
||||||
|
def _recompute_all_department_id(self):
|
||||||
|
for rec in self.sudo().search([('request_id', '!=', False), ('department_id', '=', False)]):
|
||||||
|
rec._compute_department_id()
|
||||||
|
|
||||||
def get_attachments(self):
|
def get_attachments(self):
|
||||||
# Check if multiple records are passed, and handle them in a loop
|
# Check if multiple records are passed, and handle them in a loop
|
||||||
if len(self) > 1:
|
if len(self) > 1:
|
||||||
|
|
@ -188,7 +199,6 @@ class PurchaseOrderCustom(models.Model):
|
||||||
|
|
||||||
return action
|
return action
|
||||||
|
|
||||||
|
|
||||||
def _prepare_invoice(self):
|
def _prepare_invoice(self):
|
||||||
res = super(PurchaseOrderCustom, self)._prepare_invoice()
|
res = super(PurchaseOrderCustom, self)._prepare_invoice()
|
||||||
res.update({'purchase_id': self.id, 'res_id': self.id,'res_model': 'purchase.order'})
|
res.update({'purchase_id': self.id, 'res_id': self.id,'res_model': 'purchase.order'})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue