1、新增由销售单生成的采购申请自动确认;2、销售单新增【采购申请】跳转按钮
This commit is contained in:
50
jikimo_purchase_request/models/sale_order.py
Normal file
50
jikimo_purchase_request/models/sale_order.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from odoo import fields, models, api, _
|
||||
|
||||
|
||||
class StatusChange(models.Model):
|
||||
_inherit = 'sale.order'
|
||||
|
||||
def action_confirm(self):
|
||||
res = super(StatusChange, self).action_confirm()
|
||||
# 采购申请自动确认
|
||||
pr_ids = self.env["purchase.request"].sudo().search(
|
||||
[('origin', 'like', self.name), ('rule_new_add', '=', True)])
|
||||
if pr_ids:
|
||||
pr_ids.write({'need_validation': False})
|
||||
pr_ids.write({"state": "approved"})
|
||||
return res
|
||||
|
||||
purchase_request_purchase_order_count = fields.Integer('采购申请单数量', compute='_compute_purchase_request_count',
|
||||
store=True)
|
||||
|
||||
@api.depends('state')
|
||||
def _compute_purchase_request_count(self):
|
||||
for so in self:
|
||||
pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', so.name)])
|
||||
if pr_ids:
|
||||
so.purchase_request_purchase_order_count = len(pr_ids)
|
||||
else:
|
||||
so.purchase_request_purchase_order_count = 0
|
||||
|
||||
def action_view_purchase_request_purchase_orders(self):
|
||||
"""
|
||||
采购请求
|
||||
"""
|
||||
self.ensure_one()
|
||||
pr_ids = self.env['purchase.request'].sudo().search([('origin', 'like', self.name)])
|
||||
action = {
|
||||
'res_model': 'purchase.request',
|
||||
'type': 'ir.actions.act_window',
|
||||
}
|
||||
if len(pr_ids) == 1:
|
||||
action.update({
|
||||
'view_mode': 'form',
|
||||
'res_id': pr_ids[0].id,
|
||||
})
|
||||
else:
|
||||
action.update({
|
||||
'name': _("从 %s生成采购请求单", self.name),
|
||||
'domain': [('id', 'in', pr_ids)],
|
||||
'view_mode': 'tree,form',
|
||||
})
|
||||
return action
|
||||
Reference in New Issue
Block a user