odoo-addon-base-tier-validation 16.0.2.2.2.3__py3-none-any.whl → 16.0.2.3.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.
@@ -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:f09a6ac42502605dac3f91f6a5e27e786f1f5bc212ec8641d692a5e551043be3
10
+ !! source digest: sha256:b8ad9914d3d83a36f03df6d1027d6d363fbce13a577a647069407aa865d65e24
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "Base Tier Validation",
5
5
  "summary": "Implement a validation process based on tiers.",
6
- "version": "16.0.2.2.2",
6
+ "version": "16.0.2.3.0",
7
7
  "development_status": "Mature",
8
8
  "maintainers": ["LoisRForgeFlow"],
9
9
  "category": "Tools",
@@ -363,6 +363,11 @@ msgid ""
363
363
  "definition are restarted."
364
364
  msgstr ""
365
365
 
366
+ #. module: base_tier_validation
367
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
368
+ msgid "Is Reevaluation Required"
369
+ msgstr ""
370
+
366
371
  #. module: base_tier_validation
367
372
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
368
373
  msgid "It's fully validated"
@@ -523,6 +528,11 @@ msgstr ""
523
528
  msgid "Pending"
524
529
  msgstr ""
525
530
 
531
+ #. module: base_tier_validation
532
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
533
+ msgid "Reevaluate Reviews"
534
+ msgstr ""
535
+
526
536
  #. module: base_tier_validation
527
537
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
528
538
  msgid "Referenced Model"
@@ -381,6 +381,11 @@ msgstr ""
381
381
  "Si está establecido, los revisores serán notificados por email cuando una "
382
382
  "revisión relativa a ésta definición se ha reiniciado."
383
383
 
384
+ #. module: base_tier_validation
385
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
386
+ msgid "Is Reevaluation Required"
387
+ msgstr ""
388
+
384
389
  #. module: base_tier_validation
385
390
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
386
391
  msgid "It's fully validated"
@@ -546,6 +551,11 @@ msgstr ""
546
551
  msgid "Pending"
547
552
  msgstr "Pendiente"
548
553
 
554
+ #. module: base_tier_validation
555
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
556
+ msgid "Reevaluate Reviews"
557
+ msgstr ""
558
+
549
559
  #. module: base_tier_validation
550
560
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
551
561
  msgid "Referenced Model"
@@ -371,6 +371,11 @@ msgid ""
371
371
  "definition are restarted."
372
372
  msgstr ""
373
373
 
374
+ #. module: base_tier_validation
375
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
376
+ msgid "Is Reevaluation Required"
377
+ msgstr ""
378
+
374
379
  #. module: base_tier_validation
375
380
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
376
381
  msgid "It's fully validated"
@@ -531,6 +536,11 @@ msgstr ""
531
536
  msgid "Pending"
532
537
  msgstr "Pendiente"
533
538
 
539
+ #. module: base_tier_validation
540
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
541
+ msgid "Reevaluate Reviews"
542
+ msgstr ""
543
+
534
544
  #. module: base_tier_validation
535
545
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
536
546
  msgid "Referenced Model"
@@ -384,6 +384,11 @@ msgstr ""
384
384
  "Si défini, les réviseurs seront notifiés par email quand une revue liée à "
385
385
  "cette définition est recommencée."
386
386
 
387
+ #. module: base_tier_validation
388
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
389
+ msgid "Is Reevaluation Required"
390
+ msgstr ""
391
+
387
392
  #. module: base_tier_validation
388
393
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
389
394
  msgid "It's fully validated"
@@ -552,6 +557,11 @@ msgstr ""
552
557
  msgid "Pending"
553
558
  msgstr "En attente"
554
559
 
560
+ #. module: base_tier_validation
561
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
562
+ msgid "Reevaluate Reviews"
563
+ msgstr ""
564
+
555
565
  #. module: base_tier_validation
556
566
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
557
567
  msgid "Referenced Model"
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: Odoo Server 14.0\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
- "PO-Revision-Date: 2024-08-26 12:06+0000\n"
9
+ "PO-Revision-Date: 2025-01-05 19:06+0000\n"
10
10
  "Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11
11
  "Language-Team: none\n"
12
12
  "Language: it\n"
@@ -383,6 +383,11 @@ msgstr ""
383
383
  "Se impostata, i revisori verranno avvisati con e-mail quando una revisione "
384
384
  "relativa a questa definizione viene riavviata."
385
385
 
386
+ #. module: base_tier_validation
387
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
388
+ msgid "Is Reevaluation Required"
389
+ msgstr "È richiesta la rivalutazione"
390
+
386
391
  #. module: base_tier_validation
387
392
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
388
393
  msgid "It's fully validated"
@@ -550,6 +555,11 @@ msgstr ""
550
555
  msgid "Pending"
551
556
  msgstr "In attesa"
552
557
 
558
+ #. module: base_tier_validation
559
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
560
+ msgid "Reevaluate Reviews"
561
+ msgstr "Rivalutazione revisioni"
562
+
553
563
  #. module: base_tier_validation
554
564
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
555
565
  msgid "Referenced Model"
@@ -375,6 +375,11 @@ msgid ""
375
375
  "definition are restarted."
376
376
  msgstr ""
377
377
 
378
+ #. module: base_tier_validation
379
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
380
+ msgid "Is Reevaluation Required"
381
+ msgstr ""
382
+
378
383
  #. module: base_tier_validation
379
384
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
380
385
  msgid "It's fully validated"
@@ -538,6 +543,11 @@ msgstr ""
538
543
  msgid "Pending"
539
544
  msgstr "In afwachting"
540
545
 
546
+ #. module: base_tier_validation
547
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
548
+ msgid "Reevaluate Reviews"
549
+ msgstr ""
550
+
541
551
  #. module: base_tier_validation
542
552
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
543
553
  msgid "Referenced Model"
@@ -373,6 +373,11 @@ msgid ""
373
373
  "definition are restarted."
374
374
  msgstr ""
375
375
 
376
+ #. module: base_tier_validation
377
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
378
+ msgid "Is Reevaluation Required"
379
+ msgstr ""
380
+
376
381
  #. module: base_tier_validation
377
382
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
378
383
  msgid "It's fully validated"
@@ -537,6 +542,11 @@ msgstr ""
537
542
  msgid "Pending"
538
543
  msgstr "Väntande"
539
544
 
545
+ #. module: base_tier_validation
546
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
547
+ msgid "Reevaluate Reviews"
548
+ msgstr ""
549
+
540
550
  #. module: base_tier_validation
541
551
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
542
552
  msgid "Referenced Model"
@@ -370,6 +370,11 @@ msgid ""
370
370
  "definition are restarted."
371
371
  msgstr ""
372
372
 
373
+ #. module: base_tier_validation
374
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
375
+ msgid "Is Reevaluation Required"
376
+ msgstr ""
377
+
373
378
  #. module: base_tier_validation
374
379
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
375
380
  msgid "It's fully validated"
@@ -530,6 +535,11 @@ msgstr ""
530
535
  msgid "Pending"
531
536
  msgstr "Bekleyen"
532
537
 
538
+ #. module: base_tier_validation
539
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
540
+ msgid "Reevaluate Reviews"
541
+ msgstr ""
542
+
533
543
  #. module: base_tier_validation
534
544
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
535
545
  msgid "Referenced Model"
@@ -366,6 +366,11 @@ msgid ""
366
366
  "definition are restarted."
367
367
  msgstr ""
368
368
 
369
+ #. module: base_tier_validation
370
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__is_reevaluation_required
371
+ msgid "Is Reevaluation Required"
372
+ msgstr ""
373
+
369
374
  #. module: base_tier_validation
370
375
  #: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
371
376
  msgid "It's fully validated"
@@ -526,6 +531,11 @@ msgstr ""
526
531
  msgid "Pending"
527
532
  msgstr "待审批"
528
533
 
534
+ #. module: base_tier_validation
535
+ #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
536
+ msgid "Reevaluate Reviews"
537
+ msgstr ""
538
+
529
539
  #. module: base_tier_validation
530
540
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
531
541
  msgid "Referenced Model"
@@ -12,7 +12,7 @@ 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 = ["message_follower_ids", "access_token"]
15
+ BASE_EXCEPTION_FIELDS = ["message_follower_ids", "access_token", "need_validation"]
16
16
 
17
17
 
18
18
  class TierValidation(models.AbstractModel):
@@ -70,6 +70,9 @@ class TierValidation(models.AbstractModel):
70
70
  )
71
71
  has_comment = fields.Boolean(compute="_compute_has_comment")
72
72
  next_review = fields.Char(compute="_compute_next_review")
73
+ is_reevaluation_required = fields.Boolean(
74
+ compute="_compute_is_reevaluation_required"
75
+ )
73
76
 
74
77
  def _compute_has_comment(self):
75
78
  for rec in self:
@@ -206,6 +209,27 @@ class TierValidation(models.AbstractModel):
206
209
  )[:1]
207
210
  rec.next_review = review and _("Next: %s") % review.name or ""
208
211
 
212
+ def _compute_is_reevaluation_required(self):
213
+ for rec in self:
214
+ if isinstance(rec.id, models.NewId):
215
+ rec.is_reevaluation_required = False
216
+ continue
217
+ tiers = (
218
+ self.env["tier.definition"]
219
+ .with_context(active_test=True)
220
+ .search(
221
+ [
222
+ ("model", "=", self._name),
223
+ ("company_id", "in", [False] + self.env.company.ids),
224
+ ]
225
+ )
226
+ )
227
+ rec.is_reevaluation_required = False
228
+ valid_tiers = tiers.filtered(lambda x: rec.evaluate_tier(x))
229
+ if valid_tiers and rec.review_ids.definition_id:
230
+ if len(valid_tiers) != len(rec.review_ids.definition_id):
231
+ rec.is_reevaluation_required = True
232
+
209
233
  @api.model
210
234
  def _calc_reviews_validated(self, reviews):
211
235
  """Override for different validation policy."""
@@ -233,10 +257,12 @@ class TierValidation(models.AbstractModel):
233
257
  ]
234
258
  )
235
259
  )
236
- valid_tiers = any([rec.evaluate_tier(tier) for tier in tiers])
237
- rec.need_validation = (
238
- not rec.review_ids and valid_tiers and rec._check_state_from_condition()
239
- )
260
+ valid_tiers = tiers.filtered(lambda x: rec.evaluate_tier(x))
261
+ requested_tiers = rec.review_ids.filtered(
262
+ lambda x: x.status != "pending"
263
+ ).mapped("definition_id")
264
+ new_tiers = valid_tiers - requested_tiers
265
+ rec.need_validation = new_tiers and rec._check_state_from_condition()
240
266
 
241
267
  def evaluate_tier(self, tier):
242
268
  if tier.definition_domain:
@@ -620,6 +646,7 @@ class TierValidation(models.AbstractModel):
620
646
  [
621
647
  ("model", "=", self._name),
622
648
  ("company_id", "in", [False] + self.env.company.ids),
649
+ ("id", "not in", rec.review_ids.mapped("definition_id").ids),
623
650
  ],
624
651
  order="sequence desc",
625
652
  )
@@ -674,6 +701,13 @@ class TierValidation(models.AbstractModel):
674
701
  getattr(self, subscribe)(partner_ids=partners_to_notify_ids)
675
702
  rec._notify_restarted_review()
676
703
 
704
+ def reevaluate_reviews(self):
705
+ reviews = self.env["tier.review"]
706
+ for rec in self:
707
+ rec._compute_need_validation()
708
+ reviews += rec.request_validation()
709
+ return reviews
710
+
677
711
  @api.model
678
712
  def _update_counter(self, review_counter):
679
713
  self.review_ids._compute_can_review()
@@ -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:f09a6ac42502605dac3f91f6a5e27e786f1f5bc212ec8641d692a5e551043be3
370
+ !! source digest: sha256:b8ad9914d3d83a36f03df6d1027d6d363fbce13a577a647069407aa865d65e24
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&amp;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
@@ -18,11 +18,18 @@
18
18
  ('#{state_field}', '#{state_operator}', #{state_value})]}"
19
19
  type="object"
20
20
  />
21
+ <button
22
+ name="reevaluate_reviews"
23
+ string="Reevaluate Reviews"
24
+ t-attf-attrs="{'invisible': ['|',('is_reevaluation_required', '!=', True),('#{state_field}', '#{state_operator}', #{state_value})]}"
25
+ type="object"
26
+ />
21
27
  </div>
22
28
  </template>
23
29
  <template id="tier_validation_label">
24
30
  <div>
25
31
  <field name="need_validation" invisible="1" />
32
+ <field name="is_reevaluation_required" invisible="1" />
26
33
  <field name="validated" invisible="1" />
27
34
  <field name="rejected" invisible="1" />
28
35
  <div
@@ -905,6 +905,88 @@ class TierTierValidation(CommonTierValidation):
905
905
  )
906
906
  self.assertEqual(self.test_record.test_validation_field, 4)
907
907
 
908
+ def test_27_reevaluate_validation(self):
909
+ # Create new test record
910
+ test_record = self.test_model.create(
911
+ {"test_field": 100, "test_validation_field": 15}
912
+ )
913
+ # Create tier definitions
914
+ self.tier_def_obj.create(
915
+ {
916
+ "model_id": self.tester_model.id,
917
+ "review_type": "individual",
918
+ "reviewer_id": self.test_user_1.id,
919
+ "definition_domain": "[('test_field', '>', 100)]",
920
+ }
921
+ )
922
+ # Request validation
923
+ reviews = test_record.with_user(self.test_user_2.id).request_validation()
924
+ # Check need validation
925
+ self.assertTrue(test_record.need_validation)
926
+ self.assertEqual(len(reviews), 1)
927
+
928
+ # Now record is not validated yet and new definition create,
929
+ # and then we reevaluate object then it will add new definition validation
930
+ # also in current object
931
+ self.tier_def_obj.create(
932
+ {
933
+ "model_id": self.tester_model.id,
934
+ "review_type": "individual",
935
+ "reviewer_id": self.test_user_1.id,
936
+ "definition_domain": "[('test_validation_field', '>', 10)]",
937
+ }
938
+ )
939
+
940
+ # Reevaluate Validation
941
+ reviews = test_record.with_user(self.test_user_2.id).reevaluate_reviews()
942
+ # Check need validation
943
+ self.assertTrue(test_record.need_validation)
944
+ self.assertEqual(len(reviews), 2)
945
+
946
+ def test_28_reevaluate_validation(self):
947
+ # Create new test record
948
+ test_record = self.test_model.create(
949
+ {"test_field": 100, "test_validation_field": 15}
950
+ )
951
+ # Create tier definitions
952
+ # 1st defination to check test_field
953
+ self.tier_def_obj.create(
954
+ {
955
+ "model_id": self.tester_model.id,
956
+ "review_type": "individual",
957
+ "reviewer_id": self.test_user_1.id,
958
+ "definition_domain": "[('test_field', '>', 100)]",
959
+ }
960
+ )
961
+ # 2nd definition will be trigger only when there is
962
+ # new message with body "This record need extra validation"
963
+ test_message = "This record need extra validation"
964
+ self.tier_def_obj.create(
965
+ {
966
+ "model_id": self.tester_model.id,
967
+ "review_type": "individual",
968
+ "reviewer_id": self.test_user_1.id,
969
+ "definition_domain": "[('message_ids.body', 'ilike', '%s')]"
970
+ % (test_message),
971
+ }
972
+ )
973
+
974
+ # Request validation
975
+ reviews = test_record.with_user(self.test_user_2.id).request_validation()
976
+ # Check need validation
977
+ self.assertTrue(test_record.need_validation)
978
+ self.assertEqual(len(reviews), 1)
979
+
980
+ # now post new message "This record need extra validation",
981
+ # it will need to reevaluate record and will add new tier validation
982
+ test_record.with_user(self.test_user_2.id).message_post(body=test_message)
983
+
984
+ # Reevaluate Validation
985
+ reviews = test_record.with_user(self.test_user_2.id).reevaluate_reviews()
986
+ # Check need validation
987
+ self.assertTrue(test_record.need_validation)
988
+ self.assertEqual(len(reviews), 2)
989
+
908
990
 
909
991
  @tagged("at_install")
910
992
  class TierTierValidationView(CommonTierValidation):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-base_tier_validation
3
- Version: 16.0.2.2.2.3
3
+ Version: 16.0.2.3.0.2
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:f09a6ac42502605dac3f91f6a5e27e786f1f5bc212ec8641d692a5e551043be3
26
+ !! source digest: sha256:b8ad9914d3d83a36f03df6d1027d6d363fbce13a577a647069407aa865d65e24
27
27
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
28
 
29
29
  .. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
@@ -1,23 +1,23 @@
1
- odoo/addons/base_tier_validation/README.rst,sha256=JE_h3xwzFSxD4l9o2jCETI6Wrq8JuPg9OfkRkziHmfc,7996
1
+ odoo/addons/base_tier_validation/README.rst,sha256=POG5AbEptBmF9jKRhniSDwG-uM4_C_JjKt8ypZkpOvk,7996
2
2
  odoo/addons/base_tier_validation/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
3
- odoo/addons/base_tier_validation/__manifest__.py,sha256=o_fNwD35Mn1EuiYVcjEDP63-Iz4SId5weSOSEWWV-Cg,2011
3
+ odoo/addons/base_tier_validation/__manifest__.py,sha256=QHoUIYdO9MTnehkfTn2ZsGc8XDOJmkpx72xtn1GRwbc,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
- odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=YYP5oGNL3dhS7yL-_k7J29oQ8rb3XAnEqTPI11Pn0Aw,32069
7
- odoo/addons/base_tier_validation/i18n/es.po,sha256=QwqRwFBKyx6AHCwn_Y4dG6wV5eDP2mX9rGWhjD83BSA,37251
8
- odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=hXOfANN5n6CMn0SeOwboF5tUh3gG1m_ZQLCq6Bj22j0,35382
9
- odoo/addons/base_tier_validation/i18n/fr.po,sha256=dsR5-957iIpHkSPnRNWBcvJ-bZNvBw-RTv_c3eJE7mw,38351
10
- odoo/addons/base_tier_validation/i18n/it.po,sha256=QluoteoFF7WsKazrtR5vaJJbLsHdO27ocnkHocRKwGU,38352
11
- odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=WFY-lAo5eppdTiLY2PmPOCx3IcqY9hMCOFRkc7uNb8Y,36233
12
- odoo/addons/base_tier_validation/i18n/sv.po,sha256=ezwx-cERe_-vFn6kgDYQakeeD2aDdEK0DgtRrRlXU2Y,36252
13
- odoo/addons/base_tier_validation/i18n/tr.po,sha256=Ry1jz-bDvHPO-EBT5oZb5T8PYuYQB9w9iGPswWna5rQ,35254
14
- odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=FpHuiNvYk486pvApkBQoo42E1uwTXfc7Ko-VrSTWTck,33805
6
+ odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=RtlXdM30mKs3ju2AjK4QxnQJ4RsuW5-RVl4aXG_UZ6I,32406
7
+ odoo/addons/base_tier_validation/i18n/es.po,sha256=urCnXenhaB4cIIyDfx9CBoC1dDMF7Y4mYZTi9u847j4,37588
8
+ odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=j4qAtTP7tfChP8t15yme358bzY5Y9cuOYlimKkcoCB8,35719
9
+ odoo/addons/base_tier_validation/i18n/fr.po,sha256=PGCnYOAYyPlWhQu-B_LteqXnR9EyAxp70R6wTwxqZdE,38688
10
+ odoo/addons/base_tier_validation/i18n/it.po,sha256=_WIPBDSZRWg9w76VUmGx-4ewfS9OoG0uInoIpW1ZP10,38741
11
+ odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=Bh388ouDd7IkMsIn10lIVeScp_Tq6TDBh5ufyGAWgt8,36570
12
+ odoo/addons/base_tier_validation/i18n/sv.po,sha256=P8bAPHdPdndhxvK131VSBVBMcPxuDovcrdZVzOWRHq0,36589
13
+ odoo/addons/base_tier_validation/i18n/tr.po,sha256=N1LV6RcQtWijjpGZSfiJgxAuncy-YazMQzoryFyJixI,35591
14
+ odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=jrDET9-y8-fr3etFKhkvDitutGeCz4uPzJQHfGf81n8,34142
15
15
  odoo/addons/base_tier_validation/models/__init__.py,sha256=X8c8CFM5eOXyIErFr7xsaGDBPZMBSKE2v4W-_2h9B2s,250
16
16
  odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=n-i1InkXDcFrKmNkTCWtxcDSaxIAvxY7JsU5NrufmmA,617
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=ic6Rkh0PhliJ4gkWHmPJ84Ln2puGC1U5W5N2PCFlXw8,7267
20
- odoo/addons/base_tier_validation/models/tier_validation.py,sha256=I1F00jlUJIjSsV04u8_eFut_9jG8J3vJF6S4OlbRzxw,31260
20
+ odoo/addons/base_tier_validation/models/tier_validation.py,sha256=CH2pPpWUYvVmfWJelpo2GVxOdhlYzuQPWg7UB104-nE,32682
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=n4HslhSWkDvr4gvztcdP-0y8b3qUbxFGXj9JDQumV7Q,22306
30
+ odoo/addons/base_tier_validation/static/description/index.html,sha256=euBSWf1WoZj3bdZ0JUqpevOntjLo-vBLCJGNScsu2B4,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
@@ -43,10 +43,10 @@ odoo/addons/base_tier_validation/static/src/scss/systray.scss,sha256=vco1l3nsJfX
43
43
  odoo/addons/base_tier_validation/static/src/xml/reviewer_menu_container.xml,sha256=pMgADQ7SgdHrE_FTo2hnpDJqPbuc9jOHXHSAaa0Gjbk,271
44
44
  odoo/addons/base_tier_validation/static/src/xml/systray.xml,sha256=8W04E80UhUPQp6U9zvmDu1qqOXsDaDP8Q5YFw6Dgg7s,4987
45
45
  odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=o72pPVkPiPmr2KWucaTJahR945MbD4gaYyi3KQn6AyI,6217
46
- odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=fuIyMgIwp_UWrlR75TeAKMrfiK-kd2lH8xshLkwWeRg,4191
46
+ odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=yBB3Sm9dPy9eJ2E6pD97od3Sr7I04_U21Jkcvy9LGYs,4559
47
47
  odoo/addons/base_tier_validation/tests/__init__.py,sha256=7tj1DSbPnyA__lAKxvjX53Ll_ZTE8y8Z1bewtZJoURI,166
48
48
  odoo/addons/base_tier_validation/tests/common.py,sha256=Jnt8vMSca4XsiUGbnSDXvyKCCP6aeXepI476_2Gg_to,3787
49
- odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=RKGH9WI-q2u9uTFWnemBlvrhLICpWxCWSUDZPNPjQFk,37572
49
+ odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=z7NjMeysN44OK5JEeGtn_QfxKobhRns7RTPLWG4zjmQ,40838
50
50
  odoo/addons/base_tier_validation/tests/test_tier_validation_reminder.py,sha256=jsLU-7pJtbUvKPi7ddXU4jAwiJp32pKTrluarrtLKvU,1963
51
51
  odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=3usFbhfDhlKIWbVu--3qsbsm52B6RwTP4zy244dY1yk,1757
52
52
  odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=Al6XKCN1QGLPcgAaXTvEnSTYkwBrzDGfSRh3CQD4g5Q,4234
@@ -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.2.2.3.dist-info/METADATA,sha256=bQns539gYzR4krV8a9G2Ivr1D0o-a1zJtfdsclsEuWA,8580
60
- odoo_addon_base_tier_validation-16.0.2.2.2.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
61
- odoo_addon_base_tier_validation-16.0.2.2.2.3.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
62
- odoo_addon_base_tier_validation-16.0.2.2.2.3.dist-info/RECORD,,
59
+ odoo_addon_base_tier_validation-16.0.2.3.0.2.dist-info/METADATA,sha256=9ClQ7IGFQoFVEKtwa8oi-BIoF5fiH89wo2p_rkMB6QE,8580
60
+ odoo_addon_base_tier_validation-16.0.2.3.0.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
61
+ odoo_addon_base_tier_validation-16.0.2.3.0.2.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
62
+ odoo_addon_base_tier_validation-16.0.2.3.0.2.dist-info/RECORD,,