stock_usability: Add computed field is_dropship (needed to customize some reports)

Add optional fields in stock.move tree view
This commit is contained in:
Alexis de Lattre
2023-09-06 15:56:12 +02:00
parent 3ecfde15f0
commit 5724d31ac1
4 changed files with 43 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
from . import stock_move
from . import stock_move_line
from . import stock_picking
from . import stock_picking_type
from . import stock_warehouse_orderpoint
from . import stock_quant
from . import procurement_group

View File

@@ -0,0 +1,26 @@
# Copyright 2023 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class StockPickingType(models.Model):
_inherit = 'stock.picking.type'
is_dropship = fields.Boolean(compute="_compute_is_dropship", store=True)
@api.depends("code", "warehouse_id", "default_location_src_id", "default_location_dest_id")
def _compute_is_dropship(self):
supplier_loc_id = self.env.ref("stock.stock_location_suppliers").id
customer_loc_id = self.env.ref("stock.stock_location_customers").id
for picktype in self:
is_dropship = False
if (
picktype.code == 'incoming'
and not picktype.warehouse_id
and picktype.default_location_src_id.id == supplier_loc_id
and picktype.default_location_dest_id.id == customer_loc_id
):
is_dropship = True
picktype.is_dropship = is_dropship

View File

@@ -56,6 +56,10 @@
<field name="product_id" position="after">
<field name="product_barcode" optional="hide"/>
</field>
<field name="reference" position="after">
<field name="origin" optional="hide"/>
<field name="partner_id" optional="hide"/>
</field>
</field>
</record>

View File

@@ -1,12 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2014-2022 Akretion (http://www.akretion.com/)
Copyright 2014-2023 Akretion (http://www.akretion.com/)
@author Alexis de Lattre <alexis.delattre@akretion.com>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<record id="view_picking_type_form" model="ir.ui.view">
<field name="model">stock.picking.type</field>
<field name="inherit_id" ref="stock.view_picking_type_form" />
<field name="arch" type="xml">
<field name="return_picking_type_id" position="before">
<field name="is_dropship"/>
</field>
</field>
</record>
<record id="view_picking_type_tree" model="ir.ui.view">
<field name="name">usability.stock.picking.type.tree</field>
<field name="model">stock.picking.type</field>