odoo-addon-stock-request 17.0.1.1.2.1__py3-none-any.whl → 17.0.1.1.2.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. odoo/addons/stock_request/i18n/ca.po +1 -0
  2. odoo/addons/stock_request/i18n/de.po +1 -0
  3. odoo/addons/stock_request/i18n/el_GR.po +1 -0
  4. odoo/addons/stock_request/i18n/es.po +1 -0
  5. odoo/addons/stock_request/i18n/es_ES.po +1 -0
  6. odoo/addons/stock_request/i18n/eu.po +1 -0
  7. odoo/addons/stock_request/i18n/fi.po +1 -0
  8. odoo/addons/stock_request/i18n/fr.po +1 -0
  9. odoo/addons/stock_request/i18n/fr_CH.po +1 -0
  10. odoo/addons/stock_request/i18n/fr_FR.po +1 -0
  11. odoo/addons/stock_request/i18n/gl.po +1 -0
  12. odoo/addons/stock_request/i18n/hr.po +1 -0
  13. odoo/addons/stock_request/i18n/hr_HR.po +1 -0
  14. odoo/addons/stock_request/i18n/it.po +1 -0
  15. odoo/addons/stock_request/i18n/ja.po +1 -0
  16. odoo/addons/stock_request/i18n/ja_JP.po +1 -0
  17. odoo/addons/stock_request/i18n/nl.po +1 -0
  18. odoo/addons/stock_request/i18n/nl_NL.po +1 -0
  19. odoo/addons/stock_request/i18n/pt.po +1 -0
  20. odoo/addons/stock_request/i18n/pt_BR.po +1 -0
  21. odoo/addons/stock_request/i18n/ro.po +1 -0
  22. odoo/addons/stock_request/i18n/ru.po +1 -0
  23. odoo/addons/stock_request/i18n/sl.po +1 -0
  24. odoo/addons/stock_request/i18n/stock_request.pot +1 -0
  25. odoo/addons/stock_request/i18n/tr.po +1 -0
  26. odoo/addons/stock_request/i18n/tr_TR.po +1 -0
  27. odoo/addons/stock_request/i18n/vi_VN.po +1 -0
  28. odoo/addons/stock_request/i18n/zh_CN.po +1 -0
  29. odoo/addons/stock_request/tests/test_stock_request.py +107 -112
  30. {odoo_addon_stock_request-17.0.1.1.2.1.dist-info → odoo_addon_stock_request-17.0.1.1.2.4.dist-info}/METADATA +1 -1
  31. {odoo_addon_stock_request-17.0.1.1.2.1.dist-info → odoo_addon_stock_request-17.0.1.1.2.4.dist-info}/RECORD +33 -33
  32. {odoo_addon_stock_request-17.0.1.1.2.1.dist-info → odoo_addon_stock_request-17.0.1.1.2.4.dist-info}/WHEEL +0 -0
  33. {odoo_addon_stock_request-17.0.1.1.2.1.dist-info → odoo_addon_stock_request-17.0.1.1.2.4.dist-info}/top_level.txt +0 -0
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -494,6 +494,7 @@ msgstr "Bezeichnung"
494
494
 
495
495
  #. module: stock_request
496
496
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
497
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
497
498
  msgid "Name must be unique"
498
499
  msgstr "Der Name muss einzigartig sein"
499
500
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -496,6 +496,7 @@ msgstr "Nombre"
496
496
 
497
497
  #. module: stock_request
498
498
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
499
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
499
500
  msgid "Name must be unique"
500
501
  msgstr "El nombre debe ser único"
501
502
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -484,6 +484,7 @@ msgstr ""
484
484
 
485
485
  #. module: stock_request
486
486
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
487
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
487
488
  msgid "Name must be unique"
488
489
  msgstr ""
489
490
 
@@ -496,6 +496,7 @@ msgstr "Nome"
496
496
 
497
497
  #. module: stock_request
498
498
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
499
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
499
500
  msgid "Name must be unique"
500
501
  msgstr "Il nome deve essere univoco"
501
502
 
@@ -478,6 +478,7 @@ msgstr ""
478
478
 
479
479
  #. module: stock_request
480
480
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
481
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
481
482
  msgid "Name must be unique"
482
483
  msgstr ""
483
484
 
@@ -478,6 +478,7 @@ msgstr ""
478
478
 
479
479
  #. module: stock_request
480
480
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
481
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
481
482
  msgid "Name must be unique"
482
483
  msgstr ""
483
484
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -484,6 +484,7 @@ msgstr ""
484
484
 
485
485
  #. module: stock_request
486
486
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
487
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
487
488
  msgid "Name must be unique"
488
489
  msgstr ""
489
490
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -477,6 +477,7 @@ msgstr ""
477
477
 
478
478
  #. module: stock_request
479
479
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
480
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
480
481
  msgid "Name must be unique"
481
482
  msgstr ""
482
483
 
@@ -482,6 +482,7 @@ msgstr ""
482
482
 
483
483
  #. module: stock_request
484
484
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
485
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
485
486
  msgid "Name must be unique"
486
487
  msgstr ""
487
488
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -483,6 +483,7 @@ msgstr ""
483
483
 
484
484
  #. module: stock_request
485
485
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
486
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
486
487
  msgid "Name must be unique"
487
488
  msgstr ""
488
489
 
@@ -488,6 +488,7 @@ msgstr "名称"
488
488
 
489
489
  #. module: stock_request
490
490
  #: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq
491
+ #: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq
491
492
  msgid "Name must be unique"
492
493
  msgstr "名称必须唯一"
493
494
 
@@ -8,133 +8,126 @@ from datetime import datetime
8
8
  from odoo import exceptions, fields
9
9
  from odoo.tests import common, new_test_user
10
10
 
11
+ from odoo.addons.base.tests.common import BaseCommon
12
+
13
+
14
+ class TestStockRequest(BaseCommon):
15
+ @classmethod
16
+ def setUpClass(cls):
17
+ super().setUpClass()
11
18
 
12
- class TestStockRequest(common.TransactionCase):
13
- def setUp(self):
14
- super().setUp()
15
- self.env = self.env(
16
- context=dict(
17
- self.env.context,
18
- mail_create_nolog=True,
19
- mail_create_nosubscribe=True,
20
- mail_notrack=True,
21
- no_reset_password=True,
22
- tracking_disable=True,
23
- )
24
- )
25
19
  # common models
26
- self.stock_request = self.env["stock.request"]
27
- self.request_order = self.env["stock.request.order"]
20
+ cls.stock_request = cls.env["stock.request"]
21
+ cls.request_order = cls.env["stock.request.order"]
28
22
  # refs
29
- self.stock_request_user_group = self.env.ref(
23
+ cls.stock_request_user_group = cls.env.ref(
30
24
  "stock_request.group_stock_request_user"
31
25
  )
32
- self.main_company = self.env.ref("base.main_company")
33
- self.warehouse = self.env.ref("stock.warehouse0")
34
- self.categ_unit = self.env.ref("uom.product_uom_categ_unit")
35
- self.virtual_loc = self.env.ref("stock.stock_location_customers")
26
+ cls.main_company = cls.env.ref("base.main_company")
27
+ cls.warehouse = cls.env.ref("stock.warehouse0")
28
+ cls.categ_unit = cls.env.ref("uom.product_uom_categ_unit")
29
+ cls.virtual_loc = cls.env.ref("stock.stock_location_customers")
36
30
  # common data
37
- self.company_2 = self.env["res.company"].create(
38
- {"name": "Comp2", "parent_id": self.main_company.id}
31
+ cls.company_2 = cls.env["res.company"].create(
32
+ {"name": "Comp2", "parent_id": cls.main_company.id}
39
33
  )
40
- self.company_2_address = (
41
- self.env["res.partner"]
42
- .with_context(company_id=self.company_2.id)
34
+ cls.company_2_address = (
35
+ cls.env["res.partner"]
36
+ .with_context(company_id=cls.company_2.id)
43
37
  .create({"name": "Peñiscola"})
44
38
  )
45
- self.wh2 = self.env["stock.warehouse"].search(
46
- [("company_id", "=", self.company_2.id)], limit=1
39
+ cls.wh2 = cls.env["stock.warehouse"].search(
40
+ [("company_id", "=", cls.company_2.id)], limit=1
47
41
  )
48
- self.stock_request_user = new_test_user(
49
- self.env,
42
+ cls.stock_request_user = new_test_user(
43
+ cls.env,
50
44
  login="stock_request_user",
51
45
  groups="stock_request.group_stock_request_user",
52
- company_ids=[(6, 0, [self.main_company.id, self.company_2.id])],
46
+ company_ids=[(4, cls.main_company.id), (4, cls.company_2.id)],
53
47
  )
54
- self.stock_request_manager = new_test_user(
55
- self.env,
48
+ cls.stock_request_manager = new_test_user(
49
+ cls.env,
56
50
  login="stock_request_manager",
57
51
  groups="stock_request.group_stock_request_manager",
58
- company_ids=[(6, 0, [self.main_company.id, self.company_2.id])],
59
- )
60
- self.product = self._create_product("SH", "Shoes", False)
61
- self.product_company_2 = self._create_product(
62
- "SH_2", "Shoes", self.company_2.id
52
+ company_ids=[(4, cls.main_company.id), (4, cls.company_2.id)],
63
53
  )
64
- self.ressuply_loc = self._create_location(
54
+ cls.product = cls._create_product("SH", "Shoes", False)
55
+ cls.product_company_2 = cls._create_product("SH_2", "Shoes", cls.company_2.id)
56
+
57
+ cls.ressuply_loc = cls._create_location(
65
58
  name="Ressuply",
66
- location_id=self.warehouse.view_location_id.id,
67
- company_id=self.main_company.id,
59
+ location_id=cls.warehouse.view_location_id.id,
60
+ company_id=cls.main_company.id,
68
61
  )
69
- self.ressuply_loc_2 = self._create_location(
62
+ cls.ressuply_loc_2 = cls._create_location(
70
63
  name="Ressuply",
71
- location_id=self.wh2.view_location_id.id,
72
- company_id=self.company_2.id,
64
+ location_id=cls.wh2.view_location_id.id,
65
+ company_id=cls.company_2.id,
73
66
  )
74
- self.route = self._create_location_route(
75
- name="Transfer", company_id=self.main_company.id
76
- )
77
- self.route_2 = self._create_location_route(
78
- name="Transfer", company_id=self.company_2.id
79
- )
80
- self.route_3 = self._create_location_route(
81
- name="Transfer", company_id=self.main_company.id
82
- )
83
- self.uom_dozen = self.env["uom.uom"].create(
67
+
68
+ cls.route = cls._create_route(name="Transfer", company_id=cls.main_company.id)
69
+ cls.route_2 = cls._create_route(name="Transfer", company_id=cls.company_2.id)
70
+ cls.route_3 = cls._create_route(name="Transfer", company_id=cls.main_company.id)
71
+ cls.uom_dozen = cls.env["uom.uom"].create(
84
72
  {
85
73
  "name": "Test-DozenA",
86
- "category_id": self.categ_unit.id,
74
+ "category_id": cls.categ_unit.id,
87
75
  "factor_inv": 12,
88
76
  "uom_type": "bigger",
89
77
  "rounding": 0.001,
90
78
  }
91
79
  )
92
- self.env["stock.rule"].create(
80
+
81
+ cls.env["stock.rule"].create(
93
82
  {
94
83
  "name": "Transfer",
95
- "route_id": self.route.id,
96
- "location_src_id": self.ressuply_loc.id,
97
- "location_dest_id": self.warehouse.lot_stock_id.id,
84
+ "route_id": cls.route.id,
85
+ "location_src_id": cls.ressuply_loc.id,
86
+ "location_dest_id": cls.warehouse.lot_stock_id.id,
98
87
  "action": "pull",
99
- "picking_type_id": self.warehouse.int_type_id.id,
88
+ "picking_type_id": cls.warehouse.int_type_id.id,
100
89
  "procure_method": "make_to_stock",
101
- "warehouse_id": self.warehouse.id,
102
- "company_id": self.main_company.id,
90
+ "warehouse_id": cls.warehouse.id,
91
+ "company_id": cls.main_company.id,
103
92
  }
104
93
  )
105
- self.env["stock.rule"].create(
94
+
95
+ cls.env["stock.rule"].create(
106
96
  {
107
97
  "name": "Transfer",
108
- "route_id": self.route_2.id,
109
- "location_src_id": self.ressuply_loc_2.id,
110
- "location_dest_id": self.wh2.lot_stock_id.id,
98
+ "route_id": cls.route_2.id,
99
+ "location_src_id": cls.ressuply_loc_2.id,
100
+ "location_dest_id": cls.wh2.lot_stock_id.id,
111
101
  "action": "pull",
112
- "picking_type_id": self.wh2.int_type_id.id,
102
+ "picking_type_id": cls.wh2.int_type_id.id,
113
103
  "procure_method": "make_to_stock",
114
- "warehouse_id": self.wh2.id,
115
- "company_id": self.company_2.id,
104
+ "warehouse_id": cls.wh2.id,
105
+ "company_id": cls.company_2.id,
116
106
  }
117
107
  )
118
- self.env["ir.config_parameter"].sudo().set_param(
108
+
109
+ cls.env["ir.config_parameter"].sudo().set_param(
119
110
  "stock.no_auto_scheduler", "True"
120
111
  )
121
112
 
122
- def _create_product(self, default_code, name, company_id, **vals):
123
- return self.env["product.product"].create(
113
+ @classmethod
114
+ def _create_product(cls, default_code, name, company_id, **vals):
115
+ return cls.env["product.product"].create(
124
116
  dict(
125
117
  name=name,
126
118
  default_code=default_code,
127
- uom_id=self.env.ref("uom.product_uom_unit").id,
119
+ uom_id=cls.env.ref("uom.product_uom_unit").id,
128
120
  company_id=company_id,
129
- detailed_type="product",
121
+ type="product",
130
122
  **vals,
131
123
  )
132
124
  )
133
125
 
126
+ @classmethod
134
127
  def _create_product_template_attribute_line(
135
- self, product_tmpl_id, attribute_id, value_id
128
+ cls, product_tmpl_id, attribute_id, value_id
136
129
  ):
137
- return self.env["product.template.attribute.line"].create(
130
+ return cls.env["product.template.attribute.line"].create(
138
131
  {
139
132
  "product_tmpl_id": product_tmpl_id,
140
133
  "attribute_id": attribute_id,
@@ -142,19 +135,23 @@ class TestStockRequest(common.TransactionCase):
142
135
  }
143
136
  )
144
137
 
145
- def _create_product_attribute_value(self, name, attribute):
146
- return self.env["product.attribute.value"].create(
138
+ @classmethod
139
+ def _create_product_attribute_value(cls, name, attribute):
140
+ return cls.env["product.attribute.value"].create(
147
141
  {"name": name, "attribute_id": attribute}
148
142
  )
149
143
 
150
- def _create_product_attribute(self, name):
151
- return self.env["product.attribute"].create({"name": name})
144
+ @classmethod
145
+ def _create_product_attribute(cls, name):
146
+ return cls.env["product.attribute"].create({"name": name})
152
147
 
153
- def _create_location(self, **vals):
154
- return self.env["stock.location"].create(dict(usage="internal", **vals))
148
+ @classmethod
149
+ def _create_location(cls, **vals):
150
+ return cls.env["stock.location"].create(dict(usage="internal", **vals))
155
151
 
156
- def _create_location_route(self, **vals):
157
- return self.env["stock.route"].create(
152
+ @classmethod
153
+ def _create_route(cls, **vals):
154
+ return cls.env["stock.route"].create(
158
155
  dict(
159
156
  product_categ_selectable=False,
160
157
  product_selectable=True,
@@ -165,9 +162,6 @@ class TestStockRequest(common.TransactionCase):
165
162
 
166
163
 
167
164
  class TestStockRequestBase(TestStockRequest):
168
- def setUp(self):
169
- super().setUp()
170
-
171
165
  def _create_stock_quant(self, product, location, qty):
172
166
  self.env["stock.quant"].create(
173
167
  {"product_id": product.id, "location_id": location.id, "quantity": qty}
@@ -1252,37 +1246,38 @@ class TestStockRequestBase(TestStockRequest):
1252
1246
 
1253
1247
 
1254
1248
  class TestStockRequestOrderState(TestStockRequest):
1255
- def setUp(self):
1256
- super().setUp()
1257
- self.product_a = self._create_product(
1249
+ @classmethod
1250
+ def setUpClass(cls):
1251
+ super().setUpClass()
1252
+ cls.product_a = cls._create_product(
1258
1253
  "CODEA",
1259
1254
  "Product A",
1260
- self.main_company.id,
1255
+ cls.main_company.id,
1261
1256
  )
1262
- self.product_a.route_ids = [(6, 0, self.route.ids)]
1263
- self.product_b = self._create_product(
1257
+ cls.product_a.route_ids = [(6, 0, cls.route.ids)]
1258
+ cls.product_b = cls._create_product(
1264
1259
  "CODEB",
1265
1260
  "Product B",
1266
- self.main_company.id,
1261
+ cls.main_company.id,
1267
1262
  )
1268
- self.product_b.route_ids = [(6, 0, self.route.ids)]
1263
+ cls.product_b.route_ids = [(6, 0, cls.route.ids)]
1269
1264
  expected_date = fields.Datetime.now()
1270
1265
  vals = {
1271
- "company_id": self.main_company.id,
1272
- "warehouse_id": self.warehouse.id,
1273
- "location_id": self.warehouse.lot_stock_id.id,
1266
+ "company_id": cls.main_company.id,
1267
+ "warehouse_id": cls.warehouse.id,
1268
+ "location_id": cls.warehouse.lot_stock_id.id,
1274
1269
  "expected_date": expected_date,
1275
1270
  "stock_request_ids": [
1276
1271
  (
1277
1272
  0,
1278
1273
  0,
1279
1274
  {
1280
- "product_id": self.product_a.id,
1281
- "product_uom_id": self.product_a.uom_id.id,
1275
+ "product_id": cls.product_a.id,
1276
+ "product_uom_id": cls.product_a.uom_id.id,
1282
1277
  "product_uom_qty": 1.0,
1283
- "company_id": self.main_company.id,
1284
- "warehouse_id": self.warehouse.id,
1285
- "location_id": self.warehouse.lot_stock_id.id,
1278
+ "company_id": cls.main_company.id,
1279
+ "warehouse_id": cls.warehouse.id,
1280
+ "location_id": cls.warehouse.lot_stock_id.id,
1286
1281
  "expected_date": expected_date,
1287
1282
  },
1288
1283
  ),
@@ -1290,23 +1285,23 @@ class TestStockRequestOrderState(TestStockRequest):
1290
1285
  0,
1291
1286
  0,
1292
1287
  {
1293
- "product_id": self.product_b.id,
1294
- "product_uom_id": self.product_b.uom_id.id,
1288
+ "product_id": cls.product_b.id,
1289
+ "product_uom_id": cls.product_b.uom_id.id,
1295
1290
  "product_uom_qty": 1.0,
1296
- "company_id": self.main_company.id,
1297
- "warehouse_id": self.warehouse.id,
1298
- "location_id": self.warehouse.lot_stock_id.id,
1291
+ "company_id": cls.main_company.id,
1292
+ "warehouse_id": cls.warehouse.id,
1293
+ "location_id": cls.warehouse.lot_stock_id.id,
1299
1294
  "expected_date": expected_date,
1300
1295
  },
1301
1296
  ),
1302
1297
  ],
1303
1298
  }
1304
- self.order = self.request_order.new(vals)
1305
- self.request_a = self.order.stock_request_ids.filtered(
1306
- lambda x: x.product_id == self.product_a
1299
+ cls.order = cls.request_order.create(vals)
1300
+ cls.request_a = cls.order.stock_request_ids.filtered(
1301
+ lambda x: x.product_id == cls.product_a
1307
1302
  )
1308
- self.request_b = self.order.stock_request_ids.filtered(
1309
- lambda x: x.product_id == self.product_b
1303
+ cls.request_b = cls.order.stock_request_ids.filtered(
1304
+ lambda x: x.product_id == cls.product_b
1310
1305
  )
1311
1306
 
1312
1307
  def test_stock_request_order_state_01(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-stock_request
3
- Version: 17.0.1.1.2.1
3
+ Version: 17.0.1.1.2.4
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo>=17.0a,<17.1dev
6
6
  Summary: Internal request for stock
@@ -2,34 +2,34 @@ odoo/addons/stock_request/README.rst,sha256=15yOWKg-WFIk_vdIvJQXJwsXmEqKLjUGskNI
2
2
  odoo/addons/stock_request/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
3
3
  odoo/addons/stock_request/__manifest__.py,sha256=9o7lm6Xqm30gHsWl8winJfsxCTYOAe-Mfnk_6x3AzOs,949
4
4
  odoo/addons/stock_request/data/stock_request_sequence_data.xml,sha256=MKvzK__cH1gecmyqWK6Vj7yJ0o1-oKbqy2ydNoTUhs0,683
5
- odoo/addons/stock_request/i18n/ca.po,sha256=nCwp3gR-h7o5X4YMJyNhNqOaATzGT7SFxFu3T848Nxo,43654
6
- odoo/addons/stock_request/i18n/de.po,sha256=FK78AOY2OBTa5wc4SBxrwIaDhLTjmTDiAOV9AqmHHAY,48925
7
- odoo/addons/stock_request/i18n/el_GR.po,sha256=57eZ_V4E9txMQxMVDSIzoD9mK-zttTXdCYhiqgyTm3c,43674
8
- odoo/addons/stock_request/i18n/es.po,sha256=Uur03dGFFmWSW2Bt6WjPzxeJrql3v9vlkNciovirE7c,50908
9
- odoo/addons/stock_request/i18n/es_ES.po,sha256=5h99dOws6G1VGYIUMooczmQ5NXNUgZLFsKdVYy5tRgo,43671
10
- odoo/addons/stock_request/i18n/eu.po,sha256=ZXKEcfVJ2AgNitXXJ-Oo7yzRxaS-97uoBnFM1vu8pX8,43654
11
- odoo/addons/stock_request/i18n/fi.po,sha256=LPABqL1q0g1GA3UdE4TU9eV7gerFpvyFniuYDF4cnNo,43651
12
- odoo/addons/stock_request/i18n/fr.po,sha256=SYPwoRkbVO7s0CqtD_QBg1UsP6P3T0TsaS6cDxwE7UI,43651
13
- odoo/addons/stock_request/i18n/fr_CH.po,sha256=AF-d5iyTfb3hUtm6WWMjoZqmYlXiymRnsT-o7xYYOyk,43674
14
- odoo/addons/stock_request/i18n/fr_FR.po,sha256=tOjtlW32NB1vHqmNiKxHIlEkJMcUOIGAtiq7H-7NEfA,43669
15
- odoo/addons/stock_request/i18n/gl.po,sha256=Pw8UzkRBL_ohKSP_B2VpAbG35D93C-ubFhkxC6OAPtY,43654
16
- odoo/addons/stock_request/i18n/hr.po,sha256=z8gUG_42WKJoGkjlNcojkkm1Zl6ax0ru0rAt3biBFFw,43730
17
- odoo/addons/stock_request/i18n/hr_HR.po,sha256=CSadWJzTPz9zODHG4kFBbhB9-pSra0a9WFII3wkGNeY,43749
18
- odoo/addons/stock_request/i18n/it.po,sha256=btNVfQhndbYkerxDZXY37p2b_qTWKejBJj619xZEdpM,50374
19
- odoo/addons/stock_request/i18n/ja.po,sha256=pehgQC6r83l_m-SiYClgSwNkK0_cwAkrtllcp2waaUw,43409
20
- odoo/addons/stock_request/i18n/ja_JP.po,sha256=rrSzJtnksgg7RMbqK63UbNbKk-FqLgm6zyZJHiFQ9yg,43412
21
- odoo/addons/stock_request/i18n/nl.po,sha256=cleB7uboGfQ0PMR7cfbgCFBcuNZ5dyNuYOQo2GL7pVo,43651
22
- odoo/addons/stock_request/i18n/nl_NL.po,sha256=fJKLbTCyvJnP8thAfEhyUsJYnqzK-wy8MTLsyNYDVtE,43674
23
- odoo/addons/stock_request/i18n/pt.po,sha256=jH-4whLGTD0hkGeXHc2kUNW3HDSkN1oDboQbKy-drbY,43656
24
- odoo/addons/stock_request/i18n/pt_BR.po,sha256=ptGXPwuahWqYQTHkfSCIot54RD_IlLvXLLTuS0FH7Bo,43673
25
- odoo/addons/stock_request/i18n/ro.po,sha256=u909UvohvIH2Zubce_Als85EkIbN1aM7RZ0Cr1cmo_w,43697
26
- odoo/addons/stock_request/i18n/ru.po,sha256=G41rpGYcOc3kBbAZqKvn5jo-K3bAPJTh1kr9TLDPfEg,43813
27
- odoo/addons/stock_request/i18n/sl.po,sha256=faSOPVCBq1likRiEVByG0j0cfiptQ3EpYPwXs5GXdUc,43711
28
- odoo/addons/stock_request/i18n/stock_request.pot,sha256=iLMCon1e_bMvDy64kVwqI0WkNIJ_bIWKtCQOMFhzLMg,43350
29
- odoo/addons/stock_request/i18n/tr.po,sha256=Gt01ZwZ15bI3VmQCqwDByK8zc-21KuX6InZSUIFXlbA,43651
30
- odoo/addons/stock_request/i18n/tr_TR.po,sha256=l1u_U22_xPhg-UXJ2DQLytBAMGYcjYHJuu2yeGv7DH8,43669
31
- odoo/addons/stock_request/i18n/vi_VN.po,sha256=myso2MP38ewmD6Ei5tQOkF7CrlUsgB_De18gdDmM8K4,43674
32
- odoo/addons/stock_request/i18n/zh_CN.po,sha256=DKW0MVpDYCBE5-O4gyZZY9kebeRhW6Y_GuTT5xQmi64,49132
5
+ odoo/addons/stock_request/i18n/ca.po,sha256=K7k2pKPgiT_f_hhiSuGqE5nKiuuTQfE52N1yZpdFoKc,43747
6
+ odoo/addons/stock_request/i18n/de.po,sha256=zFpQ3Zx1BibsrNT-4OAalUwJH7HPvj02tfgKbbXw-b0,49018
7
+ odoo/addons/stock_request/i18n/el_GR.po,sha256=DqmVBd4ly7cUd8CqoXEKxWqwl30DvRYQ-J7LysUUryg,43767
8
+ odoo/addons/stock_request/i18n/es.po,sha256=r_z7047PIH1pF--L8gIYLpnvGeZRLjEYzyb7QY18S1c,51001
9
+ odoo/addons/stock_request/i18n/es_ES.po,sha256=NC53mYxxzHAoo8W4CebAFUuk_araovRQZJ4NIgHcav8,43764
10
+ odoo/addons/stock_request/i18n/eu.po,sha256=T8NS62Ja-c1ejDIwKioith8MRS_1bYJQkhPVKvUjz-s,43747
11
+ odoo/addons/stock_request/i18n/fi.po,sha256=ONGP1IWei7OQyhtZ2jx3nwy3JcFgVFqUEg1JbHcz-AI,43744
12
+ odoo/addons/stock_request/i18n/fr.po,sha256=_4sE1PL4PuNUlgL9fvTjqLQU_21_XcunBDfoPLSZ2bw,43744
13
+ odoo/addons/stock_request/i18n/fr_CH.po,sha256=BPgW2uQOs4uKJGQswy-nzDfn1JiuxVS_i9BBqGvckqI,43767
14
+ odoo/addons/stock_request/i18n/fr_FR.po,sha256=nkraYT3J7Mf-LiJ85MzGxYQOV2Qgm_tx73q83lzrAb8,43762
15
+ odoo/addons/stock_request/i18n/gl.po,sha256=7fcTT0ON6zoT8_h7jS1eEqfwJUeZxTX3GArkzSJS6ts,43747
16
+ odoo/addons/stock_request/i18n/hr.po,sha256=nTpkHhR7uVyLVIKud0F4OLNc09t2Rlf3KgVY_OMdiYE,43823
17
+ odoo/addons/stock_request/i18n/hr_HR.po,sha256=B0AmEEi4X5C1Qm6wsVf96r2YdLz4DWwbx3Ah5nS3gt8,43842
18
+ odoo/addons/stock_request/i18n/it.po,sha256=YpaaW8AfyvMPTgUs-KtwiyeTGDphFv3h1kVQXXlpPnQ,50467
19
+ odoo/addons/stock_request/i18n/ja.po,sha256=dQs7RictXNBYtdGbhGZjQKwWXitoMtYyFfB0haCokZQ,43502
20
+ odoo/addons/stock_request/i18n/ja_JP.po,sha256=6rJCg2e7Q2ngvblOXVg05vMWiJbcExFP0tX9mG8pQTM,43505
21
+ odoo/addons/stock_request/i18n/nl.po,sha256=jQy-bi9VQ2ogXCW3SRezrQN5wZhJJM9imeRImYej-Sc,43744
22
+ odoo/addons/stock_request/i18n/nl_NL.po,sha256=ItBWtYobzOxAUDR5yKpz-2S8ksrZmtOZZGXgyRbeI2I,43767
23
+ odoo/addons/stock_request/i18n/pt.po,sha256=BbbeMWeGcnGxvRCJXpi-9pDJFjELfWYaa1SgHkKwnLY,43749
24
+ odoo/addons/stock_request/i18n/pt_BR.po,sha256=Bp0d7iYJS512KuJXUF2pdd88tCKBgoiMP9gmw4kJE28,43766
25
+ odoo/addons/stock_request/i18n/ro.po,sha256=l4lXi6Qwwso_vuo6PM4Qi-M7Dty5t3qzTrRTHKc6k3o,43790
26
+ odoo/addons/stock_request/i18n/ru.po,sha256=T-EKd7hI_45JzILBq4aw2WEf3LF57cL-xt07NBoDIro,43906
27
+ odoo/addons/stock_request/i18n/sl.po,sha256=K3S3gAJy5XOWyzbZzknlaV-pnSfqIfjwayx7bUGwD-8,43804
28
+ odoo/addons/stock_request/i18n/stock_request.pot,sha256=KCNyvFRMRhsW1axyGd1KKnxE8DTmIG13Hr1zAzRkwqQ,43443
29
+ odoo/addons/stock_request/i18n/tr.po,sha256=Ue8Edq20WQk8J-bHFvV26V3PHAWJ7DMY0sQYeCS3AzI,43744
30
+ odoo/addons/stock_request/i18n/tr_TR.po,sha256=qK1c4dZWh4xxoPFl8gGd4E3Jgsl-jKS9B4MUrowm-2w,43762
31
+ odoo/addons/stock_request/i18n/vi_VN.po,sha256=ayKYfR3h5mzt1j3IxLY5DXRgn48AsX0r5OzxrwnHfGs,43767
32
+ odoo/addons/stock_request/i18n/zh_CN.po,sha256=CSx0dzycDpCSJTaQglOzKQxjKXwZEYEGr9T5QxKXVWw,49225
33
33
  odoo/addons/stock_request/models/__init__.py,sha256=bYu_0FMNdEqiMtwOb1bdKXk6gmJfzbII-d5WcVbEwXA,423
34
34
  odoo/addons/stock_request/models/procurement_group.py,sha256=t4rDQT-nuHHl8AC5ZMg-MiEkNNao1QN0CoKyXsOaFjc,1085
35
35
  odoo/addons/stock_request/models/res_company.py,sha256=j7vyh8MZNBDWtNyUxAc-HYP2XaiSlM8feOqTXjHWOiA,459
@@ -56,7 +56,7 @@ odoo/addons/stock_request/static/description/icon.png,sha256=HZGM_z7Ta3zNQ2924BU
56
56
  odoo/addons/stock_request/static/description/icon.svg,sha256=e3qo4KGYRy7Mfzhb_bCfVA-73Rk2Lx1z9_kz7tTjdO0,9771
57
57
  odoo/addons/stock_request/static/description/index.html,sha256=7FDJM_VLmWJGwVZWi1Kpo-AlqjiruTNDQZHovA701Ek,16078
58
58
  odoo/addons/stock_request/tests/__init__.py,sha256=3NQ2fafGprBbsMjR2Y__yzyvFX5Vio1r0j6tT3FTbas,33
59
- odoo/addons/stock_request/tests/test_stock_request.py,sha256=C08XmKAYBJjlpfDDsgojfnkdIDfKdEV81O-fJn8-qas,68768
59
+ odoo/addons/stock_request/tests/test_stock_request.py,sha256=-5F3qsypedUL8xu0FGIHzdtbGMBOwrZ0R1IXQwOmuwU,68366
60
60
  odoo/addons/stock_request/views/product.xml,sha256=CJ6RE5uGQLlIMDCPKxw8nhodb_rR3jaj-mF5ozCFUKI,1517
61
61
  odoo/addons/stock_request/views/res_config_settings_views.xml,sha256=kE05fmV2drjepSISURc67R7Uk_62zayWtncGSxzKTBo,6260
62
62
  odoo/addons/stock_request/views/stock_move_views.xml,sha256=Z5pNG0WfYz-CTlxgB-rma0BoT08VQDHnm3J_Ksu9BxA,1072
@@ -65,7 +65,7 @@ odoo/addons/stock_request/views/stock_request_allocation_views.xml,sha256=NhoVR2
65
65
  odoo/addons/stock_request/views/stock_request_menu.xml,sha256=S_3HPkmYcHC_xtPjusHiZX7RUW5CGrJW3w52ScnJFNw,1308
66
66
  odoo/addons/stock_request/views/stock_request_order_views.xml,sha256=xVN0r-S1h9B4xg-duX00qNix3SM-4kTmDDP5JUzvA5s,11383
67
67
  odoo/addons/stock_request/views/stock_request_views.xml,sha256=o_9aY_EOfHymmrg79uQJcVi4snCTUMt3CWacxmnIrxY,12136
68
- odoo_addon_stock_request-17.0.1.1.2.1.dist-info/METADATA,sha256=MMbDIMtXXslpNclVz5-pcwO_84TdUykQ2zjOWK5nZlM,5412
69
- odoo_addon_stock_request-17.0.1.1.2.1.dist-info/WHEEL,sha256=8Rd4enx1PCuyDWP4SABqO5Fv8rpaknqp3VzjoFFLa6c,83
70
- odoo_addon_stock_request-17.0.1.1.2.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
71
- odoo_addon_stock_request-17.0.1.1.2.1.dist-info/RECORD,,
68
+ odoo_addon_stock_request-17.0.1.1.2.4.dist-info/METADATA,sha256=sgdDdqG5jhuk4z03o8r5A0vWVTR8-edav8E6eR5_CLQ,5412
69
+ odoo_addon_stock_request-17.0.1.1.2.4.dist-info/WHEEL,sha256=8Rd4enx1PCuyDWP4SABqO5Fv8rpaknqp3VzjoFFLa6c,83
70
+ odoo_addon_stock_request-17.0.1.1.2.4.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
71
+ odoo_addon_stock_request-17.0.1.1.2.4.dist-info/RECORD,,