Initial commit: Ventor Odoo packages (4 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:49:21 +02:00
commit 1f20ad87e6
190 changed files with 10375 additions and 0 deletions

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_picking_form" model="ir.ui.view">
<field name="name">stock.picking.form.inherit</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='move_line_ids_without_package']/.." position="after">
<page string="To Process" name="operations_to_pick" groups="ventor_base.merp_debug">
<group>
<field name="routing_module_version" readonly="1"/>
</group>
<field name="strategy_order_r" readonly="1"/>
<field name="operations_to_pick" readonly="1">
<tree>
<field name="picking_id"/>
<field name="product_id"/>
<field name="product_uom_id" groups="uom.group_uom"/>
<field name="owner_id" groups="stock.group_tracking_owner"/>
<field name="location_id" groups="stock.group_stock_multi_locations,stock.group_tracking_lot"/>
<field name="location_dest_id" groups="stock.group_stock_multi_locations,stock.group_tracking_lot"/>
<field name="reserved_qty"/>
<field name="qty_done"/>
</tree>
</field>
</page>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="report_picking_sort_move_line_ids" inherit_id="stock.report_picking">
<xpath expr="//t[contains(@t-as, 'ml')]" position="attributes">
<attribute name="t-foreach">o.sort_printer_picking_list(o.move_ids_without_package.mapped('move_line_ids'))</attribute>
</xpath>
<xpath expr="//tr[contains(@t-as, 'package')]" position="attributes">
<attribute name="t-foreach">o.sort_printer_picking_list(o.package_level_ids)</attribute>
</xpath>
</template>
</odoo>

View file

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_stock_config_settings" model="ir.ui.view">
<field name="name">Ventor/mERP Picking Wave - Stock Settings</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="base.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@data-key='ventor_base']" position="inside" >
<h2>Picking Strategy</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-4 o_setting_box">
<div class="" attrs="{'invisible': [('module_outgoing_routing','=',False)]}">
Please, select parameters to calculate route through warehouse(s):
</div>
<div class="text-muted" attrs="{'invisible': [('module_outgoing_routing','=',False)]}">
<br/>Your current settings:
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', '&amp;', ('outgoing_routing_strategy', '=', 'location_id.name'), ('outgoing_routing_order', '=', '0')]}">
- the route is calculated from <b>location</b> '<b>A</b>' to '<b>Z</b>'
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', '&amp;', ('outgoing_routing_strategy', '=', 'location_id.name'), ('outgoing_routing_order', '=', '1')]}">
- the route is calculated from <b>location</b> '<b>Z</b>' to '<b>A</b>'
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', '&amp;', ('outgoing_routing_strategy', '=', 'location_id.removal_prio'), ('outgoing_routing_order', '=', '0')]}">
- the route is calculated from location with <b>removal priority</b> '<b>0</b>' to '<b></b>'
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', '&amp;', ('outgoing_routing_strategy', '=', 'location_id.removal_prio'), ('outgoing_routing_order', '=', '1')]}">
- the route is calculated from location with <b>removal priority</b> '<b></b>' to '<b>0</b>'
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', '&amp;', ('outgoing_routing_strategy', '=', 'product_id.name'), ('outgoing_routing_order', '=', '0')]}">
- the route is calculated from location contains <b>product</b> '<b>A</b>' to '<b>Z</b>'
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', '&amp;', ('outgoing_routing_strategy', '=', 'product_id.name'), ('outgoing_routing_order', '=', '1')]}">
- the route is calculated from location contains <b>product</b> '<b>Z</b>' to '<b>A</b>'
</div>
</div>
<div class="col-xs-12 col-md-4 o_setting_box">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="outgoing_routing_strategy"/>
<div class="text-muted"></div>
<field name="outgoing_routing_strategy"
class="o_light_label"
widget="radio"
attrs="{'invisible': [('module_outgoing_routing','=',False)]}"/>
</div>
</div>
<div class="col-xs-12 col-md-4 o_setting_box">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="outgoing_routing_order"/>
<div class="text-muted"></div>
<field name="outgoing_routing_order"
class="o_light_label"
widget="radio"
attrs="{'invisible': [('module_outgoing_routing','=',False)]}"/>
</div>
</div>
</div>
<div class="row mt16 o_settings_container">
</div>
<h2>Reservation Strategy</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-4 o_setting_box">
<div class="" attrs="{'invisible': [('module_outgoing_routing','=',False)]}">
Please, select parameters to reorder quants during reservation:
</div>
<div class="text-muted" attrs="{'invisible': [('module_outgoing_routing','=',False)]}">
<br/>Your current settings:
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', ('stock_reservation_strategy', '=', 'none')]}">
- quants are reserved in Odoo standard way (FIFO/LIFO)
</div>
<div class="text-muted" attrs="{'invisible': ['|', ('module_outgoing_routing','=',False),
'!', ('stock_reservation_strategy', '=', 'base')]}">
- quants are reserved according to Picking strategy (see above)
</div>
<div class="text-muted" attrs="{'invisible': ['|', '|', ('module_outgoing_routing','=',False), ('outgoing_routing_strategy', '=', 'location_id.removal_prio'),
'!', '&amp;', ('stock_reservation_strategy', '=', 'quantity'), ('outgoing_routing_order', '=', '0')]}">
- quants are reserved first in locations that contain a sufficient amount of product and have higher priority (i.e. from location name 'A' and beyond)
</div>
<div class="text-muted" attrs="{'invisible': ['|', '|', ('module_outgoing_routing','=',False), ('outgoing_routing_strategy', '=', 'location_id.removal_prio'),
'!', '&amp;', ('stock_reservation_strategy', '=', 'quantity'), ('outgoing_routing_order', '=', '1')]}">
- quants are reserved first in locations that contain a sufficient amount of product and have higher priority (i.e. from location name 'Z' to 'A')
</div>
<div class="text-muted" attrs="{'invisible': ['|', '|', ('module_outgoing_routing','=',False), ('outgoing_routing_strategy', '!=', 'location_id.removal_prio'),
'!', '&amp;', ('stock_reservation_strategy', '=', 'quantity'), ('outgoing_routing_order', '=', '0')]}">
- quants are reserved first in locations that contain a sufficient amount of product and have higher priority (i.e. from location with removal priority '0' to '∞')
</div>
<div class="text-muted" attrs="{'invisible': ['|', '|', ('module_outgoing_routing','=',False), ('outgoing_routing_strategy', '!=', 'location_id.removal_prio'),
'!', '&amp;', ('stock_reservation_strategy', '=', 'quantity'), ('outgoing_routing_order', '=', '1')]}">
- quants are reserved first in locations that contain a sufficient amount of product and have higher priority (i.e. from location with removal priority '∞' to '0')
</div>
</div>
<div class="col-xs-12 col-md-8 o_setting_box">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label for="stock_reservation_strategy"/>
<div class="text-muted"></div>
<field name="stock_reservation_strategy"
class="o_light_label"
widget="radio"
attrs="{'invisible': [('module_outgoing_routing','=',False)]}"/>
</div>
</div>
<div class="col-xs-12 col-md-4 o_setting_box">
</div>
</div>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_location_tree2" model="ir.ui.view">
<field name="name">stock.location.tree.removal.strategy</field>
<field name="model">stock.location</field>
<field name="inherit_id" ref="stock.view_location_tree2" />
<field name="arch" type="xml">
<xpath expr="//field[@name='company_id']" position="after">
<field name="removal_prio" />
</xpath>
</field>
</record>
<record id="view_location_form" model="ir.ui.view">
<field name="name">stock.location.form.removal.strategy</field>
<field name="model">stock.location</field>
<field name="inherit_id" ref="stock.view_location_form" />
<field name="arch" type="xml">
<xpath expr="//group" position="inside">
<group name="merp">
<field name="removal_prio" />
</group>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_picking_wave_form" model="ir.ui.view">
<field name="name">stock.picking.wave.form.inherit</field>
<field name="model">stock.picking.batch</field>
<field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_form"/>
<field name="arch" type="xml">
<xpath expr="/form/sheet/notebook/page[last()]" position="after">
<page string="Operations" name="operations">
<field name="related_pack_operations" readonly="1">
<tree>
<field name="picking_id"/>
<field name="product_id"/>
<field name="product_uom_id" groups="uom.group_uom"/>
<field name="owner_id" groups="stock.group_tracking_owner"/>
<field name="location_id" groups="stock.group_stock_multi_locations,stock.group_tracking_lot"/>
<field name="location_dest_id" groups="stock.group_stock_multi_locations,stock.group_tracking_lot"/>
<field name="reserved_qty"/>
<field name="qty_done"/>
</tree>
</field>
</page>
<page string="To Process" name="operations_to_pick" groups="ventor_base.merp_debug">
<field name="strategy_order_r" readonly="1" />
<field name="operations_to_pick" readonly="1">
<tree>
<field name="picking_id"/>
<field name="product_id"/>
<field name="product_uom_id" groups="uom.group_uom"/>
<field name="owner_id" groups="stock.group_tracking_owner"/>
<field name="location_id" groups="stock.group_stock_multi_locations,stock.group_tracking_lot"/>
<field name="location_dest_id" groups="stock.group_stock_multi_locations,stock.group_tracking_lot"/>
<field name="reserved_qty"/>
<field name="qty_done"/>
</tree>
</field>
</page>
</xpath>
</field>
</record>
</odoo>