Accept Merge Request #2143: (feature/6694 -> develop)

Merge Request: 调整采购单菜单顺序

Created By: @胡尧
Accepted By: @胡尧
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2143
This commit is contained in:
胡尧
2025-05-23 14:47:58 +08:00
committed by Coding
3 changed files with 42 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
from odoo import api, fields, models, _
from odoo.tools import float_compare
class PurchaseOrder(models.Model):
@@ -38,3 +39,18 @@ class PurchaseOrder(models.Model):
move_ids.write({'state': 'waiting', 'is_done': False})
return res
def write(self, vals):
res = super(PurchaseOrder, self).write(vals)
if 'state' in vals and vals['state'] == 'purchase':
purchase_request = self.order_line.purchase_request_lines.request_id
if purchase_request:
finished = True
# 判断该采购申请所有明细行是否都完成
for purchase_request_line in purchase_request.line_ids:
finished_qty = sum(purchase_request_line.purchase_lines.filtered(lambda line: line.state == 'purchase').mapped('product_qty'))
if float_compare(finished_qty ,purchase_request_line.product_qty, precision_rounding=purchase_request_line.product_id.uom_id.rounding) < 0:
finished = False
break
if finished:
purchase_request.button_done()
return res

View File

@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<menuitem id="purchase_request.menu_purchase_request_pro_mgt" sequence="0"/>
<menuitem id="purchase.menu_purchase_rfq" sequence="1"/>
<record id="purchase_request.menu_purchase_request_pro_mgt" model="ir.ui.menu">
<field name="sequence">0</field>
<field name="parent_id" ref="purchase.menu_procurement_management"/>
</record>
<record id="purchase.menu_purchase_rfq" model="ir.ui.menu">
<field name="sequence">1</field>
<field name="parent_id" ref="purchase.menu_procurement_management"/>
</record>
</data>
</odoo>

View File

@@ -7,12 +7,6 @@
<xpath expr="//button[@name='button_draft']" position="attributes">
<attribute name="string">重置草稿</attribute>
</xpath>
<xpath expr="//button[@name='button_done']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//button[@name='%(purchase_request.action_purchase_request_line_make_purchase_order)d']" position="attributes">
<attribute name="class">oe_highlight</attribute>
</xpath>
<xpath expr="//field[@name='line_ids']//field[@name='purchased_qty']" position="after">
<field name="supply_method"/>
</xpath>
@@ -21,18 +15,29 @@
<field name="part_number"/>
<field name="part_name"/>
</xpath>
<xpath expr="//button[@name='button_done']" position="attributes">
<xpath expr="//button[@name='button_done']" position="attributes">
<attribute name="class"/>
</xpath>
<xpath expr="//button[@name='button_in_progress']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//button[@name='button_in_progress']/following-sibling::button[1]" position="attributes">
<xpath expr="//button[@name='%(purchase_request.action_purchase_request_line_make_purchase_order)d']" position="attributes">
<attribute name="class">oe_highlight</attribute>
</xpath>
</field>
</record>
<record id="view_purchase_request_tree_sf" model="ir.ui.view">
<field name="name">purchase.request.sf.tree</field>
<field name="model">purchase.request</field>
<field name="inherit_id" ref="purchase_request.view_purchase_request_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='activity_ids']" position="attributes">
<attribute name="optional">hide</attribute>
</xpath>
</field>
</record>
<record id="view_purchase_request_line_tree_sf" model="ir.ui.view">
<field name="name">purchase.request.line.sf.tree</field>
<field name="model">purchase.request.line</field>
@@ -78,4 +83,9 @@
</xpath>
</field>
</record>
<record model="ir.actions.act_window" id="purchase_request.purchase_request_form_action">
<field name="name">Purchase Requests</field>
<field name="context"></field>
</record>
</odoo>