odoo-addon-base-tier-validation 16.0.1.6.1.7__py3-none-any.whl → 16.0.2.0.0.1__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 +19 -2
- odoo/addons/base_tier_validation/__manifest__.py +2 -1
- odoo/addons/base_tier_validation/i18n/base_tier_validation.pot +119 -3
- odoo/addons/base_tier_validation/i18n/es.po +155 -16
- odoo/addons/base_tier_validation/i18n/es_MX.po +124 -4
- odoo/addons/base_tier_validation/i18n/fr.po +124 -4
- odoo/addons/base_tier_validation/i18n/it.po +124 -4
- odoo/addons/base_tier_validation/i18n/nl_NL.po +124 -4
- odoo/addons/base_tier_validation/i18n/sv.po +124 -4
- odoo/addons/base_tier_validation/i18n/tr.po +124 -4
- odoo/addons/base_tier_validation/i18n/zh_CN.po +124 -4
- odoo/addons/base_tier_validation/models/__init__.py +1 -0
- odoo/addons/base_tier_validation/models/tier_validation.py +113 -4
- odoo/addons/base_tier_validation/models/tier_validation_exception.py +91 -0
- odoo/addons/base_tier_validation/readme/CONFIGURE.rst +17 -1
- odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst +1 -0
- odoo/addons/base_tier_validation/security/ir.model.access.csv +2 -0
- odoo/addons/base_tier_validation/static/description/index.html +18 -2
- odoo/addons/base_tier_validation/tests/test_tier_validation.py +54 -0
- odoo/addons/base_tier_validation/tests/tier_validation_tester.py +2 -0
- odoo/addons/base_tier_validation/views/tier_definition_view.xml +1 -0
- odoo/addons/base_tier_validation/views/tier_validation_exception_view.xml +112 -0
- {odoo_addon_base_tier_validation-16.0.1.6.1.7.dist-info → odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info}/METADATA +20 -3
- {odoo_addon_base_tier_validation-16.0.1.6.1.7.dist-info → odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info}/RECORD +26 -24
- {odoo_addon_base_tier_validation-16.0.1.6.1.7.dist-info → odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-16.0.1.6.1.7.dist-info → odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,14 @@
|
|
1
1
|
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
2
2
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
3
3
|
|
4
|
+
from unittest import mock
|
5
|
+
|
4
6
|
from lxml import etree
|
5
7
|
|
6
8
|
from odoo.exceptions import ValidationError
|
7
9
|
from odoo.tests.common import Form, tagged
|
8
10
|
|
11
|
+
from ..models.tier_validation import BASE_EXCEPTION_FIELDS as BEF, TierValidation as TV
|
9
12
|
from .common import CommonTierValidation
|
10
13
|
|
11
14
|
|
@@ -851,6 +854,57 @@ class TierTierValidation(CommonTierValidation):
|
|
851
854
|
)
|
852
855
|
self.assertEqual(notifications_no_2, notifications_no_1)
|
853
856
|
|
857
|
+
def test_25_change_field_exception_validation(self):
|
858
|
+
"""Test under and after validations"""
|
859
|
+
# Cannot create `tier.validation.exception` records because
|
860
|
+
# `tier.validation.tester` are fake model and its fields are
|
861
|
+
# not propagated to the DDBB and cannot read from `ir.model.fields`.
|
862
|
+
# We will use the mock.patch instead.
|
863
|
+
_tvf = ["test_validation_field"]
|
864
|
+
_rv = _tvf + BEF
|
865
|
+
self.assertEqual(self.test_record.test_validation_field, 0)
|
866
|
+
self.assertFalse(self.test_record.review_ids)
|
867
|
+
reviews = self.test_record.with_user(self.test_user_2.id).request_validation()
|
868
|
+
self.assertTrue(reviews)
|
869
|
+
self.test_record.invalidate_model()
|
870
|
+
self.assertTrue(self.test_record.review_ids)
|
871
|
+
# Unable to write test_validation_field under validation
|
872
|
+
with self.assertRaises(ValidationError):
|
873
|
+
self.test_record.with_user(self.test_user_2.id).write(
|
874
|
+
{"test_validation_field": 1}
|
875
|
+
)
|
876
|
+
# Able to write test_validation_field under validation
|
877
|
+
with mock.patch.object(
|
878
|
+
TV, "_get_under_validation_exceptions", return_value=_rv
|
879
|
+
):
|
880
|
+
self.test_record.with_user(self.test_user_2.id).write(
|
881
|
+
{"test_validation_field": 2}
|
882
|
+
)
|
883
|
+
self.assertEqual(self.test_record.test_validation_field, 2)
|
884
|
+
# Validate record
|
885
|
+
record = self.test_record.with_user(self.test_user_1.id)
|
886
|
+
record.invalidate_model()
|
887
|
+
record.validate_tier()
|
888
|
+
record.action_confirm()
|
889
|
+
self.assertTrue(record.validated)
|
890
|
+
# Unable to write test_validation_field after validation
|
891
|
+
with self.assertRaises(ValidationError):
|
892
|
+
# Simulate there are fields, but not test_validation_field
|
893
|
+
with mock.patch.object(TV, "_get_validation_exceptions", return_value=BEF):
|
894
|
+
self.test_record.with_user(self.test_user_2.id).write(
|
895
|
+
{"test_validation_field": 3}
|
896
|
+
)
|
897
|
+
# Able to write test_validation_field after validation
|
898
|
+
with mock.patch.multiple(
|
899
|
+
TV,
|
900
|
+
_get_validation_exceptions=mock.MagicMock(return_value=_tvf),
|
901
|
+
_get_after_validation_exceptions=mock.MagicMock(return_value=_rv),
|
902
|
+
):
|
903
|
+
self.test_record.with_user(self.test_user_2.id).write(
|
904
|
+
{"test_validation_field": 4}
|
905
|
+
)
|
906
|
+
self.assertEqual(self.test_record.test_validation_field, 4)
|
907
|
+
|
854
908
|
|
855
909
|
@tagged("at_install")
|
856
910
|
class TierTierValidationView(CommonTierValidation):
|
@@ -18,6 +18,7 @@ class TierValidationTester(models.Model):
|
|
18
18
|
],
|
19
19
|
default="draft",
|
20
20
|
)
|
21
|
+
test_validation_field = fields.Integer(default=0)
|
21
22
|
test_field = fields.Float()
|
22
23
|
user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users")
|
23
24
|
|
@@ -40,6 +41,7 @@ class TierValidationTester2(models.Model):
|
|
40
41
|
default="draft",
|
41
42
|
)
|
42
43
|
test_field = fields.Float()
|
44
|
+
test_validation_field = fields.Float()
|
43
45
|
user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users")
|
44
46
|
|
45
47
|
def action_confirm(self):
|
@@ -0,0 +1,112 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
+
<!-- Copyright 2024 Moduon Team (https://www.moduon.team)
|
3
|
+
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
4
|
+
<odoo>
|
5
|
+
<record id="tier_validation_exception_tree" model="ir.ui.view">
|
6
|
+
<field name="name">tier.validation.exception.tree</field>
|
7
|
+
<field name="model">tier.validation.exception</field>
|
8
|
+
<field name="arch" type="xml">
|
9
|
+
<tree>
|
10
|
+
<field name="model_id" />
|
11
|
+
<field name="field_ids" widget="many2many_tags" optional="show" />
|
12
|
+
<field name="company_id" groups="base.group_multi_company" />
|
13
|
+
<field name="allowed_to_write_under_validation" />
|
14
|
+
<field name="allowed_to_write_after_validation" />
|
15
|
+
</tree>
|
16
|
+
</field>
|
17
|
+
</record>
|
18
|
+
|
19
|
+
<record id="tier_validation_exception_form" model="ir.ui.view">
|
20
|
+
<field name="name">tier.validation.exception.form</field>
|
21
|
+
<field name="model">tier.validation.exception</field>
|
22
|
+
<field name="arch" type="xml">
|
23
|
+
<form string="Tier Validation Exception">
|
24
|
+
<sheet>
|
25
|
+
<div class="oe_title">
|
26
|
+
<span class="oe_edit_only">Model</span>
|
27
|
+
<h1>
|
28
|
+
<field
|
29
|
+
name="model_id"
|
30
|
+
options="{'no_create': True, 'no_open': True}"
|
31
|
+
/>
|
32
|
+
</h1>
|
33
|
+
</div>
|
34
|
+
<group>
|
35
|
+
<group name="left">
|
36
|
+
<field name="valid_model_field_ids" invisible="1" />
|
37
|
+
<field
|
38
|
+
name="field_ids"
|
39
|
+
widget="many2many_tags"
|
40
|
+
options="{'no_create': True}"
|
41
|
+
/>
|
42
|
+
<field
|
43
|
+
name="company_id"
|
44
|
+
groups="base.group_multi_company"
|
45
|
+
/>
|
46
|
+
</group>
|
47
|
+
<group name="right">
|
48
|
+
<field name="allowed_to_write_under_validation" />
|
49
|
+
<field name="allowed_to_write_after_validation" />
|
50
|
+
</group>
|
51
|
+
</group>
|
52
|
+
</sheet>
|
53
|
+
</form>
|
54
|
+
</field>
|
55
|
+
</record>
|
56
|
+
|
57
|
+
<record id="tier_validation_exception_search" model="ir.ui.view">
|
58
|
+
<field name="name">tier.validation.exception.search</field>
|
59
|
+
<field name="model">tier.validation.exception</field>
|
60
|
+
<field name="arch" type="xml">
|
61
|
+
<search>
|
62
|
+
<field name="model_id" />
|
63
|
+
<field name="field_ids" />
|
64
|
+
<field name="company_id" groups="base.group_multi_company" />
|
65
|
+
<separator />
|
66
|
+
<filter
|
67
|
+
string="Write under validation"
|
68
|
+
name="flt_allowed_to_write_under_validation_true"
|
69
|
+
domain="[('allowed_to_write_under_validation', '=', True)]"
|
70
|
+
/>
|
71
|
+
<filter
|
72
|
+
string="Write after validation"
|
73
|
+
name="flt_allowed_to_write_after_validation_true"
|
74
|
+
domain="[('allowed_to_write_after_validation', '=', True)]"
|
75
|
+
/>
|
76
|
+
<group>
|
77
|
+
<filter
|
78
|
+
string="Company"
|
79
|
+
name="grp_company"
|
80
|
+
domain="[]"
|
81
|
+
context="{'group_by': 'company_id'}"
|
82
|
+
/>
|
83
|
+
</group>
|
84
|
+
</search>
|
85
|
+
</field>
|
86
|
+
</record>
|
87
|
+
|
88
|
+
<record id="tier_validation_exception_action" model="ir.actions.act_window">
|
89
|
+
<field name="name">Tier Validation Exception</field>
|
90
|
+
<field name="type">ir.actions.act_window</field>
|
91
|
+
<field name="res_model">tier.validation.exception</field>
|
92
|
+
<field name="view_mode">tree,form</field>
|
93
|
+
<field name="help" type="html">
|
94
|
+
<p
|
95
|
+
class="o_view_nocontent_smiling_face"
|
96
|
+
>Create a new Validation Exception!</p>
|
97
|
+
<p
|
98
|
+
>Once created, you can decide which fields you want to be editable when the record:</p>
|
99
|
+
<ul>
|
100
|
+
<li>It's in the validation process</li>
|
101
|
+
<li>It's fully validated</li>
|
102
|
+
</ul>
|
103
|
+
</field>
|
104
|
+
</record>
|
105
|
+
|
106
|
+
<menuitem
|
107
|
+
id="menu_tier_validation_exception"
|
108
|
+
parent="menu_tier_confirmation"
|
109
|
+
action="tier_validation_exception_action"
|
110
|
+
sequence="20"
|
111
|
+
/>
|
112
|
+
</odoo>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-base-tier-validation
|
3
|
-
Version: 16.0.
|
3
|
+
Version: 16.0.2.0.0.1
|
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)
|
@@ -24,7 +24,7 @@ Base Tier Validation
|
|
24
24
|
!! This file is generated by oca-gen-addon-readme !!
|
25
25
|
!! changes will be overwritten. !!
|
26
26
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
27
|
-
!! source digest: sha256:
|
27
|
+
!! source digest: sha256:96dd88954cc47c46ce173ae508cecc92f6ce9faaddfe344d79f21dc67cbd4ed4
|
28
28
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
29
29
|
|
30
30
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -67,7 +67,7 @@ See `purchase_tier_validation <https://github.com/OCA/purchase-workflow>`_ as an
|
|
67
67
|
Configuration
|
68
68
|
=============
|
69
69
|
|
70
|
-
To configure
|
70
|
+
To configure Tier Validations, you need to:
|
71
71
|
|
72
72
|
#. Go to *Settings > Technical > Tier Validations > Tier Definition*.
|
73
73
|
#. Create as many tiers as you want for any model having tier validation
|
@@ -79,6 +79,22 @@ To configure this module, you need to:
|
|
79
79
|
* If check *Comment*, reviewers can comment after click Validate or Reject.
|
80
80
|
* If check *Approve by sequence*, reviewers is forced to review by specified sequence.
|
81
81
|
|
82
|
+
|
83
|
+
To configure Tier Validation Exceptions, you need to:
|
84
|
+
|
85
|
+
#. Go to *Settings > Technical > Tier Validations > Tier Validation Exceptions*.
|
86
|
+
#. Create as many tiers validation exceptions as you want for any model
|
87
|
+
having tier validation functionality.
|
88
|
+
#. Add desired fields to be checked in *Fields*.
|
89
|
+
#. You must check *Write under Validation*, *Write after Validation* or both.
|
90
|
+
|
91
|
+
**Note:**
|
92
|
+
|
93
|
+
* If you don't create any exception, the Validated record will be readonly and cannot be modified.
|
94
|
+
* If check *Write under Validation*, records will be able to be modified only in the defined fields when the Validation process is ongoing.
|
95
|
+
* If check *Write after Validation*, records will be able to be modified only in the defined fields when the Validation process is finished.
|
96
|
+
* If check *Write after Validation* and *Write under Validation*, records will be able to be modified defined fields always.
|
97
|
+
|
82
98
|
Known issues / Roadmap
|
83
99
|
======================
|
84
100
|
|
@@ -228,6 +244,7 @@ Contributors
|
|
228
244
|
* Saran Lim. <saranl@ecosoft.co.th>
|
229
245
|
* Evan Soh <evan.soh@omnisoftsolution.com>
|
230
246
|
* Manuel Regidor <manuel.regidor@sygel.es>
|
247
|
+
* Eduardo de Miguel <edu@moduon.team>
|
231
248
|
|
232
249
|
Maintainers
|
233
250
|
~~~~~~~~~~~
|
@@ -1,31 +1,32 @@
|
|
1
|
-
odoo/addons/base_tier_validation/README.rst,sha256=
|
1
|
+
odoo/addons/base_tier_validation/README.rst,sha256=OfE4t31L2TdXDDZCNka1TcIgffYe8GVQUyxaHff_0_Q,7860
|
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=Iw0iSZkiZuLnUECbM_TrANpBO1IbVQxI88_ft63dkTs,1981
|
4
4
|
odoo/addons/base_tier_validation/data/mail_data.xml,sha256=UKzkLT8rYrFuThdp43v7nLW5SOco4vvIIAhbB_IAQZs,1414
|
5
|
-
odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=
|
6
|
-
odoo/addons/base_tier_validation/i18n/es.po,sha256=
|
7
|
-
odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=
|
8
|
-
odoo/addons/base_tier_validation/i18n/fr.po,sha256=
|
9
|
-
odoo/addons/base_tier_validation/i18n/it.po,sha256=
|
10
|
-
odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=
|
11
|
-
odoo/addons/base_tier_validation/i18n/sv.po,sha256=
|
12
|
-
odoo/addons/base_tier_validation/i18n/tr.po,sha256=
|
13
|
-
odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=
|
14
|
-
odoo/addons/base_tier_validation/models/__init__.py,sha256=
|
5
|
+
odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=tjBb6cPH4duehiALYPCjilMfpi2d4W2mPXnoUH-V4pY,30749
|
6
|
+
odoo/addons/base_tier_validation/i18n/es.po,sha256=LIpRW8CCAMan5g-xoTt6l5AKcPoJLIZkTFqKO2njHmk,35508
|
7
|
+
odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=A2ZtQf0jKFV-a3CxoLt4RusmonkWvOD_sZTZKzloc6o,33545
|
8
|
+
odoo/addons/base_tier_validation/i18n/fr.po,sha256=JRvttgVPysYFj5tUhdM2Mtn0UYmVzXt517NHU7sG5aQ,34403
|
9
|
+
odoo/addons/base_tier_validation/i18n/it.po,sha256=45yRkQ0exzZUZ1wI4qwU7hAwoKqBZBJrcW7z1TJP5rA,34730
|
10
|
+
odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=S4ghvKbXLstVliqOLMXHPx26dF2hM99Ve1smxOXMYbw,34426
|
11
|
+
odoo/addons/base_tier_validation/i18n/sv.po,sha256=YvdvJGsljRAE6tC4w7SDSU6GmD9X9p4aJ_xT2U-ApxU,34415
|
12
|
+
odoo/addons/base_tier_validation/i18n/tr.po,sha256=nhUe8LK0O_MGiaS_TijExdaYpsHznAGuznGqtUCOlkg,33447
|
13
|
+
odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=_sjdO5i11upznaLofqjKJaocSqKwHcMt9ThSfKUSKXw,32515
|
14
|
+
odoo/addons/base_tier_validation/models/__init__.py,sha256=X8c8CFM5eOXyIErFr7xsaGDBPZMBSKE2v4W-_2h9B2s,250
|
15
15
|
odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=n-i1InkXDcFrKmNkTCWtxcDSaxIAvxY7JsU5NrufmmA,617
|
16
16
|
odoo/addons/base_tier_validation/models/res_users.py,sha256=JhUZ0NxJ9EPwpkJ-mvsNTrE1avQncGNKqAF-xFxokEo,2638
|
17
17
|
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=uf_HVz9NmWTHyV5Z-584Li_DQgXfwdTRUW-LsNJJYGc,3757
|
18
18
|
odoo/addons/base_tier_validation/models/tier_review.py,sha256=l7eOgr0fSg4_C42JwNDnUOIs-CKHYzvIDWPtDmu5Sm8,5669
|
19
|
-
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=
|
20
|
-
odoo/addons/base_tier_validation/
|
21
|
-
odoo/addons/base_tier_validation/readme/
|
19
|
+
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=ohVvo88oau44QIZ4Hj9KzW1N6flZIOU8tlUAn7XV3Eo,30919
|
20
|
+
odoo/addons/base_tier_validation/models/tier_validation_exception.py,sha256=cxZ92ZuiguUblRG1rhxdoLpvuomh6Rx5rIFC4Z7khpg,2899
|
21
|
+
odoo/addons/base_tier_validation/readme/CONFIGURE.rst,sha256=dm3ZSaI_XGc02eMWpo39iNcPxRfFJDv5fG02kUNFQPY,1403
|
22
|
+
odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst,sha256=8y6Y3oIQodx0W7JKaUK9asvrvZbIPQCC6jTpms_HjuY,406
|
22
23
|
odoo/addons/base_tier_validation/readme/DESCRIPTION.rst,sha256=MFbI1iBk0moWjdQUueJa05am8-JfIiiLRSyGgi1NBFY,653
|
23
24
|
odoo/addons/base_tier_validation/readme/HISTORY.rst,sha256=YAvhjBTl1mz8-V5WxMmn3wwwSCcPwnczeRQtkxNmqBU,1440
|
24
25
|
odoo/addons/base_tier_validation/readme/ROADMAP.rst,sha256=UWhIpMUTM_ido6s3jZiF8YYkAyC-mhMjAGJx6vGEn3w,867
|
25
|
-
odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=
|
26
|
+
odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=vsKy73mk8r45jzU0fAt_vfM7-JSH7lIAA7JBr1P6FAY,633
|
26
27
|
odoo/addons/base_tier_validation/security/tier_validation_security.xml,sha256=eWFwz-osHgYFmVoEVzOSboO9oqUMtQ8oygyaz0os50Y,806
|
27
28
|
odoo/addons/base_tier_validation/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
28
|
-
odoo/addons/base_tier_validation/static/description/index.html,sha256=
|
29
|
+
odoo/addons/base_tier_validation/static/description/index.html,sha256=YWtlVtRMDFheB1bOJLPFH-xWx16N3nYFiiwBJfLfimk,22016
|
29
30
|
odoo/addons/base_tier_validation/static/src/js/ir_model.esm.js,sha256=kHSA7CeIt02IZmsKJdn2yZVqKqSyQ6_g6QVmtq5Qo2A,706
|
30
31
|
odoo/addons/base_tier_validation/static/src/js/main.esm.js,sha256=ZSHScoLlMQcO6jW9mLVusJOfyH5kJIw4szPK3xU-KHA,263
|
31
32
|
odoo/addons/base_tier_validation/static/src/js/review_group_view.esm.js,sha256=G110cBwOwENHBUkuScOB8Xg05D0FzOqlsSl_US0PngA,1677
|
@@ -44,15 +45,16 @@ odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=
|
|
44
45
|
odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=NwfcLocCkMQDHQOsrybNmhSXL4M_sXAfDjCiX8L2C1s,4054
|
45
46
|
odoo/addons/base_tier_validation/tests/__init__.py,sha256=3z2_lQ9JiDSFDam4p24qDw5j02iaPb4m2naxv9DkbGA,122
|
46
47
|
odoo/addons/base_tier_validation/tests/common.py,sha256=iJ5JFDbxPOuQdG15fPkp3WLg3181oFgVD9-ZM9pFnUk,3058
|
47
|
-
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=
|
48
|
-
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=
|
48
|
+
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=u2p6FZuLYsx4Ol1quw6wresVtvxkbp87Nbof4qid_KA,38308
|
49
|
+
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=3usFbhfDhlKIWbVu--3qsbsm52B6RwTP4zy244dY1yk,1757
|
49
50
|
odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=Al6XKCN1QGLPcgAaXTvEnSTYkwBrzDGfSRh3CQD4g5Q,4234
|
50
|
-
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=
|
51
|
+
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=8Tb0e1WiMsex_FVc2HZbZb0gCUFYML_a4qnx-IBLwTQ,7135
|
51
52
|
odoo/addons/base_tier_validation/views/tier_review_view.xml,sha256=tPzmpz-kbQwOOtJrAcsTJEP9bJLcfzWAITCpI86kZU4,966
|
53
|
+
odoo/addons/base_tier_validation/views/tier_validation_exception_view.xml,sha256=aLh_jOIpEl4ScujerORyc2e4ANNVce3GVVf7Jo3waPg,4685
|
52
54
|
odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
|
53
55
|
odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
|
54
56
|
odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
|
55
|
-
odoo_addon_base_tier_validation-16.0.
|
56
|
-
odoo_addon_base_tier_validation-16.0.
|
57
|
-
odoo_addon_base_tier_validation-16.0.
|
58
|
-
odoo_addon_base_tier_validation-16.0.
|
57
|
+
odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info/METADATA,sha256=Dn_Q6GI5aWC7z6_EeLDw_rXwBfCX9eJoQZvQ5FMq4SY,8465
|
58
|
+
odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
59
|
+
odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
60
|
+
odoo_addon_base_tier_validation-16.0.2.0.0.1.dist-info/RECORD,,
|
File without changes
|