diff --git a/jikimo_purchase_request/__manifest__.py b/jikimo_purchase_request/__manifest__.py index 24b28f13..2cca8da7 100644 --- a/jikimo_purchase_request/__manifest__.py +++ b/jikimo_purchase_request/__manifest__.py @@ -14,7 +14,9 @@ 'views/purchase_request_view.xml', 'wizard/purchase_request_line_make_purchase_order_view.xml', 'views/purchase_request_line_view.xml', + 'views/stock_picking_views.xml' 'wizard/purchase_request_wizard_views.xml', + 'views/purchase_request_menu_views.xml', ], 'assets': { 'web.assets_backend': [ diff --git a/jikimo_purchase_request/models/purchase_order.py b/jikimo_purchase_request/models/purchase_order.py index b5734b78..59a7959c 100644 --- a/jikimo_purchase_request/models/purchase_order.py +++ b/jikimo_purchase_request/models/purchase_order.py @@ -27,4 +27,14 @@ class PurchaseOrder(models.Model): if reverse_move_ids: reverse_move_ids.picking_id.action_cancel() return res + + def button_cancel(self): + """ + 将取消的采购订单关联的库存移动撤销 + """ + move_ids = self.order_line.move_dest_ids.filtered(lambda move: move.state != 'done' and not move.scrapped) + res =super(PurchaseOrder, self).button_cancel() + if move_ids.mapped('created_purchase_request_line_id'): + move_ids.write({'state': 'waiting', 'is_done': False}) + return res diff --git a/jikimo_purchase_request/views/purchase_request_menu_views.xml b/jikimo_purchase_request/views/purchase_request_menu_views.xml new file mode 100644 index 00000000..b5775099 --- /dev/null +++ b/jikimo_purchase_request/views/purchase_request_menu_views.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/jikimo_purchase_request/views/purchase_request_view.xml b/jikimo_purchase_request/views/purchase_request_view.xml index ce6fba9c..ea52ebed 100644 --- a/jikimo_purchase_request/views/purchase_request_view.xml +++ b/jikimo_purchase_request/views/purchase_request_view.xml @@ -7,6 +7,12 @@ 重置草稿 + + 1 + + + oe_highlight +