odoo-addon-base-tier-validation 16.0.2.5.1.2__py3-none-any.whl → 16.0.2.6.0__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.
- odoo/addons/base_tier_validation/README.rst +1 -1
- odoo/addons/base_tier_validation/__manifest__.py +1 -1
- odoo/addons/base_tier_validation/models/tier_validation.py +22 -5
- odoo/addons/base_tier_validation/static/description/index.html +1 -1
- odoo/addons/base_tier_validation/tests/common.py +51 -0
- odoo/addons/base_tier_validation/tests/test_tier_validation.py +58 -2
- odoo/addons/base_tier_validation/tests/tier_validation_tester.py +1 -0
- {odoo_addon_base_tier_validation-16.0.2.5.1.2.dist-info → odoo_addon_base_tier_validation-16.0.2.6.0.dist-info}/METADATA +2 -2
- {odoo_addon_base_tier_validation-16.0.2.5.1.2.dist-info → odoo_addon_base_tier_validation-16.0.2.6.0.dist-info}/RECORD +11 -11
- {odoo_addon_base_tier_validation-16.0.2.5.1.2.dist-info → odoo_addon_base_tier_validation-16.0.2.6.0.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-16.0.2.5.1.2.dist-info → odoo_addon_base_tier_validation-16.0.2.6.0.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,7 @@ Base Tier Validation
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
8
8
|
!! changes will be overwritten. !!
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
10
|
-
!! source digest: sha256:
|
10
|
+
!! source digest: sha256:8e99bb2b477c5c3a3ce8a49b2f854341131b246b0a7b1ea30c4e04acf1dbeaec
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -12,7 +12,12 @@ from odoo.exceptions import ValidationError
|
|
12
12
|
from odoo.osv.expression import OR
|
13
13
|
from odoo.tools.misc import frozendict
|
14
14
|
|
15
|
-
BASE_EXCEPTION_FIELDS = [
|
15
|
+
BASE_EXCEPTION_FIELDS = [
|
16
|
+
"message_main_attachment_id",
|
17
|
+
"message_follower_ids",
|
18
|
+
"access_token",
|
19
|
+
"need_validation",
|
20
|
+
]
|
16
21
|
|
17
22
|
|
18
23
|
class TierValidation(models.AbstractModel):
|
@@ -21,6 +26,7 @@ class TierValidation(models.AbstractModel):
|
|
21
26
|
|
22
27
|
_tier_validation_buttons_xpath = "/form/header/button[last()]"
|
23
28
|
_tier_validation_manual_config = True
|
29
|
+
_tier_validation_company_field = "company_id"
|
24
30
|
|
25
31
|
_state_field = "state"
|
26
32
|
_state_from = ["draft"]
|
@@ -220,7 +226,7 @@ class TierValidation(models.AbstractModel):
|
|
220
226
|
.search(
|
221
227
|
[
|
222
228
|
("model", "=", self._name),
|
223
|
-
("company_id", "in", [False] +
|
229
|
+
("company_id", "in", [False] + rec._get_company().ids),
|
224
230
|
]
|
225
231
|
)
|
226
232
|
)
|
@@ -253,7 +259,7 @@ class TierValidation(models.AbstractModel):
|
|
253
259
|
.search(
|
254
260
|
[
|
255
261
|
("model", "=", self._name),
|
256
|
-
("company_id", "in", [False] +
|
262
|
+
("company_id", "in", [False] + rec._get_company().ids),
|
257
263
|
]
|
258
264
|
)
|
259
265
|
)
|
@@ -280,7 +286,7 @@ class TierValidation(models.AbstractModel):
|
|
280
286
|
.search(
|
281
287
|
[
|
282
288
|
("model_name", "=", self._name),
|
283
|
-
("company_id", "in", [False] + self.
|
289
|
+
("company_id", "in", [False] + self._get_company().ids),
|
284
290
|
"|",
|
285
291
|
("group_ids", "in", self.env.user.groups_id.ids),
|
286
292
|
("group_ids", "=", False),
|
@@ -636,6 +642,17 @@ class TierValidation(models.AbstractModel):
|
|
636
642
|
"sequence": sequence,
|
637
643
|
}
|
638
644
|
|
645
|
+
@api.model
|
646
|
+
def _get_company(self):
|
647
|
+
company_id = self.env.company
|
648
|
+
if (
|
649
|
+
self
|
650
|
+
and self._tier_validation_company_field in self.env[self._name]
|
651
|
+
and self[self._tier_validation_company_field]
|
652
|
+
):
|
653
|
+
company_id = self[self._tier_validation_company_field]
|
654
|
+
return company_id
|
655
|
+
|
639
656
|
def request_validation(self):
|
640
657
|
td_obj = self.env["tier.definition"]
|
641
658
|
tr_obj = self.env["tier.review"]
|
@@ -645,7 +662,7 @@ class TierValidation(models.AbstractModel):
|
|
645
662
|
tier_definitions = td_obj.search(
|
646
663
|
[
|
647
664
|
("model", "=", self._name),
|
648
|
-
("company_id", "in", [False] +
|
665
|
+
("company_id", "in", [False] + rec._get_company().ids),
|
649
666
|
("id", "not in", rec.review_ids.mapped("definition_id").ids),
|
650
667
|
],
|
651
668
|
order="sequence desc",
|
@@ -367,7 +367,7 @@ ul.auto-toc {
|
|
367
367
|
!! This file is generated by oca-gen-addon-readme !!
|
368
368
|
!! changes will be overwritten. !!
|
369
369
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
370
|
-
!! source digest: sha256:
|
370
|
+
!! source digest: sha256:8e99bb2b477c5c3a3ce8a49b2f854341131b246b0a7b1ea30c4e04acf1dbeaec
|
371
371
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
372
372
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Mature" src="https://img.shields.io/badge/maturity-Mature-brightgreen.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-ux/tree/16.0/base_tier_validation"><img alt="OCA/server-ux" src="https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/server-ux-16-0/server-ux-16-0-base_tier_validation"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
373
373
|
<p>Validating some operations is a common need across different areas in a company
|
@@ -56,6 +56,9 @@ class CommonTierValidation(common.TransactionCase):
|
|
56
56
|
"perm_unlink": 1,
|
57
57
|
}
|
58
58
|
)
|
59
|
+
# Create a multi-company
|
60
|
+
cls.main_company = cls.env.ref("base.main_company")
|
61
|
+
cls.other_company = cls.env["res.company"].create({"name": "My Company"})
|
59
62
|
|
60
63
|
# Define views to avoid automatic views with all fields.
|
61
64
|
for model in cls.test_model._name, cls.test_model_2._name:
|
@@ -88,6 +91,14 @@ class CommonTierValidation(common.TransactionCase):
|
|
88
91
|
cls.test_user_2 = cls.env["res.users"].create(
|
89
92
|
{"name": "Mike", "login": "test2", "email": "mike@yourcompany.example.com"}
|
90
93
|
)
|
94
|
+
cls.test_user_3_multi_company = cls.env["res.users"].create(
|
95
|
+
{
|
96
|
+
"name": "Jane",
|
97
|
+
"login": "test3",
|
98
|
+
"email": "jane@mycompany.example.com",
|
99
|
+
"company_ids": [(6, 0, [cls.main_company.id, cls.other_company.id])],
|
100
|
+
}
|
101
|
+
)
|
91
102
|
|
92
103
|
# Create tier definitions:
|
93
104
|
cls.tier_def_obj = cls.env["tier.definition"]
|
@@ -104,6 +115,46 @@ class CommonTierValidation(common.TransactionCase):
|
|
104
115
|
cls.test_record = cls.test_model.create({"test_field": 2.5})
|
105
116
|
cls.test_record_2 = cls.test_model_2.create({"test_field": 2.5})
|
106
117
|
|
118
|
+
# Create definition for test 28, 29
|
119
|
+
# Main company tier definition
|
120
|
+
cls.tier_def_obj.create(
|
121
|
+
{
|
122
|
+
"model_id": cls.tester_model_2.id,
|
123
|
+
"review_type": "individual",
|
124
|
+
"reviewer_id": cls.test_user_1.id,
|
125
|
+
"definition_domain": "[('test_field', '>=', 1.0)]",
|
126
|
+
"approve_sequence": True,
|
127
|
+
"sequence": 30,
|
128
|
+
"name": "Definition for test 30 - sequence - user 1 - main company",
|
129
|
+
"company_id": cls.main_company.id,
|
130
|
+
}
|
131
|
+
)
|
132
|
+
cls.tier_def_obj.create(
|
133
|
+
{
|
134
|
+
"model_id": cls.tester_model_2.id,
|
135
|
+
"review_type": "individual",
|
136
|
+
"reviewer_id": cls.test_user_3_multi_company.id,
|
137
|
+
"definition_domain": "[('test_field', '>=', 1.0)]",
|
138
|
+
"approve_sequence": True,
|
139
|
+
"sequence": 20,
|
140
|
+
"name": "Definition for test 30 - sequence - user 3 - main company",
|
141
|
+
"company_id": cls.main_company.id,
|
142
|
+
}
|
143
|
+
)
|
144
|
+
# Other company tier definition
|
145
|
+
cls.tier_def_obj.create(
|
146
|
+
{
|
147
|
+
"model_id": cls.tester_model_2.id,
|
148
|
+
"review_type": "individual",
|
149
|
+
"reviewer_id": cls.test_user_3_multi_company.id,
|
150
|
+
"definition_domain": "[('test_field', '>=', 1.0)]",
|
151
|
+
"approve_sequence": True,
|
152
|
+
"sequence": 30,
|
153
|
+
"name": "Definition for test 30 - sequence - user 3 - other company",
|
154
|
+
"company_id": cls.other_company.id,
|
155
|
+
}
|
156
|
+
)
|
157
|
+
|
107
158
|
@classmethod
|
108
159
|
def tearDownClass(cls):
|
109
160
|
cls.loader.restore_registry()
|
@@ -902,7 +902,7 @@ class TierTierValidation(CommonTierValidation):
|
|
902
902
|
)
|
903
903
|
self.assertEqual(self.test_record.test_validation_field, 4)
|
904
904
|
|
905
|
-
def
|
905
|
+
def test_26_reevaluate_validation(self):
|
906
906
|
# Create new test record
|
907
907
|
test_record = self.test_model.create(
|
908
908
|
{"test_field": 100, "test_validation_field": 15}
|
@@ -946,7 +946,7 @@ class TierTierValidation(CommonTierValidation):
|
|
946
946
|
self.assertEqual(len(test_record.review_ids), 2)
|
947
947
|
self.assertIn(old_review, test_record.review_ids)
|
948
948
|
|
949
|
-
def
|
949
|
+
def test_27_reevaluate_validation(self):
|
950
950
|
# Create new test record
|
951
951
|
test_record = self.test_model.create(
|
952
952
|
{"test_field": 100, "test_validation_field": 15}
|
@@ -994,6 +994,62 @@ class TierTierValidation(CommonTierValidation):
|
|
994
994
|
self.assertEqual(len(test_record.review_ids), 2)
|
995
995
|
self.assertIn(old_review, test_record.review_ids)
|
996
996
|
|
997
|
+
def test_28_request_validation_diff_company(self):
|
998
|
+
"""
|
999
|
+
Test validation request behavior with multi-company setup.
|
1000
|
+
|
1001
|
+
Setup:
|
1002
|
+
- Main company has 2 tier definitions:
|
1003
|
+
- One for User1 (sequence 30)
|
1004
|
+
- One for User3 (sequence 20)
|
1005
|
+
- Other company has 1 tier definition:
|
1006
|
+
- One for User3 (sequence 30)
|
1007
|
+
|
1008
|
+
When record's company is set to 'other company':
|
1009
|
+
- Only User3's tier definition from other company should be applied
|
1010
|
+
- Should create only 1 review
|
1011
|
+
"""
|
1012
|
+
self.assertFalse(self.test_record_2.review_ids)
|
1013
|
+
self.assertFalse(self.test_record_2.company_id)
|
1014
|
+
self.assertEqual(self.test_user_3_multi_company.env.company, self.main_company)
|
1015
|
+
|
1016
|
+
self.test_record_2.company_id = self.other_company
|
1017
|
+
|
1018
|
+
reviews = self.test_record_2.with_user(
|
1019
|
+
self.test_user_3_multi_company.id
|
1020
|
+
).request_validation()
|
1021
|
+
self.test_record_2.invalidate_recordset()
|
1022
|
+
|
1023
|
+
self.assertEqual(len(reviews), 1)
|
1024
|
+
|
1025
|
+
def test_29_request_validation_same_company(self):
|
1026
|
+
"""
|
1027
|
+
Test validation request behavior with multi-company setup.
|
1028
|
+
|
1029
|
+
Setup:
|
1030
|
+
- Main company has 2 tier definitions:
|
1031
|
+
- One for User1 (sequence 30)
|
1032
|
+
- One for User3 (sequence 20)
|
1033
|
+
- Other company has 1 tier definition:
|
1034
|
+
- One for User3 (sequence 30)
|
1035
|
+
|
1036
|
+
When record's company is set to 'main company':
|
1037
|
+
- Both User1 and User3's tier definitions from main company should be applied
|
1038
|
+
- Should create 2 reviews
|
1039
|
+
"""
|
1040
|
+
self.assertFalse(self.test_record_2.review_ids)
|
1041
|
+
self.assertFalse(self.test_record_2.company_id)
|
1042
|
+
self.assertEqual(self.test_user_3_multi_company.env.company, self.main_company)
|
1043
|
+
|
1044
|
+
self.test_record_2.company_id = self.main_company
|
1045
|
+
|
1046
|
+
reviews = self.test_record_2.with_user(
|
1047
|
+
self.test_user_3_multi_company.id
|
1048
|
+
).request_validation()
|
1049
|
+
self.test_record_2.invalidate_recordset()
|
1050
|
+
|
1051
|
+
self.assertEqual(len(reviews), 2)
|
1052
|
+
|
997
1053
|
|
998
1054
|
@tagged("at_install")
|
999
1055
|
class TierTierValidationView(CommonTierValidation):
|
@@ -43,6 +43,7 @@ class TierValidationTester2(models.Model):
|
|
43
43
|
test_field = fields.Float()
|
44
44
|
test_validation_field = fields.Float()
|
45
45
|
user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users")
|
46
|
+
company_id = fields.Many2one(comodel_name="res.company")
|
46
47
|
|
47
48
|
def action_confirm(self):
|
48
49
|
self.write({"state": "confirmed"})
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-base_tier_validation
|
3
|
-
Version: 16.0.2.
|
3
|
+
Version: 16.0.2.6.0
|
4
4
|
Summary: Implement a validation process based on tiers.
|
5
5
|
Home-page: https://github.com/OCA/server-ux
|
6
6
|
Author: ForgeFlow, Odoo Community Association (OCA)
|
@@ -23,7 +23,7 @@ Base Tier Validation
|
|
23
23
|
!! This file is generated by oca-gen-addon-readme !!
|
24
24
|
!! changes will be overwritten. !!
|
25
25
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
26
|
-
!! source digest: sha256:
|
26
|
+
!! source digest: sha256:8e99bb2b477c5c3a3ce8a49b2f854341131b246b0a7b1ea30c4e04acf1dbeaec
|
27
27
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
28
28
|
|
29
29
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -1,6 +1,6 @@
|
|
1
|
-
odoo/addons/base_tier_validation/README.rst,sha256=
|
1
|
+
odoo/addons/base_tier_validation/README.rst,sha256=Sxxf574eNVV2IkDmBEPnurzl8SGNNml4a8O0tst5Mc8,7996
|
2
2
|
odoo/addons/base_tier_validation/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
|
3
|
-
odoo/addons/base_tier_validation/__manifest__.py,sha256=
|
3
|
+
odoo/addons/base_tier_validation/__manifest__.py,sha256=79nt4BfpMiUmxKOtt5pvt3ui3L5i_HOiKCu-1ueo5LM,2011
|
4
4
|
odoo/addons/base_tier_validation/data/cron_data.xml,sha256=HMA_SgAk3_vLu_QQLHd0UyzPASuDRj5cvpiK_17esQc,707
|
5
5
|
odoo/addons/base_tier_validation/data/mail_data.xml,sha256=hXhGTSyG2NAsDfZShmpyBKTXJi46L5PP1mFJAlKmlVE,1984
|
6
6
|
odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=Ap_T6TSlEoy4uXvycYBt7EA4SbyymwJWlKWiei7S2KQ,32404
|
@@ -17,7 +17,7 @@ odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=n-i1InkXDc
|
|
17
17
|
odoo/addons/base_tier_validation/models/res_users.py,sha256=JhUZ0NxJ9EPwpkJ-mvsNTrE1avQncGNKqAF-xFxokEo,2638
|
18
18
|
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=rcDv7ySDKqBD1ksJ09um_4Reec_Im1MrdotivQ7Q_44,5173
|
19
19
|
odoo/addons/base_tier_validation/models/tier_review.py,sha256=a7vMoaN4uWZqN48CmlK9x4ou9Ao0r4i6FuSSqPah6Qw,7329
|
20
|
-
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=
|
20
|
+
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=IfVARiZPcmw7y9LauVLFMwc96b_1BNRfZNzK79GQ74A,33179
|
21
21
|
odoo/addons/base_tier_validation/models/tier_validation_exception.py,sha256=9H_FbTF04IyB2u6a82UAdIPmv_MUcFKmLNVl7UOM1lg,2882
|
22
22
|
odoo/addons/base_tier_validation/readme/CONFIGURE.rst,sha256=ABgtWmfnm0QieIj7_ZsvoTHwjaKiZkBLCAjUXJeOnm4,1466
|
23
23
|
odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst,sha256=hyMj4T9es9vnGNmdg-uPF9wc1xGRxC5DU39McI03xjA,479
|
@@ -27,7 +27,7 @@ odoo/addons/base_tier_validation/readme/ROADMAP.rst,sha256=UWhIpMUTM_ido6s3jZiF8
|
|
27
27
|
odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=vsKy73mk8r45jzU0fAt_vfM7-JSH7lIAA7JBr1P6FAY,633
|
28
28
|
odoo/addons/base_tier_validation/security/tier_validation_security.xml,sha256=eWFwz-osHgYFmVoEVzOSboO9oqUMtQ8oygyaz0os50Y,806
|
29
29
|
odoo/addons/base_tier_validation/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
30
|
-
odoo/addons/base_tier_validation/static/description/index.html,sha256=
|
30
|
+
odoo/addons/base_tier_validation/static/description/index.html,sha256=ZNC0M7ADQZ-OVswN0jXecbZWAFxuOuGj1dObLtuY2yw,22306
|
31
31
|
odoo/addons/base_tier_validation/static/src/js/ir_model.esm.js,sha256=kHSA7CeIt02IZmsKJdn2yZVqKqSyQ6_g6QVmtq5Qo2A,706
|
32
32
|
odoo/addons/base_tier_validation/static/src/js/main.esm.js,sha256=ZSHScoLlMQcO6jW9mLVusJOfyH5kJIw4szPK3xU-KHA,263
|
33
33
|
odoo/addons/base_tier_validation/static/src/js/review_group_view.esm.js,sha256=G110cBwOwENHBUkuScOB8Xg05D0FzOqlsSl_US0PngA,1677
|
@@ -45,10 +45,10 @@ odoo/addons/base_tier_validation/static/src/xml/systray.xml,sha256=8W04E80UhUPQp
|
|
45
45
|
odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=o72pPVkPiPmr2KWucaTJahR945MbD4gaYyi3KQn6AyI,6217
|
46
46
|
odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=_LylRMVAyooIRsK8Y-Lanpi_S3ch1Ts9bJkxewKbr3k,4619
|
47
47
|
odoo/addons/base_tier_validation/tests/__init__.py,sha256=7tj1DSbPnyA__lAKxvjX53Ll_ZTE8y8Z1bewtZJoURI,166
|
48
|
-
odoo/addons/base_tier_validation/tests/common.py,sha256=
|
49
|
-
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=
|
48
|
+
odoo/addons/base_tier_validation/tests/common.py,sha256=kCSmRUWy9qcmXfVpJ-ixTOyj7eL4G75x0p25uWEs7to,5918
|
49
|
+
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=jOq6eYzzChn6Pwrv2C32mK17S0Ye3Z_cuJEDuvHWGsQ,43356
|
50
50
|
odoo/addons/base_tier_validation/tests/test_tier_validation_reminder.py,sha256=jsLU-7pJtbUvKPi7ddXU4jAwiJp32pKTrluarrtLKvU,1963
|
51
|
-
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=
|
51
|
+
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=zlpJLmxpgnZhpUJ_kFqRVInQftOkgjT3lQ-uzcjn_F0,1818
|
52
52
|
odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=Al6XKCN1QGLPcgAaXTvEnSTYkwBrzDGfSRh3CQD4g5Q,4234
|
53
53
|
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=KAuJ6EiqNd0vG-eUVZKQLpVME011pDdjDYw93nPr0J8,7450
|
54
54
|
odoo/addons/base_tier_validation/views/tier_review_view.xml,sha256=tPzmpz-kbQwOOtJrAcsTJEP9bJLcfzWAITCpI86kZU4,966
|
@@ -56,7 +56,7 @@ odoo/addons/base_tier_validation/views/tier_validation_exception_view.xml,sha256
|
|
56
56
|
odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
|
57
57
|
odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
|
58
58
|
odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
|
59
|
-
odoo_addon_base_tier_validation-16.0.2.
|
60
|
-
odoo_addon_base_tier_validation-16.0.2.
|
61
|
-
odoo_addon_base_tier_validation-16.0.2.
|
62
|
-
odoo_addon_base_tier_validation-16.0.2.
|
59
|
+
odoo_addon_base_tier_validation-16.0.2.6.0.dist-info/METADATA,sha256=6yz3lwvb6Y8vxcpBqT7K3e4rpsua2o1pHEDLw5vcBHc,8578
|
60
|
+
odoo_addon_base_tier_validation-16.0.2.6.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
61
|
+
odoo_addon_base_tier_validation-16.0.2.6.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
62
|
+
odoo_addon_base_tier_validation-16.0.2.6.0.dist-info/RECORD,,
|
File without changes
|