odoo-addon-base-tier-validation 16.0.1.0.4.76__py3-none-any.whl → 16.0.1.0.5.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.
@@ -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.1.0.4",
6
+ "version": "16.0.1.0.5",
7
7
  "development_status": "Mature",
8
8
  "maintainers": ["LoisRForgeFlow"],
9
9
  "category": "Tools",
@@ -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: 2023-06-07 13:17+0000\n"
9
+ "PO-Revision-Date: 2023-06-30 10:10+0000\n"
10
10
  "Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11
11
  "Language-Team: none\n"
12
12
  "Language: it\n"
@@ -423,7 +423,7 @@ msgstr ""
423
423
  #. module: base_tier_validation
424
424
  #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
425
425
  msgid "Request Validation"
426
- msgstr "Richiedi Approvazione"
426
+ msgstr "Richiedi validazione"
427
427
 
428
428
  #. module: base_tier_validation
429
429
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
@@ -452,7 +452,7 @@ msgstr "Res Model"
452
452
  #. module: base_tier_validation
453
453
  #: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
454
454
  msgid "Restart Validation"
455
- msgstr "Riavvia approvazione"
455
+ msgstr "Riavvia validazione"
456
456
 
457
457
  #. module: base_tier_validation
458
458
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
@@ -193,9 +193,7 @@ class TierValidation(models.AbstractModel):
193
193
  tiers = self.env["tier.definition"].search([("model", "=", self._name)])
194
194
  valid_tiers = any([rec.evaluate_tier(tier) for tier in tiers])
195
195
  rec.need_validation = (
196
- not rec.review_ids
197
- and valid_tiers
198
- and getattr(rec, self._state_field) in self._state_from
196
+ not rec.review_ids and valid_tiers and rec._check_state_from_condition()
199
197
  )
200
198
 
201
199
  def evaluate_tier(self, tier):
@@ -253,10 +251,16 @@ class TierValidation(models.AbstractModel):
253
251
  self.mapped("review_ids").unlink()
254
252
  return super(TierValidation, self).write(vals)
255
253
 
254
+ def _check_state_from_condition(self):
255
+ return self.env.context.get("skip_check_state_condition") or (
256
+ self._state_field in self._fields
257
+ and getattr(self, self._state_field) in self._state_from
258
+ )
259
+
256
260
  def _check_state_conditions(self, vals):
257
261
  self.ensure_one()
258
262
  return (
259
- getattr(self, self._state_field) in self._state_from
263
+ self._check_state_from_condition()
260
264
  and vals.get(self._state_field) in self._state_to
261
265
  )
262
266
 
@@ -405,7 +409,7 @@ class TierValidation(models.AbstractModel):
405
409
  td_obj = self.env["tier.definition"]
406
410
  tr_obj = created_trs = self.env["tier.review"]
407
411
  for rec in self:
408
- if getattr(rec, self._state_field) in self._state_from:
412
+ if rec._check_state_from_condition():
409
413
  if rec.need_validation:
410
414
  tier_definitions = td_obj.search(
411
415
  [("model", "=", self._name)], order="sequence desc"
@@ -463,6 +467,27 @@ class TierValidation(models.AbstractModel):
463
467
  self.mapped("review_ids").unlink()
464
468
  return super().unlink()
465
469
 
470
+ def _add_tier_validation_buttons(self, node, params):
471
+ str_element = self.env["ir.qweb"]._render(
472
+ "base_tier_validation.tier_validation_buttons", params
473
+ )
474
+ new_node = etree.fromstring(str_element)
475
+ return new_node
476
+
477
+ def _add_tier_validation_label(self, node, params):
478
+ str_element = self.env["ir.qweb"]._render(
479
+ "base_tier_validation.tier_validation_label", params
480
+ )
481
+ new_node = etree.fromstring(str_element)
482
+ return new_node
483
+
484
+ def _add_tier_validation_reviews(self, node, params):
485
+ str_element = self.env["ir.qweb"]._render(
486
+ "base_tier_validation.tier_validation_reviews", params
487
+ )
488
+ new_node = etree.fromstring(str_element)
489
+ return new_node
490
+
466
491
  @api.model
467
492
  def get_view(self, view_id=None, view_type="form", **options):
468
493
  res = super().get_view(view_id=view_id, view_type=view_type, **options)
@@ -476,32 +501,27 @@ class TierValidation(models.AbstractModel):
476
501
  doc = etree.XML(res["arch"])
477
502
  params = {
478
503
  "state_field": self._state_field,
479
- "state_from": ",".join("'%s'" % state for state in self._state_from),
504
+ "state_operator": "not in",
505
+ "state_value": self._state_from,
480
506
  }
481
507
  all_models = res["models"].copy()
482
508
  for node in doc.xpath(self._tier_validation_buttons_xpath):
483
509
  # By default, after the last button of the header
484
- str_element = self.env["ir.qweb"]._render(
485
- "base_tier_validation.tier_validation_buttons", params
486
- )
487
- new_node = etree.fromstring(str_element)
510
+ # _add_tier_validation_buttons process
511
+ new_node = self._add_tier_validation_buttons(node, params)
488
512
  new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
489
513
  new_node = etree.fromstring(new_arch)
490
514
  for new_element in new_node:
491
515
  node.addnext(new_element)
492
516
  for node in doc.xpath("/form/sheet"):
493
- str_element = self.env["ir.qweb"]._render(
494
- "base_tier_validation.tier_validation_label", params
495
- )
496
- new_node = etree.fromstring(str_element)
517
+ # _add_tier_validation_label process
518
+ new_node = self._add_tier_validation_label(node, params)
497
519
  new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
498
520
  new_node = etree.fromstring(new_arch)
499
521
  for new_element in new_node:
500
522
  node.addprevious(new_element)
501
- str_element = self.env["ir.qweb"]._render(
502
- "base_tier_validation.tier_validation_reviews", params
503
- )
504
- new_node = etree.fromstring(str_element)
523
+ # _add_tier_validation_reviews process
524
+ new_node = self._add_tier_validation_reviews(node, params)
505
525
  new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
506
526
  for model in new_models:
507
527
  if model in all_models:
@@ -21,14 +21,38 @@
21
21
  <table class="oe_mt32 table table-condensed">
22
22
  <thead>
23
23
  <tr>
24
- <th class="text-center">Sequence</th>
25
- <th class="text-left">Requested by</th>
26
- <th class="text-right">Description</th>
27
- <th class="text-right">Status</th>
28
- <th class="text-right">Todo by</th>
29
- <th class="text-right">Done by</th>
30
- <th class="text-right">Validation Date</th>
31
- <th class="text-right">Comment</th>
24
+ <th
25
+ name="th_sequence"
26
+ class="text-center"
27
+ >Sequence</th>
28
+ <th
29
+ name="th_requested_by"
30
+ class="text-left"
31
+ >Requested by</th>
32
+ <th
33
+ name="th_name"
34
+ class="text-right"
35
+ >Description</th>
36
+ <th
37
+ name="th_display_status"
38
+ class="text-right"
39
+ >Status</th>
40
+ <th
41
+ name="th_todo_by"
42
+ class="text-right"
43
+ >Todo by</th>
44
+ <th
45
+ name="th_done_by"
46
+ class="text-right"
47
+ >Done by</th>
48
+ <th
49
+ name="th_reviewed_date"
50
+ class="text-right"
51
+ >Validation Date</th>
52
+ <th
53
+ name="th_comment"
54
+ class="text-right"
55
+ >Comment</th>
32
56
  </tr>
33
57
  </thead>
34
58
  <tbody class="sale_tbody">
@@ -53,32 +77,32 @@
53
77
  t-value="'alert-danger'"
54
78
  />
55
79
  <tr t-att-class="status_class">
56
- <td class="text-center">
80
+ <td name="td_sequence" class="text-center">
57
81
  <span t-esc="review.sequence" />
58
82
  </td>
59
- <td class="text-left">
83
+ <td name="td_requested_by" class="text-left">
60
84
  <span t-esc="review.requested_by[1]" />
61
85
  </td>
62
- <td class="text-right">
86
+ <td name="td_name" class="text-right">
63
87
  <span t-esc="review.name" />
64
88
  </td>
65
- <td class="text-right">
89
+ <td name="td_display_status" class="text-right">
66
90
  <span t-esc="review.status" />
67
91
  </td>
68
- <td class="text-right">
92
+ <td name="td_todo_by" class="text-right">
69
93
  <span t-esc="review.todo_by" />
70
94
  </td>
71
- <td class="text-right">
95
+ <td name="td_done_by" class="text-right">
72
96
  <span t-esc="review.done_by[1]" />
73
97
  </td>
74
- <td class="text-right">
98
+ <td name="td_reviewed_date" class="text-right">
75
99
  <t t-if="review.reviewed_formated_date">
76
100
  <span
77
101
  t-esc="review.reviewed_formated_date"
78
102
  />
79
103
  </t>
80
104
  </td>
81
- <td class="text-left">
105
+ <td name="td_comment" class="text-left">
82
106
  <t t-if="review.comment">
83
107
  <span t-esc="review.comment" />
84
108
  </t>
@@ -5,13 +5,13 @@
5
5
  <button
6
6
  name="request_validation"
7
7
  string="Request Validation"
8
- t-attf-attrs="{'invisible': ['|','|',('need_validation', '!=', True),('rejected','=',True),('#{state_field}', 'not in', [#{state_from}])]}"
8
+ t-attf-attrs="{'invisible': ['|','|',('need_validation', '!=', True),('rejected','=',True),('#{state_field}', '#{state_operator}', #{state_value})]}"
9
9
  type="object"
10
10
  />
11
11
  <button
12
12
  name="restart_validation"
13
13
  string="Restart Validation"
14
- t-attf-attrs="{'invisible': ['|',('review_ids', '=', []),('#{state_field}', 'not in', [#{state_from}])]}"
14
+ t-attf-attrs="{'invisible': ['|',('review_ids', '=', []),('#{state_field}', '#{state_operator}', #{state_value})]}"
15
15
  type="object"
16
16
  />
17
17
  </div>
@@ -25,7 +25,7 @@
25
25
  class="alert alert-warning"
26
26
  role="alert"
27
27
  t-attf-attrs="{'invisible': ['|', '|', '|',
28
- ('validated', '=', True), ('#{state_field}', 'not in', [#{state_from}]),
28
+ ('validated', '=', True), ('#{state_field}', '#{state_operator}', #{state_value}),
29
29
  ('rejected', '=', True), ('review_ids', '=', [])]}"
30
30
  style="margin-bottom:0px;"
31
31
  >
@@ -56,7 +56,7 @@
56
56
  <div
57
57
  class="alert alert-success"
58
58
  role="alert"
59
- t-attf-attrs="{'invisible': ['|', '|', ('validated', '!=', True), ('#{state_field}', 'not in', [#{state_from}]), ('review_ids', '=', [])]}"
59
+ t-attf-attrs="{'invisible': ['|', '|', ('validated', '!=', True), ('#{state_field}', '#{state_operator}', #{state_value}), ('review_ids', '=', [])]}"
60
60
  style="margin-bottom:0px;"
61
61
  >
62
62
  <p>
@@ -69,7 +69,7 @@
69
69
  <div
70
70
  class="alert alert-danger"
71
71
  role="alert"
72
- t-attf-attrs="{'invisible': ['|', '|', ('rejected', '!=', True), ('#{state_field}', 'not in', [#{state_from}]), ('review_ids', '=', [])]}"
72
+ t-attf-attrs="{'invisible': ['|', '|', ('rejected', '!=', True), ('#{state_field}', '#{state_operator}', #{state_value}), ('review_ids', '=', [])]}"
73
73
  style="margin-bottom:0px;"
74
74
  >
75
75
  <p>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-base-tier-validation
3
- Version: 16.0.1.0.4.76
3
+ Version: 16.0.1.0.5.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)
@@ -1,12 +1,12 @@
1
1
  odoo/addons/base_tier_validation/README.rst,sha256=uL0-_2pPU4OnuqECQyZl7KCrYhoSchd5i0YEZfCZ36c,6652
2
2
  odoo/addons/base_tier_validation/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
3
- odoo/addons/base_tier_validation/__manifest__.py,sha256=k76ZgYdh05JXN5KNdnP7CG3xPxNzkIdX-7Pt1CNaRpI,1929
3
+ odoo/addons/base_tier_validation/__manifest__.py,sha256=bBmyG8Bq981jonco_dNieiLFkif9SZBmSp74qPtF5IY,1929
4
4
  odoo/addons/base_tier_validation/data/mail_data.xml,sha256=UKzkLT8rYrFuThdp43v7nLW5SOco4vvIIAhbB_IAQZs,1414
5
5
  odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=5EzPAc8NDwVwm_pIyUUnaqo5re83OGqydm99R16oXe8,21900
6
6
  odoo/addons/base_tier_validation/i18n/es.po,sha256=-H1xRSJUWm8inPraBgfSVZQeYY7sJnD3NraMudlZNao,24648
7
7
  odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=-TfqfsFL4mngLYC3wzmAi2FGfCD2wGLr9KTqiNZu8kc,24619
8
8
  odoo/addons/base_tier_validation/i18n/fr.po,sha256=n4XyuaWQMLTZbFyxZzLGGZw4w3ZeennVMDzTMznbJys,23547
9
- odoo/addons/base_tier_validation/i18n/it.po,sha256=ci39VoKz7kT2dBdLnUP08IO5snM5LsDT7_WYLz5zc8s,24207
9
+ odoo/addons/base_tier_validation/i18n/it.po,sha256=_XCjs-jDLlTKpP9fsFckspnLfE_hGUSktoFhioW4aPs,24205
10
10
  odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=Uu6pzvBlYWE71MxTFIdLf6exWkMCYydyuDq066nOBLA,23871
11
11
  odoo/addons/base_tier_validation/i18n/sv.po,sha256=cQ30T4g_uUWpnZJYY8bOoMM0qDDL0CLcm2_-kVD8J0E,25377
12
12
  odoo/addons/base_tier_validation/i18n/tr.po,sha256=HLPoGImlq_2uEhgVuchcyFdiTczwZPJ9VnYFj7LTkD0,24521
@@ -16,7 +16,7 @@ odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=-Gw9jsRHKU
16
16
  odoo/addons/base_tier_validation/models/res_users.py,sha256=6zI7I5IUnmQrLJw0AvGZJ2xyW7zrQUBAdvhtxTwmUg4,2368
17
17
  odoo/addons/base_tier_validation/models/tier_definition.py,sha256=UU3VxJXWuO8wUq8IXtB8-O1kghgisp297FmtVKEKswc,2952
18
18
  odoo/addons/base_tier_validation/models/tier_review.py,sha256=SYQbhaC8vjxe_D7-cAjSMmc3B9jSyXo-PG8gI98PIHY,5069
19
- odoo/addons/base_tier_validation/models/tier_validation.py,sha256=OVKg3b9pBHB_T16RJVGVhmst7es46r7Bh8SiU86MfXo,20796
19
+ odoo/addons/base_tier_validation/models/tier_validation.py,sha256=gPseQg-u4AvpuF5E6NpCD9C0lo1KODuSGaOzHcOJ3BA,21494
20
20
  odoo/addons/base_tier_validation/readme/CONFIGURE.rst,sha256=-XvqIRVzdEx5Pl-w5qVHayTDYzGDI1FX92ChdijeNh0,503
21
21
  odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst,sha256=ibMe_AqDBgemGXGJOMH6_NCDegHoav6Umt7Fy4cmC-E,282
22
22
  odoo/addons/base_tier_validation/readme/DESCRIPTION.rst,sha256=MFbI1iBk0moWjdQUueJa05am8-JfIiiLRSyGgi1NBFY,653
@@ -40,8 +40,8 @@ odoo/addons/base_tier_validation/static/src/scss/review.scss,sha256=K0ZLNShHoj-p
40
40
  odoo/addons/base_tier_validation/static/src/scss/systray.scss,sha256=vco1l3nsJfXBzfKWONvy4RGunKvJviAYyH2S9znF620,3912
41
41
  odoo/addons/base_tier_validation/static/src/xml/reviewer_menu_container.xml,sha256=pMgADQ7SgdHrE_FTo2hnpDJqPbuc9jOHXHSAaa0Gjbk,271
42
42
  odoo/addons/base_tier_validation/static/src/xml/systray.xml,sha256=8W04E80UhUPQp6U9zvmDu1qqOXsDaDP8Q5YFw6Dgg7s,4987
43
- odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=j7_SioY8WcjQIXw-y-gdrBF38vpqnYNzxMtU1KuDRfY,4953
44
- odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=9uv-rQ-STGLrWD7qKD8ENTwZkS8K13bLXwl34DsIlM4,3947
43
+ odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=Sx9YalTQ3Dna-1jKOYBXWu-3COz3BKLys4LKuF-F2OE,6209
44
+ odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=B5qrTgq6u3_iQFZpdSejp3iaIdEjNIcwRVZl1K-Kgw8,3997
45
45
  odoo/addons/base_tier_validation/tests/__init__.py,sha256=3z2_lQ9JiDSFDam4p24qDw5j02iaPb4m2naxv9DkbGA,122
46
46
  odoo/addons/base_tier_validation/tests/common.py,sha256=RlwG9uTfv3URzFK05KuYNSSTqudpY7EMo_AB4GibwUk,2673
47
47
  odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=DnR2GFaxHH7yOCmhGaHrk1eb_LnMjLIHCXzlZxq1gc4,20311
@@ -52,7 +52,7 @@ odoo/addons/base_tier_validation/views/tier_review_view.xml,sha256=tPzmpz-kbQwOO
52
52
  odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
53
53
  odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
54
54
  odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
55
- odoo_addon_base_tier_validation-16.0.1.0.4.76.dist-info/METADATA,sha256=FFdmvqfAY7BQBGq7-3AR2aelhYJKMW1cDX87h3dLLqw,7260
56
- odoo_addon_base_tier_validation-16.0.1.0.4.76.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
57
- odoo_addon_base_tier_validation-16.0.1.0.4.76.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
58
- odoo_addon_base_tier_validation-16.0.1.0.4.76.dist-info/RECORD,,
55
+ odoo_addon_base_tier_validation-16.0.1.0.5.1.dist-info/METADATA,sha256=L-RTdDEQq2MWmfulzIsbX7LYpulOF4YmahCmw3ahgW8,7259
56
+ odoo_addon_base_tier_validation-16.0.1.0.5.1.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
57
+ odoo_addon_base_tier_validation-16.0.1.0.5.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
58
+ odoo_addon_base_tier_validation-16.0.1.0.5.1.dist-info/RECORD,,