Skip to content

Commit cc3ff4c

Browse files
kikopeiroasaunier
authored andcommitted
[MIG] stock_available: Migration to 11.0
1 parent dcc2e22 commit cc3ff4c

11 files changed

+97
-71
lines changed

stock_available/README.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ chose to base the computation on.
3535

3636
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
3737
:alt: Try me on Runbot
38-
:target: https://runbot.odoo-community.org/runbot/153/10.0
38+
:target: https://runbot.odoo-community.org/runbot/153/11.0
3939

4040
Bug Tracker
4141
===========
@@ -58,7 +58,7 @@ Contributors
5858

5959
* Lionel Sausin (Numérigraphe) <ls@numerigraphe.com>
6060
* Sodexis <sodexis@sodexis.com>
61-
* Cédric Pigeon <cedric.pigeon@acsone.eu>
61+
* Factor Libre - Kiko Peiro <francisco.peiro@factorlibre.com>
6262

6363
Maintainer
6464
----------
@@ -73,4 +73,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
7373
mission is to support the collaborative development of Odoo features and
7474
promote its widespread use.
7575

76-
To contribute to this module, please visit https://odoo-community.org.
76+
To contribute to this module, please visit https://odoo-community.org.

stock_available/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

stock_available/__manifest__.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
54

65
{
76
'name': 'Stock available to promise',
8-
'version': '10.0.1.0.1',
7+
'version': '11.0.1.0.0',
98
"author": "Numérigraphe, Sodexis, Odoo Community Association (OCA)",
109
'category': 'Warehouse',
1110
'depends': ['stock'],
1211
'license': 'AGPL-3',
1312
'data': [
1413
'views/product_template_view.xml',
1514
'views/product_product_view.xml',
16-
'views/res_config_view.xml',
15+
'views/res_config_settings_views.xml',
1716
],
1817
'installable': True,
1918
}

stock_available/models/__init__.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
54

65
from . import product_template
76
from . import product_product
8-
from . import res_config
7+
from . import res_config_settings

stock_available/models/product_product.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

stock_available/models/product_template.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

stock_available/models/res_config.py stock_available/models/res_config_settings.py

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
54

65
from odoo import api, models, fields
76

87

9-
class StockConfig(models.TransientModel):
8+
class ResConfigSettings(models.TransientModel):
109

1110
"""Add options to easily install the submodules"""
12-
_inherit = 'stock.config.settings'
11+
_inherit = 'res.config.settings'
1312

1413
@api.model
1514
def _get_stock_available_mrp_based_on(self):
@@ -54,17 +53,17 @@ def _get_stock_available_mrp_based_on(self):
5453
)
5554

5655
@api.model
57-
def get_default_stock_available_mrp_based_on(self, fields):
58-
res = {}
59-
icp = self.env['ir.config_parameter']
60-
res['stock_available_mrp_based_on'] = icp.get_param(
61-
'stock_available_mrp_based_on', 'qty_available'
56+
def get_values(self):
57+
res = super(ResConfigSettings, self).get_values()
58+
res.update(stock_available_mrp_based_on=self.env[
59+
'ir.config_parameter'].sudo().get_param(
60+
'stock_available_mrp_based_on',
61+
'qty_available')
6262
)
6363
return res
6464

6565
@api.multi
66-
def set_stock_available_mrp_based_on(self):
67-
if self.stock_available_mrp_based_on:
68-
icp = self.env['ir.config_parameter']
69-
icp.set_param('stock_available_mrp_based_on',
70-
self.stock_available_mrp_based_on)
66+
def set_values(self):
67+
super(ResConfigSettings, self).set_values()
68+
self.env['ir.config_parameter'].sudo().set_param(
69+
'stock_available_mrp_based_on', self.stock_available_mrp_based_on)

stock_available/tests/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

stock_available/tests/test_stock_available.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
# Copyright 2014 Numérigraphe
32
# Copyright 2016 Sodexis
43
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
@@ -9,13 +8,13 @@
98
class TestStockLogisticsWarehouse(TransactionCase):
109
def test_res_config(self):
1110
"""Test the config file"""
12-
stock_setting = self.env['stock.config.settings'].create({})
11+
stock_setting = self.env['res.config.settings'].create({})
1312

1413
self.assertEquals(
1514
stock_setting.stock_available_mrp_based_on,
1615
'qty_available')
1716
stock_setting.stock_available_mrp_based_on = 'immediately_usable_qty'
18-
stock_setting.set_stock_available_mrp_based_on()
17+
stock_setting.set_values()
1918
self.assertEquals(
2019
stock_setting.stock_available_mrp_based_on,
2120
'immediately_usable_qty')
@@ -104,20 +103,20 @@ def compare_product_usable_qty(product, value):
104103
compare_product_usable_qty(productA, 0)
105104
compare_product_usable_qty(templateAB, 0)
106105

107-
stockMoveInA.action_confirm()
106+
stockMoveInA._action_confirm()
108107
compare_product_usable_qty(productA, 2)
109108
compare_product_usable_qty(templateAB, 2)
110109

111-
stockMoveInA.action_assign()
110+
stockMoveInA._action_assign()
112111
compare_product_usable_qty(productA, 2)
113112
compare_product_usable_qty(templateAB, 2)
114113

115-
stockMoveInA.action_done()
114+
stockMoveInA._action_done()
116115
compare_product_usable_qty(productA, 2)
117116
compare_product_usable_qty(templateAB, 2)
118117

119118
# will directly trigger action_done on productB
120-
stockMoveInB.action_done()
119+
stockMoveInB._action_done()
121120
compare_product_usable_qty(productA, 2)
122121
compare_product_usable_qty(productB, 3)
123122
compare_product_usable_qty(templateAB, 5)
@@ -133,7 +132,7 @@ def compare_product_usable_qty(product, value):
133132
'state': 'confirmed',
134133
})
135134

136-
stockMoveOutA.action_done()
135+
stockMoveOutA._action_done()
137136
compare_product_usable_qty(productA, 1)
138137
compare_product_usable_qty(templateAB, 4)
139138

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Copyright 2014 Numérigraphe
3+
Copyright 2016 Sodexis
4+
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
5+
6+
<odoo>
7+
<record id="view_stock_configuration" model="ir.ui.view">
8+
<field name="name">Stock settings: quantity available to promise</field>
9+
<field name="model">res.config.settings</field>
10+
<field name="inherit_id" ref="stock.res_config_settings_view_form" />
11+
<field name="arch" type="xml">
12+
<data>
13+
<xpath expr="//div[@data-key='stock']" position="inside">
14+
<h2 id="available_info">Stock available to promise</h2>
15+
<div class="row mt16 o_settings_container">
16+
<div class="col-xs-12 col-md-6 o_setting_box">
17+
<div class="o_setting_left_pane">
18+
<field name="module_stock_available_immediately"/>
19+
</div>
20+
<div class="o_setting_right_pane">
21+
<label for="module_stock_available_immediately"/>
22+
</div>
23+
</div>
24+
<div class="col-xs-12 col-md-6 o_setting_box">
25+
<div class="o_setting_left_pane">
26+
<field name="module_stock_available_mrp"/>
27+
</div>
28+
<div class="o_setting_right_pane">
29+
<label for="module_stock_available_mrp"/>
30+
<div class="content-group">
31+
<div class="mt16" attrs="{'invisible': [('module_stock_available_mrp', '=', False)]}">
32+
<field name="stock_available_mrp_based_on" class="oe_inline" attrs="{'required':[('module_stock_available_mrp','=',True)]}"/>
33+
</div>
34+
</div>
35+
</div>
36+
</div>
37+
38+
<!--<div>-->
39+
<!--<field name="module_stock_available_sale" class="oe_inline" />-->
40+
<!--<label for="module_stock_available_sale" />-->
41+
<!--</div>-->
42+
<!--
43+
<div class="col-xs-12 col-md-6 o_setting_box" id="propagation_info" title="Rescheduling applies to any chain of operations (e.g. Make To Order, Pick Pack Ship). In the case of MTO sales, a vendor delay (updated incoming date) impacts the expected delivery date to the customer. This option allows to not propagate the rescheduling if the change is not critical.">
44+
<div class="o_setting_left_pane">
45+
<field name="use_propagation_minimum_delta"/>
46+
</div>
47+
<div class="o_setting_right_pane">
48+
<label for="use_propagation_minimum_delta"/>
49+
<div class="text-muted">
50+
Don’t propagate scheduling changes through chains of operations
51+
</div>
52+
<div class="content-group">
53+
<div class="mt16" attrs="{'invisible': [('use_propagation_minimum_delta', '=', False)]}">
54+
<span>Change must be higher than <field name="propagation_minimum_delta" class="oe_inline"/> days to be propagated</span>
55+
</div>
56+
</div>
57+
</div>
58+
</div>
59+
60+
61+
<div>
62+
<field name="module_stock_available_mrp" class="oe_inline" />
63+
<label for="module_stock_available_mrp" />
64+
<label for="stock_available_mrp_based_on" />
65+
<field name="stock_available_mrp_based_on" class="oe_inline" attrs="{'required':[('module_stock_available_mrp','=',True)]}"/>
66+
</div> -->
67+
</div>
68+
</xpath>
69+
</data>
70+
</field>
71+
</record>
72+
</odoo>

stock_available/views/res_config_view.xml

-38
This file was deleted.

0 commit comments

Comments
 (0)