odoo-addon-base-tier-validation 16.0.2.1.0.3__py3-none-any.whl → 16.0.2.2.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 +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/es.po +36 -0
- odoo/addons/base_tier_validation/i18n/es_MX.po +36 -0
- odoo/addons/base_tier_validation/i18n/fr.po +36 -0
- odoo/addons/base_tier_validation/i18n/it.po +38 -1
- odoo/addons/base_tier_validation/i18n/nl_NL.po +36 -0
- odoo/addons/base_tier_validation/i18n/sv.po +36 -0
- odoo/addons/base_tier_validation/i18n/tr.po +36 -0
- odoo/addons/base_tier_validation/i18n/zh_CN.po +36 -0
- 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.3.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.1.dist-info}/METADATA +2 -2
- {odoo_addon_base_tier_validation-16.0.2.1.0.3.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.1.dist-info}/RECORD +24 -22
- {odoo_addon_base_tier_validation-16.0.2.1.0.3.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.1.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-16.0.2.1.0.3.dist-info → odoo_addon_base_tier_validation-16.0.2.2.0.1.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"
|
@@ -50,6 +50,13 @@ msgid "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
|
50
50
|
msgstr ""
|
51
51
|
"<span>Omitido, si el nivel anterior fue validado por el mismo revisor</span>"
|
52
52
|
|
53
|
+
#. module: base_tier_validation
|
54
|
+
#. odoo-python
|
55
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
56
|
+
#, python-format
|
57
|
+
msgid "A review has been requested %s days ago."
|
58
|
+
msgstr ""
|
59
|
+
|
53
60
|
#. module: base_tier_validation
|
54
61
|
#. odoo-python
|
55
62
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -392,6 +399,11 @@ msgstr "Está en proceso de Validación"
|
|
392
399
|
msgid "Last Modified on"
|
393
400
|
msgstr "Última modificación en"
|
394
401
|
|
402
|
+
#. module: base_tier_validation
|
403
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
404
|
+
msgid "Last Reminder Date"
|
405
|
+
msgstr ""
|
406
|
+
|
395
407
|
#. module: base_tier_validation
|
396
408
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
397
409
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -478,6 +490,13 @@ msgstr "Notificar revisores cuando se Rechaza"
|
|
478
490
|
msgid "Notify Reviewers on Restarted"
|
479
491
|
msgstr "Notificar revisores cuando se Reinicia"
|
480
492
|
|
493
|
+
#. module: base_tier_validation
|
494
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
495
|
+
msgid ""
|
496
|
+
"Number of days after which a message must be posted to remind about pending "
|
497
|
+
"validation (0 = no reminder)"
|
498
|
+
msgstr ""
|
499
|
+
|
481
500
|
#. module: base_tier_validation
|
482
501
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
483
502
|
msgid ""
|
@@ -625,6 +644,17 @@ msgstr "Revisores"
|
|
625
644
|
msgid "Reviews"
|
626
645
|
msgstr "Revisiones"
|
627
646
|
|
647
|
+
#. module: base_tier_validation
|
648
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
649
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
650
|
+
msgid "Send Tier Review Reminder"
|
651
|
+
msgstr ""
|
652
|
+
|
653
|
+
#. module: base_tier_validation
|
654
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
655
|
+
msgid "Send reminder message on pending reviews"
|
656
|
+
msgstr ""
|
657
|
+
|
628
658
|
#. module: base_tier_validation
|
629
659
|
#. odoo-javascript
|
630
660
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -734,6 +764,12 @@ msgstr "Excepciones de Validación del Tier"
|
|
734
764
|
msgid "Tier Validation Rejected Notification"
|
735
765
|
msgstr "Validación de nivel Notificación rechazada"
|
736
766
|
|
767
|
+
#. module: base_tier_validation
|
768
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
769
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
770
|
+
msgid "Tier Validation Reminder"
|
771
|
+
msgstr ""
|
772
|
+
|
737
773
|
#. module: base_tier_validation
|
738
774
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
739
775
|
msgid "Tier Validation Requested"
|
@@ -48,6 +48,13 @@ msgstr "<span class=\"oe_edit_only\">Nombre</span>"
|
|
48
48
|
msgid "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
49
49
|
msgstr ""
|
50
50
|
|
51
|
+
#. module: base_tier_validation
|
52
|
+
#. odoo-python
|
53
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
54
|
+
#, python-format
|
55
|
+
msgid "A review has been requested %s days ago."
|
56
|
+
msgstr ""
|
57
|
+
|
51
58
|
#. module: base_tier_validation
|
52
59
|
#. odoo-python
|
53
60
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -382,6 +389,11 @@ msgstr ""
|
|
382
389
|
msgid "Last Modified on"
|
383
390
|
msgstr "Última modificación el"
|
384
391
|
|
392
|
+
#. module: base_tier_validation
|
393
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
394
|
+
msgid "Last Reminder Date"
|
395
|
+
msgstr ""
|
396
|
+
|
385
397
|
#. module: base_tier_validation
|
386
398
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
387
399
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -468,6 +480,13 @@ msgstr ""
|
|
468
480
|
msgid "Notify Reviewers on Restarted"
|
469
481
|
msgstr ""
|
470
482
|
|
483
|
+
#. module: base_tier_validation
|
484
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
485
|
+
msgid ""
|
486
|
+
"Number of days after which a message must be posted to remind about pending "
|
487
|
+
"validation (0 = no reminder)"
|
488
|
+
msgstr ""
|
489
|
+
|
471
490
|
#. module: base_tier_validation
|
472
491
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
473
492
|
msgid ""
|
@@ -610,6 +629,17 @@ msgstr "Revisores"
|
|
610
629
|
msgid "Reviews"
|
611
630
|
msgstr "Comentarios"
|
612
631
|
|
632
|
+
#. module: base_tier_validation
|
633
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
634
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
635
|
+
msgid "Send Tier Review Reminder"
|
636
|
+
msgstr ""
|
637
|
+
|
638
|
+
#. module: base_tier_validation
|
639
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
640
|
+
msgid "Send reminder message on pending reviews"
|
641
|
+
msgstr ""
|
642
|
+
|
613
643
|
#. module: base_tier_validation
|
614
644
|
#. odoo-javascript
|
615
645
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -719,6 +749,12 @@ msgstr ""
|
|
719
749
|
msgid "Tier Validation Rejected Notification"
|
720
750
|
msgstr "Notificación de rechazo de validación de nivel"
|
721
751
|
|
752
|
+
#. module: base_tier_validation
|
753
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
754
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
755
|
+
msgid "Tier Validation Reminder"
|
756
|
+
msgstr ""
|
757
|
+
|
722
758
|
#. module: base_tier_validation
|
723
759
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
724
760
|
msgid "Tier Validation Requested"
|
@@ -50,6 +50,13 @@ msgstr ""
|
|
50
50
|
"<span>Contourné, si le niveau précédent a été validé par le même réviseur</"
|
51
51
|
"span>"
|
52
52
|
|
53
|
+
#. module: base_tier_validation
|
54
|
+
#. odoo-python
|
55
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
56
|
+
#, python-format
|
57
|
+
msgid "A review has been requested %s days ago."
|
58
|
+
msgstr ""
|
59
|
+
|
53
60
|
#. module: base_tier_validation
|
54
61
|
#. odoo-python
|
55
62
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -395,6 +402,11 @@ msgstr "En cours de processus de validation"
|
|
395
402
|
msgid "Last Modified on"
|
396
403
|
msgstr "Dernière modification le"
|
397
404
|
|
405
|
+
#. module: base_tier_validation
|
406
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
407
|
+
msgid "Last Reminder Date"
|
408
|
+
msgstr ""
|
409
|
+
|
398
410
|
#. module: base_tier_validation
|
399
411
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
400
412
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -481,6 +493,13 @@ msgstr "Notifier les réviseurs au refus"
|
|
481
493
|
msgid "Notify Reviewers on Restarted"
|
482
494
|
msgstr "Notifier les révisieurs au redémarrage"
|
483
495
|
|
496
|
+
#. module: base_tier_validation
|
497
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
498
|
+
msgid ""
|
499
|
+
"Number of days after which a message must be posted to remind about pending "
|
500
|
+
"validation (0 = no reminder)"
|
501
|
+
msgstr ""
|
502
|
+
|
484
503
|
#. module: base_tier_validation
|
485
504
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
486
505
|
msgid ""
|
@@ -627,6 +646,17 @@ msgstr "Réviseurs"
|
|
627
646
|
msgid "Reviews"
|
628
647
|
msgstr "Revues"
|
629
648
|
|
649
|
+
#. module: base_tier_validation
|
650
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
651
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
652
|
+
msgid "Send Tier Review Reminder"
|
653
|
+
msgstr ""
|
654
|
+
|
655
|
+
#. module: base_tier_validation
|
656
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
657
|
+
msgid "Send reminder message on pending reviews"
|
658
|
+
msgstr ""
|
659
|
+
|
630
660
|
#. module: base_tier_validation
|
631
661
|
#. odoo-javascript
|
632
662
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -736,6 +766,12 @@ msgstr ""
|
|
736
766
|
msgid "Tier Validation Rejected Notification"
|
737
767
|
msgstr "Validation par niveau - Notification - Rejetée"
|
738
768
|
|
769
|
+
#. module: base_tier_validation
|
770
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
771
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
772
|
+
msgid "Tier Validation Reminder"
|
773
|
+
msgstr ""
|
774
|
+
|
739
775
|
#. module: base_tier_validation
|
740
776
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
741
777
|
msgid "Tier Validation Requested"
|
@@ -31,7 +31,8 @@ msgstr "<i class=\"fa fa-info-circle\"/> Il record deve essere validato."
|
|
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 ""
|
35
|
+
"<i class=\"fa fa-thumbs-down\"/> L'operazione è stata <b>rifiutata</b>."
|
35
36
|
|
36
37
|
#. module: base_tier_validation
|
37
38
|
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
@@ -50,6 +51,13 @@ msgstr ""
|
|
50
51
|
"<span>Aggirato, se il livello precedente è stato validato dallo stesso "
|
51
52
|
"revisore</span>"
|
52
53
|
|
54
|
+
#. module: base_tier_validation
|
55
|
+
#. odoo-python
|
56
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
57
|
+
#, python-format
|
58
|
+
msgid "A review has been requested %s days ago."
|
59
|
+
msgstr ""
|
60
|
+
|
53
61
|
#. module: base_tier_validation
|
54
62
|
#. odoo-python
|
55
63
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -393,6 +401,11 @@ msgstr "È nel processo di validazione"
|
|
393
401
|
msgid "Last Modified on"
|
394
402
|
msgstr "Ultima modifica il"
|
395
403
|
|
404
|
+
#. module: base_tier_validation
|
405
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
406
|
+
msgid "Last Reminder Date"
|
407
|
+
msgstr ""
|
408
|
+
|
396
409
|
#. module: base_tier_validation
|
397
410
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
398
411
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -479,6 +492,13 @@ msgstr "Notifica revisori quando respinta"
|
|
479
492
|
msgid "Notify Reviewers on Restarted"
|
480
493
|
msgstr "Notifica revisori al riavvio"
|
481
494
|
|
495
|
+
#. module: base_tier_validation
|
496
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
497
|
+
msgid ""
|
498
|
+
"Number of days after which a message must be posted to remind about pending "
|
499
|
+
"validation (0 = no reminder)"
|
500
|
+
msgstr ""
|
501
|
+
|
482
502
|
#. module: base_tier_validation
|
483
503
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
484
504
|
msgid ""
|
@@ -626,6 +646,17 @@ msgstr "Revisori"
|
|
626
646
|
msgid "Reviews"
|
627
647
|
msgstr "Revisioni"
|
628
648
|
|
649
|
+
#. module: base_tier_validation
|
650
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
651
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
652
|
+
msgid "Send Tier Review Reminder"
|
653
|
+
msgstr ""
|
654
|
+
|
655
|
+
#. module: base_tier_validation
|
656
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
657
|
+
msgid "Send reminder message on pending reviews"
|
658
|
+
msgstr ""
|
659
|
+
|
629
660
|
#. module: base_tier_validation
|
630
661
|
#. odoo-javascript
|
631
662
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -735,6 +766,12 @@ msgstr "Eccezioni validazione livello"
|
|
735
766
|
msgid "Tier Validation Rejected Notification"
|
736
767
|
msgstr "Notifica rifiuto livello approvazione"
|
737
768
|
|
769
|
+
#. module: base_tier_validation
|
770
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
771
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
772
|
+
msgid "Tier Validation Reminder"
|
773
|
+
msgstr ""
|
774
|
+
|
738
775
|
#. module: base_tier_validation
|
739
776
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
740
777
|
msgid "Tier Validation Requested"
|
@@ -50,6 +50,13 @@ msgstr ""
|
|
50
50
|
"<span>Overslaan, als het vorige niveau door dezelfde beoordelaar is "
|
51
51
|
"gevalideerd</span>"
|
52
52
|
|
53
|
+
#. module: base_tier_validation
|
54
|
+
#. odoo-python
|
55
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
56
|
+
#, python-format
|
57
|
+
msgid "A review has been requested %s days ago."
|
58
|
+
msgstr ""
|
59
|
+
|
53
60
|
#. module: base_tier_validation
|
54
61
|
#. odoo-python
|
55
62
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -386,6 +393,11 @@ msgstr ""
|
|
386
393
|
msgid "Last Modified on"
|
387
394
|
msgstr "Laatst gewijzigd op"
|
388
395
|
|
396
|
+
#. module: base_tier_validation
|
397
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
398
|
+
msgid "Last Reminder Date"
|
399
|
+
msgstr ""
|
400
|
+
|
389
401
|
#. module: base_tier_validation
|
390
402
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
391
403
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -472,6 +484,13 @@ msgstr ""
|
|
472
484
|
msgid "Notify Reviewers on Restarted"
|
473
485
|
msgstr ""
|
474
486
|
|
487
|
+
#. module: base_tier_validation
|
488
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
489
|
+
msgid ""
|
490
|
+
"Number of days after which a message must be posted to remind about pending "
|
491
|
+
"validation (0 = no reminder)"
|
492
|
+
msgstr ""
|
493
|
+
|
475
494
|
#. module: base_tier_validation
|
476
495
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
477
496
|
msgid ""
|
@@ -617,6 +636,17 @@ msgstr "Beoordelaars"
|
|
617
636
|
msgid "Reviews"
|
618
637
|
msgstr "Beoordelingen"
|
619
638
|
|
639
|
+
#. module: base_tier_validation
|
640
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
641
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
642
|
+
msgid "Send Tier Review Reminder"
|
643
|
+
msgstr ""
|
644
|
+
|
645
|
+
#. module: base_tier_validation
|
646
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
647
|
+
msgid "Send reminder message on pending reviews"
|
648
|
+
msgstr ""
|
649
|
+
|
620
650
|
#. module: base_tier_validation
|
621
651
|
#. odoo-javascript
|
622
652
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -728,6 +758,12 @@ msgstr ""
|
|
728
758
|
msgid "Tier Validation Rejected Notification"
|
729
759
|
msgstr "Tier-validatie (abstract)"
|
730
760
|
|
761
|
+
#. module: base_tier_validation
|
762
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
763
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
764
|
+
msgid "Tier Validation Reminder"
|
765
|
+
msgstr ""
|
766
|
+
|
731
767
|
#. module: base_tier_validation
|
732
768
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
733
769
|
msgid "Tier Validation Requested"
|
@@ -49,6 +49,13 @@ msgid "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
|
49
49
|
msgstr ""
|
50
50
|
"<span>Förbigås om föregående nivå validerades av samma granskare</span>"
|
51
51
|
|
52
|
+
#. module: base_tier_validation
|
53
|
+
#. odoo-python
|
54
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
55
|
+
#, python-format
|
56
|
+
msgid "A review has been requested %s days ago."
|
57
|
+
msgstr ""
|
58
|
+
|
52
59
|
#. module: base_tier_validation
|
53
60
|
#. odoo-python
|
54
61
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -384,6 +391,11 @@ msgstr ""
|
|
384
391
|
msgid "Last Modified on"
|
385
392
|
msgstr "Senast ändrad den"
|
386
393
|
|
394
|
+
#. module: base_tier_validation
|
395
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
396
|
+
msgid "Last Reminder Date"
|
397
|
+
msgstr ""
|
398
|
+
|
387
399
|
#. module: base_tier_validation
|
388
400
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
389
401
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -470,6 +482,13 @@ msgstr ""
|
|
470
482
|
msgid "Notify Reviewers on Restarted"
|
471
483
|
msgstr ""
|
472
484
|
|
485
|
+
#. module: base_tier_validation
|
486
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
487
|
+
msgid ""
|
488
|
+
"Number of days after which a message must be posted to remind about pending "
|
489
|
+
"validation (0 = no reminder)"
|
490
|
+
msgstr ""
|
491
|
+
|
473
492
|
#. module: base_tier_validation
|
474
493
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
475
494
|
msgid ""
|
@@ -616,6 +635,17 @@ msgstr "Granskare"
|
|
616
635
|
msgid "Reviews"
|
617
636
|
msgstr "Granskningar"
|
618
637
|
|
638
|
+
#. module: base_tier_validation
|
639
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
640
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
641
|
+
msgid "Send Tier Review Reminder"
|
642
|
+
msgstr ""
|
643
|
+
|
644
|
+
#. module: base_tier_validation
|
645
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
646
|
+
msgid "Send reminder message on pending reviews"
|
647
|
+
msgstr ""
|
648
|
+
|
619
649
|
#. module: base_tier_validation
|
620
650
|
#. odoo-javascript
|
621
651
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -725,6 +755,12 @@ msgstr ""
|
|
725
755
|
msgid "Tier Validation Rejected Notification"
|
726
756
|
msgstr "Meddelande vid nekad attestering"
|
727
757
|
|
758
|
+
#. module: base_tier_validation
|
759
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
760
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
761
|
+
msgid "Tier Validation Reminder"
|
762
|
+
msgstr ""
|
763
|
+
|
728
764
|
#. module: base_tier_validation
|
729
765
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
730
766
|
msgid "Tier Validation Requested"
|
@@ -48,6 +48,13 @@ msgstr "<span class=\"oe_edit_only\">Adı</span>"
|
|
48
48
|
msgid "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
49
49
|
msgstr ""
|
50
50
|
|
51
|
+
#. module: base_tier_validation
|
52
|
+
#. odoo-python
|
53
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
54
|
+
#, python-format
|
55
|
+
msgid "A review has been requested %s days ago."
|
56
|
+
msgstr ""
|
57
|
+
|
51
58
|
#. module: base_tier_validation
|
52
59
|
#. odoo-python
|
53
60
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -381,6 +388,11 @@ msgstr ""
|
|
381
388
|
msgid "Last Modified on"
|
382
389
|
msgstr "Son Düzenleme"
|
383
390
|
|
391
|
+
#. module: base_tier_validation
|
392
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
393
|
+
msgid "Last Reminder Date"
|
394
|
+
msgstr ""
|
395
|
+
|
384
396
|
#. module: base_tier_validation
|
385
397
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
386
398
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -467,6 +479,13 @@ msgstr ""
|
|
467
479
|
msgid "Notify Reviewers on Restarted"
|
468
480
|
msgstr ""
|
469
481
|
|
482
|
+
#. module: base_tier_validation
|
483
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
484
|
+
msgid ""
|
485
|
+
"Number of days after which a message must be posted to remind about pending "
|
486
|
+
"validation (0 = no reminder)"
|
487
|
+
msgstr ""
|
488
|
+
|
470
489
|
#. module: base_tier_validation
|
471
490
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
472
491
|
msgid ""
|
@@ -609,6 +628,17 @@ msgstr "İnceleyenler"
|
|
609
628
|
msgid "Reviews"
|
610
629
|
msgstr "İncelemeler"
|
611
630
|
|
631
|
+
#. module: base_tier_validation
|
632
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
633
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
634
|
+
msgid "Send Tier Review Reminder"
|
635
|
+
msgstr ""
|
636
|
+
|
637
|
+
#. module: base_tier_validation
|
638
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
639
|
+
msgid "Send reminder message on pending reviews"
|
640
|
+
msgstr ""
|
641
|
+
|
612
642
|
#. module: base_tier_validation
|
613
643
|
#. odoo-javascript
|
614
644
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -718,6 +748,12 @@ msgstr ""
|
|
718
748
|
msgid "Tier Validation Rejected Notification"
|
719
749
|
msgstr "Seviye Doğrulaması Reddedildi Bildirimi"
|
720
750
|
|
751
|
+
#. module: base_tier_validation
|
752
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
753
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
754
|
+
msgid "Tier Validation Reminder"
|
755
|
+
msgstr ""
|
756
|
+
|
721
757
|
#. module: base_tier_validation
|
722
758
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
723
759
|
msgid "Tier Validation Requested"
|
@@ -48,6 +48,13 @@ msgstr "<span class=\"oe_edit_only\">名称</span>"
|
|
48
48
|
msgid "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
49
49
|
msgstr ""
|
50
50
|
|
51
|
+
#. module: base_tier_validation
|
52
|
+
#. odoo-python
|
53
|
+
#: code:addons/base_tier_validation/models/tier_review.py:0
|
54
|
+
#, python-format
|
55
|
+
msgid "A review has been requested %s days ago."
|
56
|
+
msgstr ""
|
57
|
+
|
51
58
|
#. module: base_tier_validation
|
52
59
|
#. odoo-python
|
53
60
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -377,6 +384,11 @@ msgstr ""
|
|
377
384
|
msgid "Last Modified on"
|
378
385
|
msgstr "最近修改时间"
|
379
386
|
|
387
|
+
#. module: base_tier_validation
|
388
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
389
|
+
msgid "Last Reminder Date"
|
390
|
+
msgstr ""
|
391
|
+
|
380
392
|
#. module: base_tier_validation
|
381
393
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
382
394
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
@@ -463,6 +475,13 @@ msgstr ""
|
|
463
475
|
msgid "Notify Reviewers on Restarted"
|
464
476
|
msgstr ""
|
465
477
|
|
478
|
+
#. module: base_tier_validation
|
479
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
480
|
+
msgid ""
|
481
|
+
"Number of days after which a message must be posted to remind about pending "
|
482
|
+
"validation (0 = no reminder)"
|
483
|
+
msgstr ""
|
484
|
+
|
466
485
|
#. module: base_tier_validation
|
467
486
|
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
468
487
|
msgid ""
|
@@ -605,6 +624,17 @@ msgstr "审批者"
|
|
605
624
|
msgid "Reviews"
|
606
625
|
msgstr "审批"
|
607
626
|
|
627
|
+
#. module: base_tier_validation
|
628
|
+
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
629
|
+
#: model:ir.cron,cron_name:base_tier_validation.ir_cron_auto_tier_validation
|
630
|
+
msgid "Send Tier Review Reminder"
|
631
|
+
msgstr ""
|
632
|
+
|
633
|
+
#. module: base_tier_validation
|
634
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
635
|
+
msgid "Send reminder message on pending reviews"
|
636
|
+
msgstr ""
|
637
|
+
|
608
638
|
#. module: base_tier_validation
|
609
639
|
#. odoo-javascript
|
610
640
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
@@ -716,6 +746,12 @@ msgstr ""
|
|
716
746
|
msgid "Tier Validation Rejected Notification"
|
717
747
|
msgstr "多层级审批(抽象)"
|
718
748
|
|
749
|
+
#. module: base_tier_validation
|
750
|
+
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
751
|
+
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
752
|
+
msgid "Tier Validation Reminder"
|
753
|
+
msgstr ""
|
754
|
+
|
719
755
|
#. module: base_tier_validation
|
720
756
|
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
721
757
|
msgid "Tier Validation Requested"
|
@@ -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.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)
|
@@ -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,21 +1,22 @@
|
|
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/
|
6
|
-
odoo/addons/base_tier_validation/i18n/
|
7
|
-
odoo/addons/base_tier_validation/i18n/
|
8
|
-
odoo/addons/base_tier_validation/i18n/
|
9
|
-
odoo/addons/base_tier_validation/i18n/
|
10
|
-
odoo/addons/base_tier_validation/i18n/
|
11
|
-
odoo/addons/base_tier_validation/i18n/
|
12
|
-
odoo/addons/base_tier_validation/i18n/
|
13
|
-
odoo/addons/base_tier_validation/i18n/
|
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
|
7
|
+
odoo/addons/base_tier_validation/i18n/es.po,sha256=0Id49dI-uxgcnS0iPMmGElK5l_jhuiMx5AkYwinUu_M,37163
|
8
|
+
odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=Q8weB18QtHnIgaBES-bN6I5Poi1KuIJ5ot4XTr1IxZY,35264
|
9
|
+
odoo/addons/base_tier_validation/i18n/fr.po,sha256=giYZyUH6IEJZ_p6Oyw3Gb9UN-d1p0IadATli0qEBN8I,37070
|
10
|
+
odoo/addons/base_tier_validation/i18n/it.po,sha256=OLR_aFp8vgwNVfrGk67R0NbHogLzt_Fhlz5K8jXDC1A,37896
|
11
|
+
odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=zRoGX8x8prL0seKYptlAP0ybPrASDu7MAmaKmr36s68,36145
|
12
|
+
odoo/addons/base_tier_validation/i18n/sv.po,sha256=kJxowv-XM_w4bsoFYwhkqH-D32oyeMfS77YiYjhUvHk,36134
|
13
|
+
odoo/addons/base_tier_validation/i18n/tr.po,sha256=xgYhs25FXuVQ2ETIW63h1fXYtMP_d6tHADtGzKD68Tg,35166
|
14
|
+
odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=XbCSLyicGTx3xpLLQmFTanqful20bRSrdK1alc6lM0Q,33717
|
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.1.dist-info/METADATA,sha256=YDNJwEKH14O9ydqae4HyCgwkszI-oiccilgLsP-itNk,8508
|
60
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
61
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
62
|
+
odoo_addon_base_tier_validation-16.0.2.2.0.1.dist-info/RECORD,,
|
File without changes
|