odoo-addon-base-tier-validation 18.0.1.0.1__py3-none-any.whl → 18.0.1.0.2__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_review.py +5 -1
- odoo/addons/base_tier_validation/models/tier_validation.py +4 -2
- odoo/addons/base_tier_validation/static/description/index.html +1 -1
- odoo/addons/base_tier_validation/tests/test_tier_validation.py +24 -9
- {odoo_addon_base_tier_validation-18.0.1.0.1.dist-info → odoo_addon_base_tier_validation-18.0.1.0.2.dist-info}/METADATA +2 -2
- {odoo_addon_base_tier_validation-18.0.1.0.1.dist-info → odoo_addon_base_tier_validation-18.0.1.0.2.dist-info}/RECORD +10 -10
- {odoo_addon_base_tier_validation-18.0.1.0.1.dist-info → odoo_addon_base_tier_validation-18.0.1.0.2.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-18.0.1.0.1.dist-info → odoo_addon_base_tier_validation-18.0.1.0.2.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:4d84a194fa966bf189b8c9855d85734a26885b8a9c9379469d749217281a4686
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -26,7 +26,11 @@ class TierReview(models.Model):
|
|
26
26
|
default="waiting",
|
27
27
|
)
|
28
28
|
model = fields.Char(string="Related Document Model", index=True)
|
29
|
-
res_id = fields.
|
29
|
+
res_id = fields.Many2oneReference(
|
30
|
+
string="Related Document ID",
|
31
|
+
index=True,
|
32
|
+
model_field="model",
|
33
|
+
)
|
30
34
|
definition_id = fields.Many2one(comodel_name="tier.definition")
|
31
35
|
company_id = fields.Many2one(
|
32
36
|
related="definition_id.company_id",
|
@@ -729,8 +729,9 @@ class TierValidation(models.AbstractModel):
|
|
729
729
|
if rec.evaluate_tier(td):
|
730
730
|
sequence += 1
|
731
731
|
vals_list.append(rec._prepare_tier_review_vals(td, sequence))
|
732
|
-
self._update_counter({"review_created": True})
|
733
732
|
created_trs = tr_obj.create(vals_list)
|
733
|
+
if any(self.mapped("can_review")):
|
734
|
+
self._update_counter({"review_created": True})
|
734
735
|
self._notify_review_requested(created_trs)
|
735
736
|
return created_trs
|
736
737
|
|
@@ -765,8 +766,9 @@ class TierValidation(models.AbstractModel):
|
|
765
766
|
.mapped("partner_id")
|
766
767
|
.ids
|
767
768
|
)
|
769
|
+
can_review = rec.can_review
|
768
770
|
rec.mapped("review_ids").unlink()
|
769
|
-
if to_update_counter:
|
771
|
+
if to_update_counter and can_review:
|
770
772
|
self._update_counter({"review_deleted": True})
|
771
773
|
if partners_to_notify_ids:
|
772
774
|
subscribe = "message_subscribe"
|
@@ -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:4d84a194fa966bf189b8c9855d85734a26885b8a9c9379469d749217281a4686
|
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/18.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-18-0/server-ux-18-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=18.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
|
@@ -131,11 +131,8 @@ class TierTierValidation(CommonTierValidation):
|
|
131
131
|
)
|
132
132
|
# Request validation
|
133
133
|
self.test_record.with_user(self.test_user_2.id).request_validation()
|
134
|
-
self.test_record.invalidate_model()
|
135
134
|
test_record.with_user(self.test_user_2.id).request_validation()
|
136
|
-
test_record.invalidate_model()
|
137
135
|
self.test_record_2.with_user(self.test_user_2.id).request_validation()
|
138
|
-
self.test_record_2.invalidate_model()
|
139
136
|
# Get review user count as systray icon would do and check count value
|
140
137
|
docs = self.test_user_1.with_user(self.test_user_1).review_user_count()
|
141
138
|
for doc in docs:
|
@@ -295,14 +292,14 @@ class TierTierValidation(CommonTierValidation):
|
|
295
292
|
self.assertTrue(reviews)
|
296
293
|
|
297
294
|
record1 = test_record.with_user(self.test_user_1.id)
|
298
|
-
record1.invalidate_model()
|
299
295
|
self.assertTrue(record1.can_review)
|
300
296
|
# Validation will be all by sequence
|
297
|
+
self.assertEqual(len(record1.review_ids), 2)
|
301
298
|
self.assertEqual(
|
302
|
-
|
299
|
+
1, len(record1.review_ids.filtered(lambda x: x.status == "waiting"))
|
303
300
|
)
|
304
301
|
self.assertEqual(
|
305
|
-
|
302
|
+
1, len(record1.review_ids.filtered(lambda x: x.status == "pending"))
|
306
303
|
)
|
307
304
|
record1.validate_tier()
|
308
305
|
self.assertEqual(
|
@@ -311,14 +308,29 @@ class TierTierValidation(CommonTierValidation):
|
|
311
308
|
self.assertEqual(
|
312
309
|
1, len(record1.review_ids.filtered(lambda x: x.status == "pending"))
|
313
310
|
)
|
311
|
+
self.assertEqual(
|
312
|
+
1, len(record1.review_ids.filtered(lambda x: x.status == "approved"))
|
313
|
+
)
|
314
314
|
record1.validate_tier()
|
315
315
|
self.assertEqual(
|
316
316
|
0, len(record1.review_ids.filtered(lambda x: x.status == "waiting"))
|
317
317
|
)
|
318
|
+
self.assertEqual(
|
319
|
+
0, len(record1.review_ids.filtered(lambda x: x.status == "pending"))
|
320
|
+
)
|
321
|
+
self.assertEqual(
|
322
|
+
2, len(record1.review_ids.filtered(lambda x: x.status == "approved"))
|
323
|
+
)
|
318
324
|
record1.validate_tier()
|
325
|
+
self.assertEqual(
|
326
|
+
0, len(record1.review_ids.filtered(lambda x: x.status == "waiting"))
|
327
|
+
)
|
319
328
|
self.assertEqual(
|
320
329
|
0, len(record1.review_ids.filtered(lambda x: x.status == "pending"))
|
321
330
|
)
|
331
|
+
self.assertEqual(
|
332
|
+
2, len(record1.review_ids.filtered(lambda x: x.status == "approved"))
|
333
|
+
)
|
322
334
|
|
323
335
|
def test_12_approve_sequence_same_user_bypassed(self):
|
324
336
|
"""Similar to test_12_approve_sequence, with all same users,
|
@@ -354,14 +366,14 @@ class TierTierValidation(CommonTierValidation):
|
|
354
366
|
self.assertTrue(reviews)
|
355
367
|
|
356
368
|
record1 = test_record.with_user(self.test_user_1.id)
|
357
|
-
record1.invalidate_model()
|
358
369
|
self.assertTrue(record1.can_review)
|
359
370
|
# When the first tier is validated, all the rest will be approved.
|
371
|
+
self.assertEqual(len(record1.review_ids), 2)
|
360
372
|
self.assertEqual(
|
361
|
-
|
373
|
+
1, len(record1.review_ids.filtered(lambda x: x.status == "waiting"))
|
362
374
|
)
|
363
375
|
self.assertEqual(
|
364
|
-
|
376
|
+
1, len(record1.review_ids.filtered(lambda x: x.status == "pending"))
|
365
377
|
)
|
366
378
|
record1.validate_tier()
|
367
379
|
self.assertEqual(
|
@@ -370,6 +382,9 @@ class TierTierValidation(CommonTierValidation):
|
|
370
382
|
self.assertEqual(
|
371
383
|
0, len(record1.review_ids.filtered(lambda x: x.status == "waiting"))
|
372
384
|
)
|
385
|
+
self.assertEqual(
|
386
|
+
2, len(record1.review_ids.filtered(lambda x: x.status == "approved"))
|
387
|
+
)
|
373
388
|
|
374
389
|
def test_13_onchange_review_type(self):
|
375
390
|
tier_def_id = self.tier_def_obj.create(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-base_tier_validation
|
3
|
-
Version: 18.0.1.0.
|
3
|
+
Version: 18.0.1.0.2
|
4
4
|
Requires-Python: >=3.10
|
5
5
|
Requires-Dist: odoo==18.0.*
|
6
6
|
Summary: Implement a validation process based on tiers.
|
@@ -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:4d84a194fa966bf189b8c9855d85734a26885b8a9c9379469d749217281a4686
|
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=qkx4tyVi_58vxE4JzGFar0yOwd70GxA_XMIKD5Ib4kU,9088
|
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=iymnke9SBIZhadXgmXX0NQ0LfhnfLF0U17T9hSOdA4s,1201
|
4
4
|
odoo/addons/base_tier_validation/data/cron_data.xml,sha256=7lNJCyjZPSvpXiccQLG-z5pSGui90Ox0hsjQA56_l4g,619
|
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=oY389tAzqrkQz9RU06DmbNiowyICmI1a5bVx1ZlojVs,31930
|
@@ -17,8 +17,8 @@ odoo/addons/base_tier_validation/models/__init__.py,sha256=X8c8CFM5eOXyIErFr7xsa
|
|
17
17
|
odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=xMdQiCfU5p7Z5puKcSRvJihLpI9ulyVFUd_QJjAOuwc,619
|
18
18
|
odoo/addons/base_tier_validation/models/res_users.py,sha256=V65OZZ-ktYFs5Vm5oxlbhTia09rdrtbWGQF9JnQzbBA,2183
|
19
19
|
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=r1aCQJBDKYxoamgLuWVxCZHRx39CzcnuVPnQYHMGXnA,5901
|
20
|
-
odoo/addons/base_tier_validation/models/tier_review.py,sha256=
|
21
|
-
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=
|
20
|
+
odoo/addons/base_tier_validation/models/tier_review.py,sha256=b1z-Nx7yUqhGul8eHQetHQPlqix-7roSEYfzDdATJ-Q,8292
|
21
|
+
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=iPsGTv35ThvFRcW-8M8ywvSd_0XUXauVTDWrCqlG0WQ,35804
|
22
22
|
odoo/addons/base_tier_validation/models/tier_validation_exception.py,sha256=8AuFyX9wDyux5puLNQZd6QuvUuqZKZmha11c11uZuS8,3021
|
23
23
|
odoo/addons/base_tier_validation/readme/CONFIGURE.md,sha256=MuyVCH75T0_3Rtrkl7RUg7XzxjoU7zUkbPWv84_a-XU,1709
|
24
24
|
odoo/addons/base_tier_validation/readme/CONTRIBUTORS.md,sha256=qLNyJqdNmLTkT9MAMGyL0ULd3vtTCrJFDXWehyJOXXo,738
|
@@ -30,7 +30,7 @@ odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=_NMShHIoKCQ
|
|
30
30
|
odoo/addons/base_tier_validation/security/tier_validation_security.xml,sha256=FA3lm5R4sEKrpEJmmqM9N3bRYuOUeYqhfmdXHMRF-Uo,724
|
31
31
|
odoo/addons/base_tier_validation/static/description/icon.png,sha256=ocMS0YO1xbJs6kkXqCuw71UnsCa_4d1U5cMvzcKSH2U,4993
|
32
32
|
odoo/addons/base_tier_validation/static/description/icon.svg,sha256=SBeR3DJDE_jBR3Z92Yn3r7WPOkpsRlOd61t1Tuk7M_A,2684
|
33
|
-
odoo/addons/base_tier_validation/static/description/index.html,sha256=
|
33
|
+
odoo/addons/base_tier_validation/static/description/index.html,sha256=U5oUqm8pXIX4GcmCi2XB5BhwXy05obIPURnFu0UfowY,24298
|
34
34
|
odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.esm.js,sha256=LZhT9W17yecXeX7U6iwcwB4Ns_inM0kd91jl5hG2tBI,2162
|
35
35
|
odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml,sha256=Xkal2szcRU1QYAwNSB6-QFRbKs7aP66kBGdCidhri8I,3151
|
36
36
|
odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.esm.js,sha256=30ncVXFkj-5ws0gBWJGADabzf_SNHC5xnhjnVaSEZWk,1211
|
@@ -40,7 +40,7 @@ odoo/addons/base_tier_validation/static/src/js/services/tier_review_service.esm.
|
|
40
40
|
odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=jk7sOuu7Z_AJYLD1rwYBIrYK0Qlh66guQGoE0fEiqpo,3230
|
41
41
|
odoo/addons/base_tier_validation/tests/__init__.py,sha256=7tj1DSbPnyA__lAKxvjX53Ll_ZTE8y8Z1bewtZJoURI,166
|
42
42
|
odoo/addons/base_tier_validation/tests/common.py,sha256=qC5dIEkY_Q1J6maro234cK9-lTBqO_E0J0_8d2_mQhg,5823
|
43
|
-
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=
|
43
|
+
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=WVZNMIGu2Rh0EjwuVUVuoLXBUgjy2yzqEK2OhR4J8zM,43283
|
44
44
|
odoo/addons/base_tier_validation/tests/test_tier_validation_reminder.py,sha256=jsLU-7pJtbUvKPi7ddXU4jAwiJp32pKTrluarrtLKvU,1963
|
45
45
|
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=m25QbB9-9Goxx1Fiz0qwsVO3WPL6jrtMlGDW6VQbLik,3345
|
46
46
|
odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=5HbrsAVaXRoQNX7utIQ_EzZrqzKnwBrV9uHsi-PHb9M,2640
|
@@ -50,7 +50,7 @@ odoo/addons/base_tier_validation/views/tier_validation_exception_view.xml,sha256
|
|
50
50
|
odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
|
51
51
|
odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
|
52
52
|
odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
|
53
|
-
odoo_addon_base_tier_validation-18.0.1.0.
|
54
|
-
odoo_addon_base_tier_validation-18.0.1.0.
|
55
|
-
odoo_addon_base_tier_validation-18.0.1.0.
|
56
|
-
odoo_addon_base_tier_validation-18.0.1.0.
|
53
|
+
odoo_addon_base_tier_validation-18.0.1.0.2.dist-info/METADATA,sha256=qJpqZo3JMZpeZD0zhurxDltOgSHweVwBVgO2YuqM24I,9662
|
54
|
+
odoo_addon_base_tier_validation-18.0.1.0.2.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
55
|
+
odoo_addon_base_tier_validation-18.0.1.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
56
|
+
odoo_addon_base_tier_validation-18.0.1.0.2.dist-info/RECORD,,
|
File without changes
|