odoo-addon-base-tier-validation 16.0.2.1.0.2__py3-none-any.whl → 16.0.2.2.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 +2 -1
- odoo/addons/base_tier_validation/data/cron_data.xml +17 -0
- odoo/addons/base_tier_validation/data/mail_data.xml +18 -0
- odoo/addons/base_tier_validation/i18n/base_tier_validation.pot +36 -0
- odoo/addons/base_tier_validation/i18n/it.po +7 -7
- odoo/addons/base_tier_validation/models/tier_definition.py +35 -0
- odoo/addons/base_tier_validation/models/tier_review.py +40 -0
- odoo/addons/base_tier_validation/static/description/index.html +1 -1
- odoo/addons/base_tier_validation/tests/__init__.py +1 -0
- odoo/addons/base_tier_validation/tests/common.py +1 -1
- odoo/addons/base_tier_validation/tests/test_tier_validation_reminder.py +46 -0
- odoo/addons/base_tier_validation/views/tier_definition_view.xml +1 -0
- {odoo_addon_base_tier_validation-16.0.2.1.0.2.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.dist-info}/METADATA +2 -2
- {odoo_addon_base_tier_validation-16.0.2.1.0.2.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.dist-info}/RECORD +17 -15
- {odoo_addon_base_tier_validation-16.0.2.1.0.2.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-16.0.2.1.0.2.dist-info → odoo_addon_base_tier_validation-16.0.2.2.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:8b1acaf63ebb5ca436aa5ceacd1eda68013349402be0a94052155ba9f286e931
|
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.
|
6
|
+
"version": "16.0.2.2.0",
|
7
7
|
"development_status": "Mature",
|
8
8
|
"maintainers": ["LoisRForgeFlow"],
|
9
9
|
"category": "Tools",
|
@@ -14,6 +14,7 @@
|
|
14
14
|
"installable": True,
|
15
15
|
"depends": ["mail"],
|
16
16
|
"data": [
|
17
|
+
"data/cron_data.xml",
|
17
18
|
"data/mail_data.xml",
|
18
19
|
"security/ir.model.access.csv",
|
19
20
|
"security/tier_validation_security.xml",
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
+
<odoo noupdate="1">
|
3
|
+
<record id="ir_cron_auto_tier_validation" model="ir.cron">
|
4
|
+
<field name="name">Send Tier Review Reminder</field>
|
5
|
+
<field name="interval_number">1</field>
|
6
|
+
<field name="interval_type">days</field>
|
7
|
+
<field name="numbercall">-1</field>
|
8
|
+
<field
|
9
|
+
name="nextcall"
|
10
|
+
eval="(datetime.now() + timedelta(minutes=5)).strftime('%Y-%m-%d %H:%M:%S')"
|
11
|
+
/>
|
12
|
+
<field name="doall" eval="False" />
|
13
|
+
<field name="model_id" ref="model_tier_definition" />
|
14
|
+
<field name="code">model._cron_send_review_reminder()</field>
|
15
|
+
<field name="state">code</field>
|
16
|
+
</record>
|
17
|
+
</odoo>
|
@@ -40,4 +40,22 @@
|
|
40
40
|
<field name="internal" eval="True" />
|
41
41
|
<field name="hidden" eval="True" />
|
42
42
|
</record>
|
43
|
+
<record
|
44
|
+
id="mt_tier_validation_reminder"
|
45
|
+
model="mail.message.subtype"
|
46
|
+
forcecreate="1"
|
47
|
+
>
|
48
|
+
<field name="name">Tier Validation Reminder</field>
|
49
|
+
<field name="default" eval="True" />
|
50
|
+
<field name="internal" eval="True" />
|
51
|
+
<field name="hidden" eval="True" />
|
52
|
+
</record>
|
53
|
+
<record
|
54
|
+
id="mail_act_tier_validation_reminder"
|
55
|
+
model="mail.activity.type"
|
56
|
+
forcecreate="1"
|
57
|
+
>
|
58
|
+
<field name="name">Tier Validation Reminder</field>
|
59
|
+
<field name="icon">fa-bell</field>
|
60
|
+
</record>
|
43
61
|
</odoo>
|
@@ -45,6 +45,13 @@ msgstr ""
|
|
45
45
|
msgid "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
46
46
|
msgstr ""
|
47
47
|
|
48
|
+
#. module: base_tier_validation
|
49
|
+
#. odoo-python
|
50
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
51
|
+
#, python-format
|
52
|
+
msgid "A review has been requested %s days ago."
|
53
|
+
msgstr ""
|
54
|
+
|
48
55
|
#. module: base_tier_validation
|
49
56
|
#. odoo-python
|
50
57
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -374,6 +381,11 @@ msgstr ""
|
|
374
381
|
msgid "Last Modified on"
|
375
382
|
msgstr ""
|
376
383
|
|
384
|
+
#. module: base_tier_validation
|
385
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
386
|
+
msgid "Last Reminder Date"
|
387
|
+
msgstr ""
|
388
|
+
|
377
389
|
#. module: base_tier_validation
|
378
390
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
379
391
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -460,6 +472,13 @@ msgstr ""
|
|
460
472
|
msgid "Notify Reviewers on Restarted"
|
461
473
|
msgstr ""
|
462
474
|
|
475
|
+
#. module: base_tier_validation
|
476
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
477
|
+
msgid ""
|
478
|
+
"Number of days after which a message must be posted to remind about pending "
|
479
|
+
"validation (0 = no reminder)"
|
480
|
+
msgstr ""
|
481
|
+
|
463
482
|
#. module: base_tier_validation
|
464
483
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
465
484
|
msgid ""
|
@@ -603,6 +622,17 @@ msgstr ""
|
|
603
622
|
msgid "Reviews"
|
604
623
|
msgstr ""
|
605
624
|
|
625
|
+
#. module: base_tier_validation
|
626
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
627
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
628
|
+
msgid "Send Tier Review Reminder"
|
629
|
+
msgstr ""
|
630
|
+
|
631
|
+
#. module: base_tier_validation
|
632
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
633
|
+
msgid "Send reminder message on pending reviews"
|
634
|
+
msgstr ""
|
635
|
+
|
606
636
|
#. module: base_tier_validation
|
607
637
|
#. odoo-javascript
|
608
638
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -710,6 +740,12 @@ msgstr ""
|
|
710
740
|
msgid "Tier Validation Rejected Notification"
|
711
741
|
msgstr ""
|
712
742
|
|
743
|
+
#. module: base_tier_validation
|
744
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
745
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
746
|
+
msgid "Tier Validation Reminder"
|
747
|
+
msgstr ""
|
748
|
+
|
713
749
|
#. module: base_tier_validation
|
714
750
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
715
751
|
msgid "Tier Validation Requested"
|
@@ -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-07-
|
9
|
+
"PO-Revision-Date: 2024-07-18 09:58+0000\n"
|
10
10
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
11
11
|
"Language-Team: none\n"
|
12
12
|
"Language: it\n"
|
@@ -26,17 +26,17 @@ msgstr "0 in attesa"
|
|
26
26
|
#. module: base_tier_validation
|
27
27
|
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
28
28
|
msgid "<i class=\"fa fa-info-circle\"/> This Record needs to be validated."
|
29
|
-
msgstr ""
|
29
|
+
msgstr "<i class=\"fa fa-info-circle\"/> Il record deve essere validato."
|
30
30
|
|
31
31
|
#. module: base_tier_validation
|
32
32
|
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
33
33
|
msgid "<i class=\"fa fa-thumbs-down\"/> Operation has been <b>rejected</b>."
|
34
|
-
msgstr ""
|
34
|
+
msgstr "<i class=\"fa fa-thumbs-down\"/> L'operazione è stata <b>rifiutata</b>."
|
35
35
|
|
36
36
|
#. module: base_tier_validation
|
37
37
|
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
38
38
|
msgid "<i class=\"fa fa-thumbs-up\"/> Operation has been <b>validated</b>!"
|
39
|
-
msgstr ""
|
39
|
+
msgstr "<i class=\"fa fa-thumbs-up\"/> L'operazione è stata <b>validata</b>!"
|
40
40
|
|
41
41
|
#. module: base_tier_validation
|
42
42
|
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
@@ -112,7 +112,7 @@ msgstr "Tutto"
|
|
112
112
|
#. module: base_tier_validation
|
113
113
|
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
114
114
|
msgid "Allowed groups to use this Tier Validation Exception"
|
115
|
-
msgstr ""
|
115
|
+
msgstr "Grupi autorizzati ad utilizzare questa eccezione validazione livello"
|
116
116
|
|
117
117
|
#. module: base_tier_validation
|
118
118
|
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
@@ -324,7 +324,7 @@ msgstr "Raggruppa per"
|
|
324
324
|
#. module: base_tier_validation
|
325
325
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
326
326
|
msgid "Groups"
|
327
|
-
msgstr ""
|
327
|
+
msgstr "Gruppi"
|
328
328
|
|
329
329
|
#. module: base_tier_validation
|
330
330
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
@@ -426,7 +426,7 @@ msgstr "Più Opzioni"
|
|
426
426
|
#. module: base_tier_validation
|
427
427
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
428
428
|
msgid "Name"
|
429
|
-
msgstr ""
|
429
|
+
msgstr "Nome"
|
430
430
|
|
431
431
|
#. module: base_tier_validation
|
432
432
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
@@ -83,6 +83,11 @@ class TierDefinition(models.Model):
|
|
83
83
|
"to this definition are restarted.",
|
84
84
|
)
|
85
85
|
has_comment = fields.Boolean(string="Comment", default=False)
|
86
|
+
notify_reminder_delay = fields.Integer(
|
87
|
+
string="Send reminder message on pending reviews",
|
88
|
+
help="Number of days after which a message must be posted to remind about "
|
89
|
+
"pending validation (0 = no reminder)",
|
90
|
+
)
|
86
91
|
approve_sequence = fields.Boolean(
|
87
92
|
string="Approve by sequence",
|
88
93
|
default=False,
|
@@ -105,3 +110,33 @@ class TierDefinition(models.Model):
|
|
105
110
|
.sudo()
|
106
111
|
.search([("model", "=", rec.model), ("relation", "=", "res.users")])
|
107
112
|
)
|
113
|
+
|
114
|
+
def _get_review_needing_reminder(self):
|
115
|
+
"""Return all the reviews that have the reminder setup."""
|
116
|
+
self.ensure_one()
|
117
|
+
if not self.notify_reminder_delay:
|
118
|
+
return self.env["tier.review"]
|
119
|
+
review_date = fields.Datetime.subtract(
|
120
|
+
fields.Datetime.now(), days=self.notify_reminder_delay
|
121
|
+
)
|
122
|
+
return self.env["tier.review"].search(
|
123
|
+
[
|
124
|
+
("definition_id", "=", self.id),
|
125
|
+
("status", "=", "pending"),
|
126
|
+
"|",
|
127
|
+
"&",
|
128
|
+
("create_date", "<", review_date),
|
129
|
+
("last_reminder_date", "=", False),
|
130
|
+
("last_reminder_date", "<", review_date),
|
131
|
+
],
|
132
|
+
limit=1,
|
133
|
+
)
|
134
|
+
|
135
|
+
def _cron_send_review_reminder(self):
|
136
|
+
definition_with_reminder = self.env["tier.definition"].search(
|
137
|
+
[("notify_reminder_delay", ">", 0)]
|
138
|
+
)
|
139
|
+
for record in definition_with_reminder:
|
140
|
+
review_to_remind = record._get_review_needing_reminder()
|
141
|
+
if review_to_remind:
|
142
|
+
review_to_remind._send_review_reminder()
|
@@ -1,11 +1,15 @@
|
|
1
1
|
# Copyright 2017-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
2
2
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
3
3
|
|
4
|
+
import logging
|
5
|
+
|
4
6
|
import pytz
|
5
7
|
|
6
8
|
from odoo import _, api, fields, models
|
7
9
|
from odoo.exceptions import ValidationError
|
8
10
|
|
11
|
+
_logger = logging.getLogger(__name__)
|
12
|
+
|
9
13
|
|
10
14
|
class TierReview(models.Model):
|
11
15
|
_name = "tier.review"
|
@@ -64,6 +68,7 @@ class TierReview(models.Model):
|
|
64
68
|
approve_sequence_bypass = fields.Boolean(
|
65
69
|
related="definition_id.approve_sequence_bypass", readonly=True
|
66
70
|
)
|
71
|
+
last_reminder_date = fields.Datetime(readonly=True)
|
67
72
|
|
68
73
|
@api.depends("status")
|
69
74
|
def _compute_display_status(self):
|
@@ -138,3 +143,38 @@ class TierReview(models.Model):
|
|
138
143
|
if not reviewer_field or not reviewer_field._name == "res.users":
|
139
144
|
raise ValidationError(_("There are no res.users in the selected field"))
|
140
145
|
return reviewer_field
|
146
|
+
|
147
|
+
def _get_reminder_notification_subtype(self):
|
148
|
+
return "base_tier_validation.mt_tier_validation_reminder"
|
149
|
+
|
150
|
+
def _get_reminder_activity_type(self):
|
151
|
+
return "base_tier_validation.mail_act_tier_validation_reminder"
|
152
|
+
|
153
|
+
def _notify_review_reminder_body(self):
|
154
|
+
delay = (fields.Datetime.now() - self.create_date).days
|
155
|
+
return _("A review has been requested %s days ago.") % (delay)
|
156
|
+
|
157
|
+
def _send_review_reminder(self):
|
158
|
+
record = self.env[self.model].browse(self.res_id)
|
159
|
+
# Only schedule activity if reviewer is a single user and model has activities
|
160
|
+
if len(self.reviewer_ids) == 1 and hasattr(record, "activity_ids"):
|
161
|
+
self._schedule_review_reminder_activity(record)
|
162
|
+
elif hasattr(record, "message_post"):
|
163
|
+
self._notify_review_reminder(record)
|
164
|
+
else:
|
165
|
+
msg = "Could not send reminder for record %s" % record
|
166
|
+
_logger.exception(msg)
|
167
|
+
self.last_reminder_date = fields.Datetime.now()
|
168
|
+
|
169
|
+
def _notify_review_reminder(self, record):
|
170
|
+
record.message_post(
|
171
|
+
subtype_xmlid=self._get_reminder_notification_subtype(),
|
172
|
+
body=self._notify_review_reminder_body(),
|
173
|
+
)
|
174
|
+
|
175
|
+
def _schedule_review_reminder_activity(self, record):
|
176
|
+
record.activity_schedule(
|
177
|
+
act_type_xmlid=self._get_reminder_activity_type(),
|
178
|
+
note=self._notify_review_reminder_body(),
|
179
|
+
act_values={"user_id": self.reviewer_ids.id},
|
180
|
+
)
|
@@ -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:8b1acaf63ebb5ca436aa5ceacd1eda68013349402be0a94052155ba9f286e931
|
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
|
@@ -73,7 +73,7 @@ class CommonTierValidation(common.TransactionCase):
|
|
73
73
|
|
74
74
|
# Create tier definitions:
|
75
75
|
cls.tier_def_obj = cls.env["tier.definition"]
|
76
|
-
cls.tier_def_obj.create(
|
76
|
+
cls.tier_definition = cls.tier_def_obj.create(
|
77
77
|
{
|
78
78
|
"model_id": cls.tester_model.id,
|
79
79
|
"review_type": "individual",
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
2
|
+
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
3
|
+
|
4
|
+
from freezegun import freeze_time
|
5
|
+
|
6
|
+
from odoo import fields
|
7
|
+
from odoo.tests.common import tagged
|
8
|
+
|
9
|
+
from .common import CommonTierValidation
|
10
|
+
|
11
|
+
|
12
|
+
@tagged("post_install", "-at_install")
|
13
|
+
class TierTierValidation(CommonTierValidation):
|
14
|
+
def test_validation_reminder(self):
|
15
|
+
"""Check the posting of reminder to reviews."""
|
16
|
+
tier_definition = self.tier_definition
|
17
|
+
tier_definition.notify_reminder_delay = 3
|
18
|
+
|
19
|
+
# Request a review today
|
20
|
+
self.test_record.with_user(self.test_user_2.id).request_validation()
|
21
|
+
review = self.env["tier.review"].search(
|
22
|
+
[("definition_id", "=", tier_definition.id)]
|
23
|
+
)
|
24
|
+
self.assertTrue(review)
|
25
|
+
self.assertEqual(review.last_reminder_date, False)
|
26
|
+
|
27
|
+
# 2 days later no reminder should be posted
|
28
|
+
in_2_days = fields.Datetime.add(fields.Datetime.now(), days=2)
|
29
|
+
with freeze_time(in_2_days):
|
30
|
+
tier_definition._cron_send_review_reminder()
|
31
|
+
self.assertEqual(review.last_reminder_date, False)
|
32
|
+
# 4 days later first reminder
|
33
|
+
in_4_days = fields.Datetime.add(fields.Datetime.now(), days=4)
|
34
|
+
with freeze_time(in_4_days):
|
35
|
+
self.tier_definition._cron_send_review_reminder()
|
36
|
+
self.assertEqual(review.last_reminder_date, in_4_days)
|
37
|
+
# 5 days later no new reminder
|
38
|
+
in_6_days = fields.Datetime.add(fields.Datetime.now(), days=6)
|
39
|
+
with freeze_time(in_6_days):
|
40
|
+
self.tier_definition._cron_send_review_reminder()
|
41
|
+
self.assertEqual(review.last_reminder_date, in_4_days)
|
42
|
+
# 9 days later second reminder
|
43
|
+
in_9_days = fields.Datetime.add(fields.Datetime.now(), days=9)
|
44
|
+
with freeze_time(in_9_days):
|
45
|
+
self.tier_definition._cron_send_review_reminder()
|
46
|
+
self.assertEqual(review.last_reminder_date, in_9_days)
|
@@ -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.2.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:8b1acaf63ebb5ca436aa5ceacd1eda68013349402be0a94052155ba9f286e931
|
27
27
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
28
28
|
|
29
29
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -1,12 +1,13 @@
|
|
1
|
-
odoo/addons/base_tier_validation/README.rst,sha256=
|
1
|
+
odoo/addons/base_tier_validation/README.rst,sha256=WKb2UQhzf26eoEp_QtiAqqUpzzknkes42lAgTthn33A,7923
|
2
2
|
odoo/addons/base_tier_validation/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
|
3
|
-
odoo/addons/base_tier_validation/__manifest__.py,sha256=
|
4
|
-
odoo/addons/base_tier_validation/data/
|
5
|
-
odoo/addons/base_tier_validation/
|
3
|
+
odoo/addons/base_tier_validation/__manifest__.py,sha256=f5nlAgFFR2kvfzRhgYjR_x8tjgy-L4wwfVnByUubnRI,2011
|
4
|
+
odoo/addons/base_tier_validation/data/cron_data.xml,sha256=HMA_SgAk3_vLu_QQLHd0UyzPASuDRj5cvpiK_17esQc,707
|
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=ei6nid7LgkDWw5XSppYPq98Lm40Un5EZZkJoWHgVNos,31951
|
6
7
|
odoo/addons/base_tier_validation/i18n/es.po,sha256=qr5OdG339ONKix0tTUxcVAfbwX3DvJgaZpa3zQ6mDdg,35845
|
7
8
|
odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=80IMp-B8IwIpmPQ0S5JreRDh2g7lwniOVTIKK4Rm-q8,33946
|
8
9
|
odoo/addons/base_tier_validation/i18n/fr.po,sha256=Q35eYMQSV0NiuPdEXt2v5gM9Sgq5hphHmU-NcP-FBAY,35752
|
9
|
-
odoo/addons/base_tier_validation/i18n/it.po,sha256=
|
10
|
+
odoo/addons/base_tier_validation/i18n/it.po,sha256=sR3EOx8-h2vZQyaJ4Na6_N4S5v2z5xXzLOH7HiTYtk0,36575
|
10
11
|
odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=MvwwEXHc7tYQEW-GpPnFvqB1_UjAnFfl29hNhdbAo3E,34827
|
11
12
|
odoo/addons/base_tier_validation/i18n/sv.po,sha256=2BTOHidnhH6uWesGwY5edcu1YE9g4e6nDPqKlXV9GEY,34816
|
12
13
|
odoo/addons/base_tier_validation/i18n/tr.po,sha256=zgMXwsQ-HKh8DATZPy6_J3eh9MYsVw4dKwQzIzXNrmg,33848
|
@@ -14,8 +15,8 @@ odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=D7zHVoiCS2T_jYNrPygS3DpWg1
|
|
14
15
|
odoo/addons/base_tier_validation/models/__init__.py,sha256=X8c8CFM5eOXyIErFr7xsaGDBPZMBSKE2v4W-_2h9B2s,250
|
15
16
|
odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=n-i1InkXDcFrKmNkTCWtxcDSaxIAvxY7JsU5NrufmmA,617
|
16
17
|
odoo/addons/base_tier_validation/models/res_users.py,sha256=JhUZ0NxJ9EPwpkJ-mvsNTrE1avQncGNKqAF-xFxokEo,2638
|
17
|
-
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=
|
18
|
-
odoo/addons/base_tier_validation/models/tier_review.py,sha256=
|
18
|
+
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=rcDv7ySDKqBD1ksJ09um_4Reec_Im1MrdotivQ7Q_44,5173
|
19
|
+
odoo/addons/base_tier_validation/models/tier_review.py,sha256=ic6Rkh0PhliJ4gkWHmPJ84Ln2puGC1U5W5N2PCFlXw8,7267
|
19
20
|
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=66CUEME8O7yfLLyexzz9KCMVvK2M5i43J15Ljts_sbM,31180
|
20
21
|
odoo/addons/base_tier_validation/models/tier_validation_exception.py,sha256=A0cgAMLVm9WcQlF93UXNruxjJ4tLVLMwyiRoalBOkaI,2877
|
21
22
|
odoo/addons/base_tier_validation/readme/CONFIGURE.rst,sha256=ABgtWmfnm0QieIj7_ZsvoTHwjaKiZkBLCAjUXJeOnm4,1466
|
@@ -26,7 +27,7 @@ odoo/addons/base_tier_validation/readme/ROADMAP.rst,sha256=UWhIpMUTM_ido6s3jZiF8
|
|
26
27
|
odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=vsKy73mk8r45jzU0fAt_vfM7-JSH7lIAA7JBr1P6FAY,633
|
27
28
|
odoo/addons/base_tier_validation/security/tier_validation_security.xml,sha256=eWFwz-osHgYFmVoEVzOSboO9oqUMtQ8oygyaz0os50Y,806
|
28
29
|
odoo/addons/base_tier_validation/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
29
|
-
odoo/addons/base_tier_validation/static/description/index.html,sha256=
|
30
|
+
odoo/addons/base_tier_validation/static/description/index.html,sha256=jtyz_01QflmYS1GoMfSuAamGTzGmtjk1TMqr0tmOMAM,22175
|
30
31
|
odoo/addons/base_tier_validation/static/src/js/ir_model.esm.js,sha256=kHSA7CeIt02IZmsKJdn2yZVqKqSyQ6_g6QVmtq5Qo2A,706
|
31
32
|
odoo/addons/base_tier_validation/static/src/js/main.esm.js,sha256=ZSHScoLlMQcO6jW9mLVusJOfyH5kJIw4szPK3xU-KHA,263
|
32
33
|
odoo/addons/base_tier_validation/static/src/js/review_group_view.esm.js,sha256=G110cBwOwENHBUkuScOB8Xg05D0FzOqlsSl_US0PngA,1677
|
@@ -43,18 +44,19 @@ odoo/addons/base_tier_validation/static/src/xml/reviewer_menu_container.xml,sha2
|
|
43
44
|
odoo/addons/base_tier_validation/static/src/xml/systray.xml,sha256=8W04E80UhUPQp6U9zvmDu1qqOXsDaDP8Q5YFw6Dgg7s,4987
|
44
45
|
odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=o72pPVkPiPmr2KWucaTJahR945MbD4gaYyi3KQn6AyI,6217
|
45
46
|
odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=fuIyMgIwp_UWrlR75TeAKMrfiK-kd2lH8xshLkwWeRg,4191
|
46
|
-
odoo/addons/base_tier_validation/tests/__init__.py,sha256=
|
47
|
-
odoo/addons/base_tier_validation/tests/common.py,sha256=
|
47
|
+
odoo/addons/base_tier_validation/tests/__init__.py,sha256=7tj1DSbPnyA__lAKxvjX53Ll_ZTE8y8Z1bewtZJoURI,166
|
48
|
+
odoo/addons/base_tier_validation/tests/common.py,sha256=sl4yBrOQzQW7nXJMeXIMYPp606NcOHeWGlZpElwQKrk,3080
|
48
49
|
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=u2p6FZuLYsx4Ol1quw6wresVtvxkbp87Nbof4qid_KA,38308
|
50
|
+
odoo/addons/base_tier_validation/tests/test_tier_validation_reminder.py,sha256=jsLU-7pJtbUvKPi7ddXU4jAwiJp32pKTrluarrtLKvU,1963
|
49
51
|
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=3usFbhfDhlKIWbVu--3qsbsm52B6RwTP4zy244dY1yk,1757
|
50
52
|
odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=Al6XKCN1QGLPcgAaXTvEnSTYkwBrzDGfSRh3CQD4g5Q,4234
|
51
|
-
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=
|
53
|
+
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=uQoI-IIQ92EgnqaVFp-IKheX_oh9s-1De5b2y23MxFU,7210
|
52
54
|
odoo/addons/base_tier_validation/views/tier_review_view.xml,sha256=tPzmpz-kbQwOOtJrAcsTJEP9bJLcfzWAITCpI86kZU4,966
|
53
55
|
odoo/addons/base_tier_validation/views/tier_validation_exception_view.xml,sha256=aDtHtZU_5eVIvSQgT8uhM26aKYC7Sp0KUBYwd1eM3KM,5219
|
54
56
|
odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
|
55
57
|
odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
|
56
58
|
odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
|
57
|
-
odoo_addon_base_tier_validation-16.0.2.
|
58
|
-
odoo_addon_base_tier_validation-16.0.2.
|
59
|
-
odoo_addon_base_tier_validation-16.0.2.
|
60
|
-
odoo_addon_base_tier_validation-16.0.2.
|
59
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.dist-info/METADATA,sha256=53oPpDPT55_QhwUEa1wzQlm5WlvqHzGCvagDWJtTWus,8506
|
60
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
61
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
62
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.dist-info/RECORD,,
|
File without changes
|