summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
Diffstat (limited to 'addons')
-rw-r--r--addons/stock/__init__.py14
-rw-r--r--addons/stock/__openerp__.py8
-rw-r--r--addons/stock/models/__init__.py11
-rw-r--r--addons/stock/models/barcode.py19
-rw-r--r--addons/stock/models/procurement.py (renamed from addons/stock/procurement.py)0
-rw-r--r--addons/stock/models/product.py (renamed from addons/stock/product.py)50
-rw-r--r--addons/stock/models/product_strategy.py53
-rw-r--r--addons/stock/models/res_company.py (renamed from addons/stock/res_company.py)0
-rw-r--r--addons/stock/models/res_partner.py (renamed from addons/stock/partner.py)0
-rw-r--r--addons/stock/models/stock_config_settings.py (renamed from addons/stock/res_config.py)0
-rw-r--r--addons/stock/models/web_planner.py (renamed from addons/stock/web_planner.py)0
-rw-r--r--addons/stock/stock.py14
-rw-r--r--addons/stock/stock_view.xml157
-rw-r--r--addons/stock/views/procurement_views.xml101
-rw-r--r--addons/stock/views/product_strategy_views.xml38
-rw-r--r--addons/stock/views/product_views.xml (renamed from addons/stock/product_view.xml)43
-rw-r--r--addons/stock/views/res_partner_views.xml (renamed from addons/stock/partner_view.xml)0
-rw-r--r--addons/stock/views/stock_config_settings_views.xml (renamed from addons/stock/res_config_view.xml)0
-rw-r--r--addons/stock/views/stock_menu_views.xml20
19 files changed, 278 insertions, 250 deletions
diff --git a/addons/stock/__init__.py b/addons/stock/__init__.py
index c2e60b4ca55..95b05d6a96a 100644
--- a/addons/stock/__init__.py
+++ b/addons/stock/__init__.py
@@ -1,14 +1,8 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from stock import *
-import partner
-import product
-import procurement
-import report
-import wizard
-import res_config
-import res_company
-import web_planner
-
import controllers
+import models
+import report
+import stock
+import wizard \ No newline at end of file
diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py
index 67a75e6eb34..124573e3049 100644
--- a/addons/stock/__openerp__.py
+++ b/addons/stock/__openerp__.py
@@ -69,10 +69,12 @@ Dashboard / Reports for Inventory Management will include:
'wizard/stock_immediate_transfer.xml',
'wizard/stock_backorder_confirmation.xml',
+ 'views/res_partner_views.xml',
+ 'views/product_strategy_views.xml',
'stock_view.xml',
- 'product_view.xml',
- 'partner_view.xml',
- 'res_config_view.xml',
+ 'views/procurement_views.xml',
+ 'views/product_views.xml',
+ 'views/stock_config_settings_views.xml',
'stock_dashboard.xml',
'data/default_barcode_patterns.xml',
diff --git a/addons/stock/models/__init__.py b/addons/stock/models/__init__.py
new file mode 100644
index 00000000000..49511e3eba0
--- /dev/null
+++ b/addons/stock/models/__init__.py
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import barcode
+import product
+import procurement
+import product_strategy
+import res_company
+import res_partner
+import stock_config_settings
+import web_planner \ No newline at end of file
diff --git a/addons/stock/models/barcode.py b/addons/stock/models/barcode.py
new file mode 100644
index 00000000000..627d2016a46
--- /dev/null
+++ b/addons/stock/models/barcode.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+from odoo.tools.translate import _
+
+
+class barcode_rule(models.Model):
+ _inherit = 'barcode.rule'
+
+ def _get_type_selection(self):
+ types = set(super(barcode_rule, self)._get_type_selection())
+ types.update([
+ ('weight', _('Weighted Product')),
+ ('location', _('Location')),
+ ('lot', _('Lot')),
+ ('package', _('Package'))
+ ])
+ return list(types)
diff --git a/addons/stock/procurement.py b/addons/stock/models/procurement.py
index 3ffc77bc223..3ffc77bc223 100644
--- a/addons/stock/procurement.py
+++ b/addons/stock/models/procurement.py
diff --git a/addons/stock/product.py b/addons/stock/models/product.py
index 791e840a603..91a587fd14a 100644
--- a/addons/stock/product.py
+++ b/addons/stock/models/product.py
@@ -8,6 +8,7 @@ import openerp.addons.decimal_precision as dp
from openerp.tools.float_utils import float_round
from openerp.exceptions import UserError
+
class product_product(osv.osv):
_inherit = "product.product"
@@ -513,55 +514,6 @@ class product_template(osv.osv):
return super(product_template, self).write(cr, uid, ids, vals, context=context)
-class product_removal_strategy(osv.osv):
- _name = 'product.removal'
- _description = 'Removal Strategy'
-
- _columns = {
- 'name': fields.char('Name', required=True),
- 'method': fields.char("Method", required=True, help="FIFO, LIFO..."),
- }
-
-
-class product_putaway_strategy(osv.osv):
- _name = 'product.putaway'
- _description = 'Put Away Strategy'
-
- def _get_putaway_options(self, cr, uid, context=None):
- return [('fixed', 'Fixed Location')]
-
- _columns = {
- 'name': fields.char('Name', required=True),
- 'method': fields.selection(_get_putaway_options, "Method", required=True),
- 'fixed_location_ids': fields.one2many('stock.fixed.putaway.strat', 'putaway_id', 'Fixed Locations Per Product Category', help="When the method is fixed, this location will be used to store the products", copy=True),
- }
-
- _defaults = {
- 'method': 'fixed',
- }
-
- def putaway_apply(self, cr, uid, ids, product, context=None):
- putaway_strat = self.browse(cr, uid, ids[0], context=context)
- if putaway_strat.method == 'fixed':
- for strat in putaway_strat.fixed_location_ids:
- categ = product.categ_id
- while categ:
- if strat.category_id.id == categ.id:
- return strat.fixed_location_id.id
- categ = categ.parent_id
-
-
-class fixed_putaway_strat(osv.osv):
- _name = 'stock.fixed.putaway.strat'
- _order = 'sequence'
- _columns = {
- 'putaway_id': fields.many2one('product.putaway', 'Put Away Method', required=True),
- 'category_id': fields.many2one('product.category', 'Product Category', required=True),
- 'fixed_location_id': fields.many2one('stock.location', 'Location', required=True),
- 'sequence': fields.integer('Priority', help="Give to the more specialized category, a higher priority to have them in top of the list."),
- }
-
-
class product_category(osv.osv):
_inherit = 'product.category'
diff --git a/addons/stock/models/product_strategy.py b/addons/stock/models/product_strategy.py
new file mode 100644
index 00000000000..3b8d19e4d40
--- /dev/null
+++ b/addons/stock/models/product_strategy.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from openerp.osv import fields, osv
+
+
+class product_removal_strategy(osv.osv):
+ _name = 'product.removal'
+ _description = 'Removal Strategy'
+
+ _columns = {
+ 'name': fields.char('Name', required=True),
+ 'method': fields.char("Method", required=True, help="FIFO, LIFO..."),
+ }
+
+
+class product_putaway_strategy(osv.osv):
+ _name = 'product.putaway'
+ _description = 'Put Away Strategy'
+
+ def _get_putaway_options(self, cr, uid, context=None):
+ return [('fixed', 'Fixed Location')]
+
+ _columns = {
+ 'name': fields.char('Name', required=True),
+ 'method': fields.selection(_get_putaway_options, "Method", required=True),
+ 'fixed_location_ids': fields.one2many('stock.fixed.putaway.strat', 'putaway_id', 'Fixed Locations Per Product Category', help="When the method is fixed, this location will be used to store the products", copy=True),
+ }
+
+ _defaults = {
+ 'method': 'fixed',
+ }
+
+ def putaway_apply(self, cr, uid, ids, product, context=None):
+ putaway_strat = self.browse(cr, uid, ids[0], context=context)
+ if putaway_strat.method == 'fixed':
+ for strat in putaway_strat.fixed_location_ids:
+ categ = product.categ_id
+ while categ:
+ if strat.category_id.id == categ.id:
+ return strat.fixed_location_id.id
+ categ = categ.parent_id
+
+
+class fixed_putaway_strat(osv.osv):
+ _name = 'stock.fixed.putaway.strat'
+ _order = 'sequence'
+ _columns = {
+ 'putaway_id': fields.many2one('product.putaway', 'Put Away Method', required=True),
+ 'category_id': fields.many2one('product.category', 'Product Category', required=True),
+ 'fixed_location_id': fields.many2one('stock.location', 'Location', required=True),
+ 'sequence': fields.integer('Priority', help="Give to the more specialized category, a higher priority to have them in top of the list."),
+ } \ No newline at end of file
diff --git a/addons/stock/res_company.py b/addons/stock/models/res_company.py
index 37e20b09225..37e20b09225 100644
--- a/addons/stock/res_company.py
+++ b/addons/stock/models/res_company.py
diff --git a/addons/stock/partner.py b/addons/stock/models/res_partner.py
index 6b424f83deb..6b424f83deb 100644
--- a/addons/stock/partner.py
+++ b/addons/stock/models/res_partner.py
diff --git a/addons/stock/res_config.py b/addons/stock/models/stock_config_settings.py
index 565165e2738..565165e2738 100644
--- a/addons/stock/res_config.py
+++ b/addons/stock/models/stock_config_settings.py
diff --git a/addons/stock/web_planner.py b/addons/stock/models/web_planner.py
index 9662aab8041..9662aab8041 100644
--- a/addons/stock/web_planner.py
+++ b/addons/stock/models/web_planner.py
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 24ec392a3a9..9db1ee8da97 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -5,7 +5,6 @@ from datetime import datetime
from dateutil import relativedelta
import json
import time
-import sets
from openerp.osv import fields, osv
from openerp.tools.float_utils import float_compare, float_round
@@ -4936,19 +4935,6 @@ class stock_picking_type(osv.osv):
'use_create_lots': True,
}
-class barcode_rule(models.Model):
- _inherit = 'barcode.rule'
-
- def _get_type_selection(self):
- types = sets.Set(super(barcode_rule,self)._get_type_selection())
- types.update([
- ('weight', _('Weighted Product')),
- ('location', _('Location')),
- ('lot', _('Lot')),
- ('package', _('Package'))
- ])
- return list(types)
-
class StockPackOperation(models.Model):
_inherit = 'stock.pack.operation'
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index d5db9efa796..ac26c41b86c 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -386,42 +386,6 @@
</field>
</record>
- <record id="view_putaway" model="ir.ui.view">
- <field name="name">product.putaway.form</field>
- <field name="model">product.putaway</field>
- <field name="arch" type="xml">
- <form string="Putaway">
- <group colspan="4">
- <field name="name"/>
- <field name="method"/>
- </group>
- <div attrs="{'invisible': [('method', '!=', 'fixed')]}">
- <separator string="Fixed Locations Per Categories"/>
- <field name="fixed_location_ids" colspan="4" nolabel="1">
- <tree editable="top">
- <field name="sequence" widget='handle'/>
- <field name="category_id"/>
- <field name="fixed_location_id"/>
- </tree>
- </field>
- </div>
- </form>
- </field>
- </record>
-
- <record id="view_removal" model="ir.ui.view">
- <field name="name">product.removal.form</field>
- <field name="model">product.removal</field>
- <field name="arch" type="xml">
- <form string="Removal">
- <group col="4">
- <field name="name"/>
- <field name="method"/>
- </group>
- </form>
- </field>
- </record>
-
<record id="stock_location_path_filter" model="ir.ui.view">
<field name="name">stock.location.path.select</field>
<field name="model">stock.location.path</field>
@@ -485,24 +449,6 @@
</field>
</record>
- <record id="product_category_form_view_inherit" model="ir.ui.view">
- <field name="name">product.category.form</field>
- <field name="model">product.category</field>
- <field name="inherit_id" ref="product.product_category_form_view" />
- <field name="arch" type="xml">
- <group name="first" position="after">
- <group string="Logistics">
- <field name="route_ids" widget="many2many_tags"/>
- <div colspan="2" attrs="{'invisible': [('parent_id', '=', False)]}">
- The following routes will apply to the products in this category taking into account parent categories:
- <field name="total_route_ids" nolabel="1" widget="many2many_tags"/>
- </div>
- <field name="removal_strategy_id" options="{'no_create': True}"/>
- </group>
- </group>
- </field>
- </record>
-
<record id="action_location_form" model="ir.actions.act_window">
<field name="name">Locations</field>
<field name="res_model">stock.location</field>
@@ -1918,86 +1864,6 @@
src_model="stock.warehouse"
groups="stock.group_stock_user"/>
- <!-- Procurements -->
-
- <record id="view_procurement_form_stock_inherit" model="ir.ui.view">
- <field name="name">procurement.order.form.stock.inherit</field>
- <field name="model">procurement.order</field>
- <field name="inherit_id" ref="procurement.procurement_form_view"/>
- <field name="arch" type="xml">
- <xpath expr="//group[@name='scheduling']" position="before">
- <group>
- <field name="warehouse_id" on_change="change_warehouse_id(warehouse_id, context)"/>
- <field name="location_id" domain="[('usage', '=', 'internal')]"/>
- <field name="route_ids" widget="many2many_tags" groups="stock.group_adv_location"/>
- </group>
- </xpath>
- <div name="button_box" position="inside">
- <button name="do_view_pickings" class="oe_stat_button" icon="fa-bars" string="Group's Pickings" type="object"/>
- </div>
- <xpath expr="//field[@name='rule_id']" position="replace">
- <field name="rule_id" domain="['|', ('location_id', '=', False), ('location_id', '=', location_id)]"/>
- <field name="partner_dest_id"/>
- </xpath>
- </field>
- </record>
- <record id="view_procurement_tree_stock_inherit" model="ir.ui.view">
- <field name="name">procurement.order.tree.stock.inherit</field>
- <field name="model">procurement.order</field>
- <field name="inherit_id" ref="procurement.procurement_tree_view"/>
- <field name="arch" type="xml">
- <xpath expr="//field[@name='origin']" position="before">
- <field name="location_id"/>
- </xpath>
- </field>
- </record>
- <record id="view_procurement_rule_tree_stock_inherit" model="ir.ui.view">
- <field name="name">procurement.rule.tree.stock.inherit</field>
- <field name="model">procurement.rule</field>
- <field name="inherit_id" ref="procurement.view_procurement_rule_tree"/>
- <field name="arch" type="xml">
- <xpath expr="//field[@name='action']" position="after">
- <field name="picking_type_id"/>
- </xpath>
- </field>
- </record>
-
- <record id="view_procurement_rule_form_stock_inherit" model="ir.ui.view">
- <field name="name">procurement.rule.form.stock.inherit</field>
- <field name="model">procurement.rule</field>
- <field name="inherit_id" ref="procurement.view_procurement_rule_form"/>
- <field name="arch" type="xml">
- <xpath expr="//group[@name='general']" position="after">
- <group>
- <group string="Applied On">
- <field name="location_id"/>
- <field name="warehouse_id" groups="base.group_no_one"/>
- </group>
- <group string="Creates">
- <field name="location_src_id" attrs="{'required': [('action', '=', 'move')], 'invisible':[('action', '!=', 'move')]}" domain="[('usage','!=','view')]"/>
- <field name="procure_method" groups="stock.group_adv_location" attrs="{'invisible': [('action', '!=', 'move')]}"/>
- <field name="picking_type_id" attrs="{'required': [('action', '!=', 'manufacture')]}"/>
- <field name="partner_address_id" groups="stock.group_adv_location" context="{'show_address': 1}" options="{'always_reload': 1}" attrs="{'invisible': [('action', '!=', 'move')]}"/>
- <label for="delay" string="Delay" groups="stock.group_adv_location" attrs="{'invisible': [('action', '!=', 'move')]}"/>
- <div groups="stock.group_adv_location" attrs="{'invisible': [('action', '!=', 'move')]}">
- <field name="delay" class="oe_inline"/>days
- </div>
- </group>
- </group>
- </xpath>
- <xpath expr="//field[@name='group_id']" position="after">
- <field name="propagate"/>
- <field name="propagate_warehouse_id"/>
- </xpath>
- </field>
- </record>
-
- <record model="ir.actions.act_window" id="procrules">
- <field name="context">{'search_default_route_false':1}</field>
- <field name="name">Procurement Rules</field>
- <field name="res_model">procurement.rule</field>
- </record>
-
<record model="ir.actions.act_window" id="stolocpath">
<field name="context">{'search_default_route_false':1}</field>
<field name="name">Push Rules</field>
@@ -2131,23 +1997,10 @@
</field>
</record>
- <!-- Procurements are located in Warehouse menu hierarchy, MRP users should come to Stock application to use it. -->
- <menuitem id="menu_stock_sched" name="Schedulers" parent="stock.menu_stock_root" groups="group_stock_manager" sequence="50"/>
- <menuitem action="action_procurement_compute" id="menu_procurement_compute" parent="menu_stock_sched" sequence="2"/>
- <menuitem action="procurement.action_compute_schedulers" id="menu_stock_proc_schedulers" parent="menu_stock_sched" sequence="1" groups="stock.group_stock_manager"/>
- <menuitem id="menu_stock_procurement" name="Automatic Procurements" parent="stock.menu_stock_config_settings" sequence="5"/>
- <menuitem action="procurement.procurement_order_action_exceptions" id="menu_stock_procurement_action" parent="stock.menu_warehouse_report" sequence="150" groups="stock.group_stock_manager"/>
<menuitem action="action_move_form2" id="menu_action_move_form2" parent="stock.menu_warehouse_report" sequence="130"/>
<menuitem id="menu_quants" name="Inventory Valuation" parent="stock.menu_warehouse_report" sequence="120" action="quantsact"/>
- <menuitem id="menu_procurement_rules" name="Global Procurement Rules" parent="stock.menu_routes_config" action="procrules" groups="base.group_no_one" sequence="3"/>
<menuitem id="menu_stock_location_path" name="Global Push Rules" parent="stock.menu_routes_config" action="stolocpath" groups="base.group_no_one" sequence="4"/>
<menuitem id="menu_pickingtype" name="Operations Types" parent="stock.menu_warehouse_config" action="action_picking_type_list" sequence="4" groups="stock.group_stock_multi_locations"/>
-
- <record model="ir.actions.act_window" id="product_open_orderpoint">
- <field name="context">{'default_product_id': active_id, 'search_default_product_id': active_id}</field>
- <field name="name">Reordering Rules</field>
- <field name="res_model">stock.warehouse.orderpoint</field>
- </record>
<record model="ir.actions.act_window" id="product_template_open_quants">
<field name="name">Stock On Hand</field>
@@ -2369,15 +2222,5 @@
<field name="view_mode">tree,form</field>
<field name="domain">[('group_id','=',active_id)]</field>
</record>
- <record id="procurement_group_form_view_herited" model="ir.ui.view">
- <field name="name">procurement.group.form.herited</field>
- <field name="model">procurement.group</field>
- <field name="inherit_id" ref="procurement.procurement_group_form_view"/>
- <field name="arch" type="xml">
- <div name="button_box" position="inside">
- <button name="%(do_view_pickings)d" string="Pickings" type="action"/>
- </div>
- </field>
- </record>
</data>
</openerp>
diff --git a/addons/stock/views/procurement_views.xml b/addons/stock/views/procurement_views.xml
new file mode 100644
index 00000000000..241b0a296d8
--- /dev/null
+++ b/addons/stock/views/procurement_views.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="procurement_group_form_view_herited" model="ir.ui.view">
+ <field name="name">procurement.group.view.form.inherit.picking</field>
+ <field name="model">procurement.group</field>
+ <field name="inherit_id" ref="procurement.procurement_group_form_view"/>
+ <field name="arch" type="xml">
+ <div name="button_box" position="inside">
+ <button name="%(do_view_pickings)d" string="Pickings" type="action"/>
+ </div>
+ </field>
+ </record>
+
+ <!-- Procurements -->
+
+ <record id="view_procurement_form_stock_inherit" model="ir.ui.view">
+ <field name="name">procurement.order.form.stock.inherit</field>
+ <field name="model">procurement.order</field>
+ <field name="inherit_id" ref="procurement.procurement_form_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="//group[@name='scheduling']" position="before">
+ <group>
+ <field name="warehouse_id" on_change="change_warehouse_id(warehouse_id, context)"/>
+ <field name="location_id" domain="[('usage', '=', 'internal')]"/>
+ <field name="route_ids" widget="many2many_tags" groups="stock.group_adv_location"/>
+ </group>
+ </xpath>
+ <div name="button_box" position="inside">
+ <button name="do_view_pickings" class="oe_stat_button" icon="fa-bars" string="Group's Pickings" type="object"/>
+ </div>
+ <xpath expr="//field[@name='rule_id']" position="replace">
+ <field name="rule_id" domain="['|', ('location_id', '=', False), ('location_id', '=', location_id)]"/>
+ <field name="partner_dest_id"/>
+ </xpath>
+ </field>
+ </record>
+ <record id="view_procurement_tree_stock_inherit" model="ir.ui.view">
+ <field name="name">procurement.order.tree.stock.inherit</field>
+ <field name="model">procurement.order</field>
+ <field name="inherit_id" ref="procurement.procurement_tree_view"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='origin']" position="before">
+ <field name="location_id"/>
+ </xpath>
+ </field>
+ </record>
+ <record id="view_procurement_rule_tree_stock_inherit" model="ir.ui.view">
+ <field name="name">procurement.rule.tree.stock.inherit</field>
+ <field name="model">procurement.rule</field>
+ <field name="inherit_id" ref="procurement.view_procurement_rule_tree"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='action']" position="after">
+ <field name="picking_type_id"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="view_procurement_rule_form_stock_inherit" model="ir.ui.view">
+ <field name="name">procurement.rule.form.stock.inherit</field>
+ <field name="model">procurement.rule</field>
+ <field name="inherit_id" ref="procurement.view_procurement_rule_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//group[@name='general']" position="after">
+ <group>
+ <group string="Applied On">
+ <field name="location_id"/>
+ <field name="warehouse_id" groups="base.group_no_one"/>
+ </group>
+ <group string="Creates">
+ <field name="location_src_id" attrs="{'required': [('action', '=', 'move')], 'invisible':[('action', '!=', 'move')]}" domain="[('usage','!=','view')]"/>
+ <field name="procure_method" groups="stock.group_adv_location" attrs="{'invisible': [('action', '!=', 'move')]}"/>
+ <field name="picking_type_id" attrs="{'required': [('action', '!=', 'manufacture')]}"/>
+ <field name="partner_address_id" groups="stock.group_adv_location" context="{'show_address': 1}" options="{'always_reload': 1}" attrs="{'invisible': [('action', '!=', 'move')]}"/>
+ <label for="delay" string="Delay" groups="stock.group_adv_location" attrs="{'invisible': [('action', '!=', 'move')]}"/>
+ <div groups="stock.group_adv_location" attrs="{'invisible': [('action', '!=', 'move')]}">
+ <field name="delay" class="oe_inline"/>days
+ </div>
+ </group>
+ </group>
+ </xpath>
+ <xpath expr="//field[@name='group_id']" position="after">
+ <field name="propagate"/>
+ <field name="propagate_warehouse_id"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="procrules">
+ <field name="context">{'search_default_route_false':1}</field>
+ <field name="name">Procurement Rules</field>
+ <field name="res_model">procurement.rule</field>
+ </record>
+
+ <!-- Procurements are located in Warehouse menu hierarchy, MRP users should come to Stock application to use it. -->
+ <menuitem id="menu_stock_sched" name="Schedulers" parent="stock.menu_stock_root" groups="group_stock_manager" sequence="50"/>
+ <menuitem action="action_procurement_compute" id="menu_procurement_compute" parent="menu_stock_sched" sequence="2"/>
+ <menuitem action="procurement.action_compute_schedulers" id="menu_stock_proc_schedulers" parent="menu_stock_sched" sequence="1" groups="stock.group_stock_manager"/>
+ <menuitem id="menu_stock_procurement" name="Automatic Procurements" parent="stock.menu_stock_config_settings" sequence="5"/>
+ <menuitem action="procurement.procurement_order_action_exceptions" id="menu_stock_procurement_action" parent="stock.menu_warehouse_report" sequence="150" groups="stock.group_stock_manager"/>
+ <menuitem id="menu_procurement_rules" name="Global Procurement Rules" parent="stock.menu_routes_config" action="procrules" groups="base.group_no_one" sequence="3"/>
+</odoo> \ No newline at end of file
diff --git a/addons/stock/views/product_strategy_views.xml b/addons/stock/views/product_strategy_views.xml
new file mode 100644
index 00000000000..c93a1428bbd
--- /dev/null
+++ b/addons/stock/views/product_strategy_views.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="view_putaway" model="ir.ui.view">
+ <field name="name">product.putaway.form</field>
+ <field name="model">product.putaway</field>
+ <field name="arch" type="xml">
+ <form string="Putaway">
+ <group colspan="4">
+ <field name="name"/>
+ <field name="method"/>
+ </group>
+ <div attrs="{'invisible': [('method', '!=', 'fixed')]}">
+ <separator string="Fixed Locations Per Categories"/>
+ <field name="fixed_location_ids" colspan="4" nolabel="1">
+ <tree editable="top">
+ <field name="sequence" widget='handle'/>
+ <field name="category_id"/>
+ <field name="fixed_location_id"/>
+ </tree>
+ </field>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <record id="view_removal" model="ir.ui.view">
+ <field name="name">product.removal.form</field>
+ <field name="model">product.removal</field>
+ <field name="arch" type="xml">
+ <form string="Removal">
+ <group col="4">
+ <field name="name"/>
+ <field name="method"/>
+ </group>
+ </form>
+ </field>
+ </record>
+</odoo> \ No newline at end of file
diff --git a/addons/stock/product_view.xml b/addons/stock/views/product_views.xml
index 050cc3eb1df..fc668c0d2e6 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/views/product_views.xml
@@ -2,6 +2,30 @@
<openerp>
<data>
+ <record id="product_category_form_view_inherit" model="ir.ui.view">
+ <field name="name">product.category.form</field>
+ <field name="model">product.category</field>
+ <field name="inherit_id" ref="product.product_category_form_view" />
+ <field name="arch" type="xml">
+ <group name="first" position="after">
+ <group string="Logistics">
+ <field name="route_ids" widget="many2many_tags"/>
+ <div colspan="2" attrs="{'invisible': [('parent_id', '=', False)]}">
+ The following routes will apply to the products in this category taking into account parent categories:
+ <field name="total_route_ids" nolabel="1" widget="many2many_tags"/>
+ </div>
+ <field name="removal_strategy_id" options="{'no_create': True}"/>
+ </group>
+ </group>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="product_open_orderpoint">
+ <field name="context">{'default_product_id': active_id, 'search_default_product_id': active_id}</field>
+ <field name="name">Reordering Rules</field>
+ <field name="res_model">stock.warehouse.orderpoint</field>
+ </record>
+
<record id="view_stock_product_tree" model="ir.ui.view">
<field name="name">product.stock.tree.inherit</field>
<field name="model">product.product</field>
@@ -328,5 +352,24 @@
</data>
</field>
</record>
+
+ <record id="product_template_action_product" model="ir.actions.act_window">
+ <field name="name">Products</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">product.template</field>
+ <field name="view_mode">kanban,tree,form</field>
+ <field name="view_type">form</field>
+ <field name="context">{"search_default_products": 1, 'default_type': 'product'}</field>
+ <field name="help" type="html">
+ <p class="oe_view_nocontent_create">
+ Click to define a new product.
+ </p>
+ </field>
+ </record>
+ <menuitem id="menu_product_variant_config_stock" name="Products" action="product_template_action_product"
+ parent="stock.menu_stock_inventory_control" sequence="1"/>
+ <menuitem id="product_product_menu" name="Product Variants" action="product.product_normal_action"
+ parent="menu_stock_inventory_control" sequence="2" groups="product.group_product_variant"/>
+
</data>
</openerp>
diff --git a/addons/stock/partner_view.xml b/addons/stock/views/res_partner_views.xml
index efb615bc3ef..efb615bc3ef 100644
--- a/addons/stock/partner_view.xml
+++ b/addons/stock/views/res_partner_views.xml
diff --git a/addons/stock/res_config_view.xml b/addons/stock/views/stock_config_settings_views.xml
index 62e46f9f5f8..62e46f9f5f8 100644
--- a/addons/stock/res_config_view.xml
+++ b/addons/stock/views/stock_config_settings_views.xml
diff --git a/addons/stock/views/stock_menu_views.xml b/addons/stock/views/stock_menu_views.xml
index 623fdbc1fc6..7484db4d3b5 100644
--- a/addons/stock/views/stock_menu_views.xml
+++ b/addons/stock/views/stock_menu_views.xml
@@ -11,9 +11,11 @@
<menuitem id="menu_warehouse_config" name="Warehouse Management" parent="menu_stock_config_settings" groups="stock.group_stock_manager" sequence="1"/>
<menuitem id="menu_routes_config" name="Routes" parent="menu_stock_config_settings" sequence="2" groups="stock.group_adv_location"/>
<menuitem id="menu_packages_config" name="Packages" parent="menu_stock_config_settings" sequence="3" groups="product.group_stock_packaging"/>
+
<menuitem id="menu_wms_barcode_nomenclature_all" parent="menu_stock_config_settings" action="barcodes.action_barcode_nomenclature_form"
sequence="50" groups="base.group_no_one"/>
<menuitem id="menu_product_in_config_stock" name="Products" parent="stock.menu_stock_config_settings" sequence="4"/>
+
<menuitem
action="product.product_category_action_form" id="menu_product_category_config_stock"
parent="stock.menu_product_in_config_stock" sequence="2"/>
@@ -23,27 +25,11 @@
<menuitem
id="menu_stock_unit_measure_stock" name="Units of Measure"
parent="stock.menu_product_in_config_stock" sequence="35" groups="product.group_uom"/>
+
<menuitem id="menu_stock_uom_form_action" action="product.product_uom_form_action"
parent="menu_stock_config_settings" sequence="35" groups="product.group_uom"/>
<menuitem id="menu_stock_inventory_control" name="Inventory Control" parent="menu_stock_root" sequence="4"/>
- <record id="product_template_action_product" model="ir.actions.act_window">
- <field name="name">Products</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">product.template</field>
- <field name="view_mode">kanban,tree,form</field>
- <field name="view_type">form</field>
- <field name="context">{"search_default_products": 1, 'default_type': 'product'}</field>
- <field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to define a new product.
- </p>
- </field>
- </record>
- <menuitem id="menu_product_variant_config_stock" name="Products" action="product_template_action_product"
- parent="stock.menu_stock_inventory_control" sequence="1"/>
- <menuitem id="product_product_menu" name="Product Variants" action="product.product_normal_action"
- parent="menu_stock_inventory_control" sequence="2" groups="product.group_product_variant"/>
<menuitem id="stock.menu_warehouse_report" name="Reports" sequence="99" parent="stock.menu_stock_root" groups="group_stock_manager"/>
</odoo> \ No newline at end of file