odoo-addon-base-tier-validation 17.0.1.4.0.2__py3-none-any.whl → 17.0.1.5.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.
Files changed (21) hide show
  1. odoo/addons/base_tier_validation/README.rst +2 -1
  2. odoo/addons/base_tier_validation/__manifest__.py +1 -1
  3. odoo/addons/base_tier_validation/i18n/base_tier_validation.pot +36 -0
  4. odoo/addons/base_tier_validation/i18n/es.po +36 -0
  5. odoo/addons/base_tier_validation/i18n/es_MX.po +36 -0
  6. odoo/addons/base_tier_validation/i18n/fr.po +36 -0
  7. odoo/addons/base_tier_validation/i18n/it.po +36 -0
  8. odoo/addons/base_tier_validation/i18n/nl_NL.po +36 -0
  9. odoo/addons/base_tier_validation/i18n/sv.po +36 -0
  10. odoo/addons/base_tier_validation/i18n/tr.po +36 -0
  11. odoo/addons/base_tier_validation/i18n/zh_CN.po +36 -0
  12. odoo/addons/base_tier_validation/models/tier_definition.py +15 -0
  13. odoo/addons/base_tier_validation/models/tier_validation.py +47 -7
  14. odoo/addons/base_tier_validation/readme/CONTRIBUTORS.md +1 -0
  15. odoo/addons/base_tier_validation/static/description/index.html +2 -1
  16. odoo/addons/base_tier_validation/tests/test_tier_validation.py +370 -0
  17. odoo/addons/base_tier_validation/views/tier_definition_view.xml +3 -0
  18. {odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info → odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info}/METADATA +3 -2
  19. {odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info → odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info}/RECORD +21 -21
  20. {odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info → odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info}/WHEEL +1 -1
  21. {odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info → odoo_addon_base_tier_validation-17.0.1.5.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:b86e53f3617e4f990f334c8abe41ab2518107fa108c7a184dbdb79c5e1668655
10
+ !! source digest: sha256:1972fd9b89f95ec6bdb14bea217d28a7f7ca6df56e7517a86e002f9e36c9d3b6
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
@@ -234,6 +234,7 @@ Contributors
234
234
  - Javier Colmeiro <javier.colmeiro@braintec.com>
235
235
  - bosd
236
236
  - Evan Soh <evan.soh@omnisoftsolution.com>
237
+ - Manuel Regidor <manuel.regidor@sygel.es>
237
238
 
238
239
  Maintainers
239
240
  -----------
@@ -3,7 +3,7 @@
3
3
  {
4
4
  "name": "Base Tier Validation",
5
5
  "summary": "Implement a validation process based on tiers.",
6
- "version": "17.0.1.4.0",
6
+ "version": "17.0.1.5.0",
7
7
  "development_status": "Mature",
8
8
  "maintainers": ["LoisRForgeFlow"],
9
9
  "category": "Tools",
@@ -329,6 +329,27 @@ msgid ""
329
329
  " to review is sent out when it's their turn to review."
330
330
  msgstr ""
331
331
 
332
+ #. module: base_tier_validation
333
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
334
+ msgid ""
335
+ "If set, reviewers will be notified by email when a review related to this "
336
+ "definition is accepted."
337
+ msgstr ""
338
+
339
+ #. module: base_tier_validation
340
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
341
+ msgid ""
342
+ "If set, reviewers will be notified by email when a review related to this "
343
+ "definition is rejected."
344
+ msgstr ""
345
+
346
+ #. module: base_tier_validation
347
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
348
+ msgid ""
349
+ "If set, reviewers will be notified by email when a reviews related to this "
350
+ "definition are restarted."
351
+ msgstr ""
352
+
332
353
  #. module: base_tier_validation
333
354
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
334
355
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -385,11 +406,26 @@ msgstr ""
385
406
  msgid "No reviews to do."
386
407
  msgstr ""
387
408
 
409
+ #. module: base_tier_validation
410
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
411
+ msgid "Notify Reviewers on Accepted"
412
+ msgstr ""
413
+
388
414
  #. module: base_tier_validation
389
415
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
390
416
  msgid "Notify Reviewers on Creation"
391
417
  msgstr ""
392
418
 
419
+ #. module: base_tier_validation
420
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
421
+ msgid "Notify Reviewers on Rejected"
422
+ msgstr ""
423
+
424
+ #. module: base_tier_validation
425
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
426
+ msgid "Notify Reviewers on Restarted"
427
+ msgstr ""
428
+
393
429
  #. module: base_tier_validation
394
430
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
395
431
  msgid "Notify Reviewers on reaching Pending"
@@ -354,6 +354,27 @@ msgstr ""
354
354
  "aprobación por secuencia. Se envía una solicitud de notificación de revisión "
355
355
  "cuando les toca revisar."
356
356
 
357
+ #. module: base_tier_validation
358
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
359
+ msgid ""
360
+ "If set, reviewers will be notified by email when a review related to this "
361
+ "definition is accepted."
362
+ msgstr ""
363
+
364
+ #. module: base_tier_validation
365
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
366
+ msgid ""
367
+ "If set, reviewers will be notified by email when a review related to this "
368
+ "definition is rejected."
369
+ msgstr ""
370
+
371
+ #. module: base_tier_validation
372
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
373
+ msgid ""
374
+ "If set, reviewers will be notified by email when a reviews related to this "
375
+ "definition are restarted."
376
+ msgstr ""
377
+
357
378
  #. module: base_tier_validation
358
379
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
359
380
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -410,11 +431,26 @@ msgstr "Siguiente: %s"
410
431
  msgid "No reviews to do."
411
432
  msgstr "No hay revisiones a realizar."
412
433
 
434
+ #. module: base_tier_validation
435
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
436
+ msgid "Notify Reviewers on Accepted"
437
+ msgstr ""
438
+
413
439
  #. module: base_tier_validation
414
440
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
415
441
  msgid "Notify Reviewers on Creation"
416
442
  msgstr "Notificar a los revisores en la creación"
417
443
 
444
+ #. module: base_tier_validation
445
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
446
+ msgid "Notify Reviewers on Rejected"
447
+ msgstr ""
448
+
449
+ #. module: base_tier_validation
450
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
451
+ msgid "Notify Reviewers on Restarted"
452
+ msgstr ""
453
+
418
454
  #. module: base_tier_validation
419
455
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
420
456
  msgid "Notify Reviewers on reaching Pending"
@@ -337,6 +337,27 @@ msgid ""
337
337
  "to review is sent out when it's their turn to review."
338
338
  msgstr ""
339
339
 
340
+ #. module: base_tier_validation
341
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
342
+ msgid ""
343
+ "If set, reviewers will be notified by email when a review related to this "
344
+ "definition is accepted."
345
+ msgstr ""
346
+
347
+ #. module: base_tier_validation
348
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
349
+ msgid ""
350
+ "If set, reviewers will be notified by email when a review related to this "
351
+ "definition is rejected."
352
+ msgstr ""
353
+
354
+ #. module: base_tier_validation
355
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
356
+ msgid ""
357
+ "If set, reviewers will be notified by email when a reviews related to this "
358
+ "definition are restarted."
359
+ msgstr ""
360
+
340
361
  #. module: base_tier_validation
341
362
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
342
363
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -393,11 +414,26 @@ msgstr ""
393
414
  msgid "No reviews to do."
394
415
  msgstr "No hay revisiones que hacer."
395
416
 
417
+ #. module: base_tier_validation
418
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
419
+ msgid "Notify Reviewers on Accepted"
420
+ msgstr ""
421
+
396
422
  #. module: base_tier_validation
397
423
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
398
424
  msgid "Notify Reviewers on Creation"
399
425
  msgstr "Notificar a los revisores sobre la creación"
400
426
 
427
+ #. module: base_tier_validation
428
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
429
+ msgid "Notify Reviewers on Rejected"
430
+ msgstr ""
431
+
432
+ #. module: base_tier_validation
433
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
434
+ msgid "Notify Reviewers on Restarted"
435
+ msgstr ""
436
+
401
437
  #. module: base_tier_validation
402
438
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
403
439
  msgid "Notify Reviewers on reaching Pending"
@@ -338,6 +338,27 @@ msgid ""
338
338
  "to review is sent out when it's their turn to review."
339
339
  msgstr ""
340
340
 
341
+ #. module: base_tier_validation
342
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
343
+ msgid ""
344
+ "If set, reviewers will be notified by email when a review related to this "
345
+ "definition is accepted."
346
+ msgstr ""
347
+
348
+ #. module: base_tier_validation
349
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
350
+ msgid ""
351
+ "If set, reviewers will be notified by email when a review related to this "
352
+ "definition is rejected."
353
+ msgstr ""
354
+
355
+ #. module: base_tier_validation
356
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
357
+ msgid ""
358
+ "If set, reviewers will be notified by email when a reviews related to this "
359
+ "definition are restarted."
360
+ msgstr ""
361
+
341
362
  #. module: base_tier_validation
342
363
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
343
364
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -394,11 +415,26 @@ msgstr "Suivante : %s"
394
415
  msgid "No reviews to do."
395
416
  msgstr "Aucune revue n'est nécessaire."
396
417
 
418
+ #. module: base_tier_validation
419
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
420
+ msgid "Notify Reviewers on Accepted"
421
+ msgstr ""
422
+
397
423
  #. module: base_tier_validation
398
424
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
399
425
  msgid "Notify Reviewers on Creation"
400
426
  msgstr "Notifier les réviseurs à la création"
401
427
 
428
+ #. module: base_tier_validation
429
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
430
+ msgid "Notify Reviewers on Rejected"
431
+ msgstr ""
432
+
433
+ #. module: base_tier_validation
434
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
435
+ msgid "Notify Reviewers on Restarted"
436
+ msgstr ""
437
+
402
438
  #. module: base_tier_validation
403
439
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
404
440
  msgid "Notify Reviewers on reaching Pending"
@@ -355,6 +355,27 @@ msgstr ""
355
355
  "questo stato è raggiunto. Utile in uno scenario di approvazione in sequenza. "
356
356
  "Una notifica di revisione è inviata quando è il turno di revisione."
357
357
 
358
+ #. module: base_tier_validation
359
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
360
+ msgid ""
361
+ "If set, reviewers will be notified by email when a review related to this "
362
+ "definition is accepted."
363
+ msgstr ""
364
+
365
+ #. module: base_tier_validation
366
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
367
+ msgid ""
368
+ "If set, reviewers will be notified by email when a review related to this "
369
+ "definition is rejected."
370
+ msgstr ""
371
+
372
+ #. module: base_tier_validation
373
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
374
+ msgid ""
375
+ "If set, reviewers will be notified by email when a reviews related to this "
376
+ "definition are restarted."
377
+ msgstr ""
378
+
358
379
  #. module: base_tier_validation
359
380
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
360
381
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -411,11 +432,26 @@ msgstr "Prossimo: %s"
411
432
  msgid "No reviews to do."
412
433
  msgstr "Nessuna approvazione da fare."
413
434
 
435
+ #. module: base_tier_validation
436
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
437
+ msgid "Notify Reviewers on Accepted"
438
+ msgstr ""
439
+
414
440
  #. module: base_tier_validation
415
441
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
416
442
  msgid "Notify Reviewers on Creation"
417
443
  msgstr "Notifica Approvatori su Creazione"
418
444
 
445
+ #. module: base_tier_validation
446
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
447
+ msgid "Notify Reviewers on Rejected"
448
+ msgstr ""
449
+
450
+ #. module: base_tier_validation
451
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
452
+ msgid "Notify Reviewers on Restarted"
453
+ msgstr ""
454
+
419
455
  #. module: base_tier_validation
420
456
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
421
457
  msgid "Notify Reviewers on reaching Pending"
@@ -351,6 +351,27 @@ msgid ""
351
351
  "to review is sent out when it's their turn to review."
352
352
  msgstr ""
353
353
 
354
+ #. module: base_tier_validation
355
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
356
+ msgid ""
357
+ "If set, reviewers will be notified by email when a review related to this "
358
+ "definition is accepted."
359
+ msgstr ""
360
+
361
+ #. module: base_tier_validation
362
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
363
+ msgid ""
364
+ "If set, reviewers will be notified by email when a review related to this "
365
+ "definition is rejected."
366
+ msgstr ""
367
+
368
+ #. module: base_tier_validation
369
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
370
+ msgid ""
371
+ "If set, reviewers will be notified by email when a reviews related to this "
372
+ "definition are restarted."
373
+ msgstr ""
374
+
354
375
  #. module: base_tier_validation
355
376
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
356
377
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -407,11 +428,26 @@ msgstr "Volgende: %s"
407
428
  msgid "No reviews to do."
408
429
  msgstr "Geen beoordelingen te doen."
409
430
 
431
+ #. module: base_tier_validation
432
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
433
+ msgid "Notify Reviewers on Accepted"
434
+ msgstr ""
435
+
410
436
  #. module: base_tier_validation
411
437
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
412
438
  msgid "Notify Reviewers on Creation"
413
439
  msgstr "Informeer beoordelaar bij het maken"
414
440
 
441
+ #. module: base_tier_validation
442
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
443
+ msgid "Notify Reviewers on Rejected"
444
+ msgstr ""
445
+
446
+ #. module: base_tier_validation
447
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
448
+ msgid "Notify Reviewers on Restarted"
449
+ msgstr ""
450
+
415
451
  #. module: base_tier_validation
416
452
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
417
453
  msgid "Notify Reviewers on reaching Pending"
@@ -336,6 +336,27 @@ msgid ""
336
336
  "to review is sent out when it's their turn to review."
337
337
  msgstr ""
338
338
 
339
+ #. module: base_tier_validation
340
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
341
+ msgid ""
342
+ "If set, reviewers will be notified by email when a review related to this "
343
+ "definition is accepted."
344
+ msgstr ""
345
+
346
+ #. module: base_tier_validation
347
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
348
+ msgid ""
349
+ "If set, reviewers will be notified by email when a review related to this "
350
+ "definition is rejected."
351
+ msgstr ""
352
+
353
+ #. module: base_tier_validation
354
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
355
+ msgid ""
356
+ "If set, reviewers will be notified by email when a reviews related to this "
357
+ "definition are restarted."
358
+ msgstr ""
359
+
339
360
  #. module: base_tier_validation
340
361
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
341
362
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -392,11 +413,26 @@ msgstr "Nästa: %s"
392
413
  msgid "No reviews to do."
393
414
  msgstr "Inga granskningar att göra."
394
415
 
416
+ #. module: base_tier_validation
417
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
418
+ msgid "Notify Reviewers on Accepted"
419
+ msgstr ""
420
+
395
421
  #. module: base_tier_validation
396
422
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
397
423
  msgid "Notify Reviewers on Creation"
398
424
  msgstr "Meddela granskare vid skapande"
399
425
 
426
+ #. module: base_tier_validation
427
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
428
+ msgid "Notify Reviewers on Rejected"
429
+ msgstr ""
430
+
431
+ #. module: base_tier_validation
432
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
433
+ msgid "Notify Reviewers on Restarted"
434
+ msgstr ""
435
+
400
436
  #. module: base_tier_validation
401
437
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
402
438
  msgid "Notify Reviewers on reaching Pending"
@@ -336,6 +336,27 @@ msgid ""
336
336
  "to review is sent out when it's their turn to review."
337
337
  msgstr ""
338
338
 
339
+ #. module: base_tier_validation
340
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
341
+ msgid ""
342
+ "If set, reviewers will be notified by email when a review related to this "
343
+ "definition is accepted."
344
+ msgstr ""
345
+
346
+ #. module: base_tier_validation
347
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
348
+ msgid ""
349
+ "If set, reviewers will be notified by email when a review related to this "
350
+ "definition is rejected."
351
+ msgstr ""
352
+
353
+ #. module: base_tier_validation
354
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
355
+ msgid ""
356
+ "If set, reviewers will be notified by email when a reviews related to this "
357
+ "definition are restarted."
358
+ msgstr ""
359
+
339
360
  #. module: base_tier_validation
340
361
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
341
362
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -392,11 +413,26 @@ msgstr "Sonraki: %s"
392
413
  msgid "No reviews to do."
393
414
  msgstr "Yapacak inceleme yok."
394
415
 
416
+ #. module: base_tier_validation
417
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
418
+ msgid "Notify Reviewers on Accepted"
419
+ msgstr ""
420
+
395
421
  #. module: base_tier_validation
396
422
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
397
423
  msgid "Notify Reviewers on Creation"
398
424
  msgstr "İncelemeleri Oluşturma Hakkında Bilgilendir"
399
425
 
426
+ #. module: base_tier_validation
427
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
428
+ msgid "Notify Reviewers on Rejected"
429
+ msgstr ""
430
+
431
+ #. module: base_tier_validation
432
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
433
+ msgid "Notify Reviewers on Restarted"
434
+ msgstr ""
435
+
400
436
  #. module: base_tier_validation
401
437
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
402
438
  msgid "Notify Reviewers on reaching Pending"
@@ -332,6 +332,27 @@ msgid ""
332
332
  "to review is sent out when it's their turn to review."
333
333
  msgstr ""
334
334
 
335
+ #. module: base_tier_validation
336
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
337
+ msgid ""
338
+ "If set, reviewers will be notified by email when a review related to this "
339
+ "definition is accepted."
340
+ msgstr ""
341
+
342
+ #. module: base_tier_validation
343
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
344
+ msgid ""
345
+ "If set, reviewers will be notified by email when a review related to this "
346
+ "definition is rejected."
347
+ msgstr ""
348
+
349
+ #. module: base_tier_validation
350
+ #: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
351
+ msgid ""
352
+ "If set, reviewers will be notified by email when a reviews related to this "
353
+ "definition are restarted."
354
+ msgstr ""
355
+
335
356
  #. module: base_tier_validation
336
357
  #: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
337
358
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
@@ -388,11 +409,26 @@ msgstr ""
388
409
  msgid "No reviews to do."
389
410
  msgstr "没有待审批的项目。"
390
411
 
412
+ #. module: base_tier_validation
413
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
414
+ msgid "Notify Reviewers on Accepted"
415
+ msgstr ""
416
+
391
417
  #. module: base_tier_validation
392
418
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
393
419
  msgid "Notify Reviewers on Creation"
394
420
  msgstr "创建时通知审批人"
395
421
 
422
+ #. module: base_tier_validation
423
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
424
+ msgid "Notify Reviewers on Rejected"
425
+ msgstr ""
426
+
427
+ #. module: base_tier_validation
428
+ #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
429
+ msgid "Notify Reviewers on Restarted"
430
+ msgstr ""
431
+
396
432
  #. module: base_tier_validation
397
433
  #: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
398
434
  msgid "Notify Reviewers on reaching Pending"
@@ -74,6 +74,21 @@ class TierDefinition(models.Model):
74
74
  "Usefull in an Approve by sequence scenario. "
75
75
  "An notification request to review is sent out when it's their turn to review.",
76
76
  )
77
+ notify_on_accepted = fields.Boolean(
78
+ string="Notify Reviewers on Accepted",
79
+ help="If set, reviewers will be notified by email when a review related "
80
+ "to this definition is accepted.",
81
+ )
82
+ notify_on_rejected = fields.Boolean(
83
+ string="Notify Reviewers on Rejected",
84
+ help="If set, reviewers will be notified by email when a review related "
85
+ "to this definition is rejected.",
86
+ )
87
+ notify_on_restarted = fields.Boolean(
88
+ string="Notify Reviewers on Restarted",
89
+ help="If set, reviewers will be notified by email when a reviews related "
90
+ "to this definition are restarted.",
91
+ )
77
92
  has_comment = fields.Boolean(string="Comment", default=False)
78
93
  approve_sequence = fields.Boolean(
79
94
  string="Approve by sequence",
@@ -352,9 +352,20 @@ class TierValidation(models.AbstractModel):
352
352
  "reviewed_date": fields.Datetime.now(),
353
353
  }
354
354
  )
355
- for review in user_reviews:
356
- rec = self.env[review.model].browse(review.res_id)
357
- rec._notify_accepted_reviews()
355
+ reviews_to_notify = user_reviews.filtered(
356
+ lambda r: r.definition_id.notify_on_accepted
357
+ )
358
+ if reviews_to_notify:
359
+ subscribe = "message_subscribe"
360
+ if hasattr(self, subscribe):
361
+ getattr(self, subscribe)(
362
+ partner_ids=reviews_to_notify.mapped("reviewer_ids")
363
+ .mapped("partner_id")
364
+ .ids
365
+ )
366
+ for review in reviews_to_notify:
367
+ rec = self.env[review.model].browse(review.res_id)
368
+ rec._notify_accepted_reviews()
358
369
 
359
370
  def _get_requested_notification_subtype(self):
360
371
  return "base_tier_validation.mt_tier_validation_requested"
@@ -459,9 +470,21 @@ class TierValidation(models.AbstractModel):
459
470
  "reviewed_date": fields.Datetime.now(),
460
471
  }
461
472
  )
462
- for review in user_reviews:
463
- rec = self.env[review.model].browse(review.res_id)
464
- rec._notify_rejected_review()
473
+
474
+ reviews_to_notify = user_reviews.filtered(
475
+ lambda r: r.definition_id.notify_on_rejected
476
+ )
477
+ if reviews_to_notify:
478
+ subscribe = "message_subscribe"
479
+ if hasattr(self, subscribe):
480
+ getattr(self, subscribe)(
481
+ partner_ids=reviews_to_notify.mapped("reviewer_ids")
482
+ .mapped("partner_id")
483
+ .ids
484
+ )
485
+ for review in reviews_to_notify:
486
+ rec = self.env[review.model].browse(review.res_id)
487
+ rec._notify_rejected_review()
465
488
 
466
489
  def _notify_created_review_body(self):
467
490
  return _("A record to be reviewed has been created by %s.") % (
@@ -536,6 +559,7 @@ class TierValidation(models.AbstractModel):
536
559
 
537
560
  def restart_validation(self):
538
561
  for rec in self:
562
+ partners_to_notify_ids = False
539
563
  if getattr(rec, self._state_field) in self._state_from:
540
564
  to_update_counter = (
541
565
  rec.mapped("review_ids").filtered(
@@ -544,10 +568,26 @@ class TierValidation(models.AbstractModel):
544
568
  and True
545
569
  or False
546
570
  )
571
+ reviews_to_notify = rec.review_ids.filtered(
572
+ lambda r: r.definition_id.notify_on_restarted
573
+ )
574
+ if reviews_to_notify:
575
+ partners_to_notify_ids = (
576
+ reviews_to_notify.mapped("reviewer_ids")
577
+ .mapped("partner_id")
578
+ .ids
579
+ )
547
580
  rec.mapped("review_ids").unlink()
548
581
  if to_update_counter:
549
582
  self._update_counter({"review_deleted": True})
550
- rec._notify_restarted_review()
583
+ if partners_to_notify_ids:
584
+ subscribe = "message_subscribe"
585
+ reviews_to_notify = rec.review_ids.filtered(
586
+ lambda r: r.definition_id.notify_on_restarted
587
+ )
588
+ if hasattr(self, subscribe):
589
+ getattr(self, subscribe)(partner_ids=partners_to_notify_ids)
590
+ rec._notify_restarted_review()
551
591
 
552
592
  @api.model
553
593
  def _update_counter(self, review_counter):
@@ -9,3 +9,4 @@
9
9
  - Javier Colmeiro \<<javier.colmeiro@braintec.com>\>
10
10
  - bosd
11
11
  - Evan Soh \<<evan.soh@omnisoftsolution.com>\>
12
+ - Manuel Regidor \<<manuel.regidor@sygel.es>\>
@@ -366,7 +366,7 @@ ul.auto-toc {
366
366
  !! This file is generated by oca-gen-addon-readme !!
367
367
  !! changes will be overwritten. !!
368
368
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
369
- !! source digest: sha256:b86e53f3617e4f990f334c8abe41ab2518107fa108c7a184dbdb79c5e1668655
369
+ !! source digest: sha256:1972fd9b89f95ec6bdb14bea217d28a7f7ca6df56e7517a86e002f9e36c9d3b6
370
370
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
371
371
  <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/17.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-17-0/server-ux-17-0-base_tier_validation"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/server-ux&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
372
372
  <p>Validating some operations is a common need across different areas in a
@@ -587,6 +587,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
587
587
  <li>Javier Colmeiro &lt;<a class="reference external" href="mailto:javier.colmeiro&#64;braintec.com">javier.colmeiro&#64;braintec.com</a>&gt;</li>
588
588
  <li>bosd</li>
589
589
  <li>Evan Soh &lt;<a class="reference external" href="mailto:evan.soh&#64;omnisoftsolution.com">evan.soh&#64;omnisoftsolution.com</a>&gt;</li>
590
+ <li>Manuel Regidor &lt;<a class="reference external" href="mailto:manuel.regidor&#64;sygel.es">manuel.regidor&#64;sygel.es</a>&gt;</li>
590
591
  </ul>
591
592
  </div>
592
593
  <div class="section" id="maintainers">
@@ -547,6 +547,376 @@ class TierTierValidation(CommonTierValidation):
547
547
  request = test_record2._notify_requested_review_body()
548
548
  self.assertIn(request, msg2)
549
549
 
550
+ def test_21_notify_on_create(self):
551
+ # notify on create
552
+ tier_definition = self.env["tier.definition"].search([])
553
+ tier_definition.write(
554
+ {
555
+ "notify_on_create": True,
556
+ "notify_on_accepted": False,
557
+ "notify_on_rejected": False,
558
+ "notify_on_restarted": False,
559
+ "review_type": "group",
560
+ "reviewer_group_id": self.env.ref("base.group_system").id,
561
+ }
562
+ )
563
+ test_record_1 = self.test_model.create({"test_field": 1})
564
+ notifications_no_1 = len(
565
+ self.env["mail.notification"].search(
566
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
567
+ )
568
+ )
569
+ test_record_1.request_validation()
570
+ notifications_no_2 = len(
571
+ self.env["mail.notification"].search(
572
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
573
+ )
574
+ )
575
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
576
+
577
+ # do not notify on create
578
+ tier_definition.write({"notify_on_create": False})
579
+ test_record_2 = self.test_model.create({"test_field": 1})
580
+ notifications_no_1 = len(
581
+ self.env["mail.notification"].search(
582
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
583
+ )
584
+ )
585
+ test_record_2.request_validation()
586
+ notifications_no_2 = len(
587
+ self.env["mail.notification"].search(
588
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
589
+ )
590
+ )
591
+ self.assertEqual(notifications_no_2, notifications_no_1)
592
+
593
+ def test_22_notify_on_accepted(self):
594
+ self.test_user_2.write(
595
+ {
596
+ "groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
597
+ }
598
+ )
599
+
600
+ # notify on accepted
601
+ tier_definition = self.env["tier.definition"].search([])
602
+ tier_definition.write(
603
+ {
604
+ "notify_on_create": False,
605
+ "notify_on_accepted": True,
606
+ "notify_on_rejected": False,
607
+ "notify_on_restarted": False,
608
+ "review_type": "group",
609
+ "reviewer_group_id": self.env.ref("base.group_system").id,
610
+ }
611
+ )
612
+ test_record_1 = self.test_model.create({"test_field": 1})
613
+ test_record_1.request_validation()
614
+ test_record_1.invalidate_model()
615
+ record = test_record_1.with_user(self.test_user_2.id)
616
+ notifications_no_1 = len(
617
+ self.env["mail.notification"].search(
618
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
619
+ )
620
+ )
621
+ record.validate_tier()
622
+ notifications_no_2 = len(
623
+ self.env["mail.notification"].search(
624
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
625
+ )
626
+ )
627
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
628
+
629
+ # do not notify on accepted
630
+ tier_definition.write({"notify_on_accepted": False})
631
+ test_record_2 = self.test_model.create({"test_field": 1})
632
+ test_record_2.request_validation()
633
+ test_record_2.invalidate_model()
634
+ test_record_2.with_user(self.test_user_2.id)
635
+ notifications_no_1 = len(
636
+ self.env["mail.notification"].search(
637
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
638
+ )
639
+ )
640
+ test_record_2.validate_tier()
641
+ notifications_no_2 = len(
642
+ self.env["mail.notification"].search(
643
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
644
+ )
645
+ )
646
+ self.assertEqual(notifications_no_2, notifications_no_1)
647
+
648
+ def test_23_notify_on_rejected(self):
649
+ self.test_user_2.write(
650
+ {
651
+ "groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
652
+ }
653
+ )
654
+
655
+ # notify on rejected
656
+ tier_definition = self.env["tier.definition"].search([])
657
+ tier_definition.write(
658
+ {
659
+ "notify_on_create": False,
660
+ "notify_on_accepted": False,
661
+ "notify_on_rejected": True,
662
+ "notify_on_restarted": False,
663
+ "review_type": "group",
664
+ "reviewer_group_id": self.env.ref("base.group_system").id,
665
+ }
666
+ )
667
+ test_record_1 = self.test_model.create({"test_field": 1})
668
+ test_record_1.request_validation()
669
+ test_record_1.invalidate_model()
670
+ record = test_record_1.with_user(self.test_user_2.id)
671
+ notifications_no_1 = len(
672
+ self.env["mail.notification"].search(
673
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
674
+ )
675
+ )
676
+ record.reject_tier()
677
+ notifications_no_2 = len(
678
+ self.env["mail.notification"].search(
679
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
680
+ )
681
+ )
682
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
683
+
684
+ # do not notify on rejected
685
+ tier_definition.write({"notify_on_rejected": False})
686
+ test_record_2 = self.test_model.create({"test_field": 1})
687
+ test_record_2.request_validation()
688
+ test_record_2.invalidate_model()
689
+ test_record_2.with_user(self.test_user_2.id)
690
+
691
+ notifications_no_1 = len(
692
+ self.env["mail.notification"].search(
693
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
694
+ )
695
+ )
696
+ test_record_2.reject_tier()
697
+ notifications_no_2 = len(
698
+ self.env["mail.notification"].search(
699
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
700
+ )
701
+ )
702
+ self.assertEqual(notifications_no_2, notifications_no_1)
703
+
704
+ def test_24_notify_on_restarted(self):
705
+ self.test_user_2.write(
706
+ {
707
+ "groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
708
+ }
709
+ )
710
+
711
+ # notify on restarted
712
+ tier_definition = self.env["tier.definition"].search([])
713
+ tier_definition.write(
714
+ {
715
+ "notify_on_create": False,
716
+ "notify_on_accepted": False,
717
+ "notify_on_rejected": False,
718
+ "notify_on_restarted": True,
719
+ "review_type": "group",
720
+ "reviewer_group_id": self.env.ref("base.group_system").id,
721
+ }
722
+ )
723
+ test_record_1 = self.test_model.create({"test_field": 1})
724
+ test_record_1.request_validation()
725
+ test_record_1.invalidate_model()
726
+ record = test_record_1.with_user(self.test_user_2.id)
727
+ notifications_no_1 = len(
728
+ self.env["mail.notification"].search(
729
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
730
+ )
731
+ )
732
+ record.restart_validation()
733
+ notifications_no_2 = len(
734
+ self.env["mail.notification"].search(
735
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
736
+ )
737
+ )
738
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
739
+
740
+ # do not notify on restarted
741
+ tier_definition.write({"notify_on_restarted": False})
742
+ test_record_2 = self.test_model.create({"test_field": 1})
743
+ test_record_2.request_validation()
744
+ test_record_2.with_user(self.test_user_2.id)
745
+ notifications_no_1 = len(
746
+ self.env["mail.notification"].search(
747
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
748
+ )
749
+ )
750
+ test_record_2.restart_validation()
751
+ notifications_no_2 = len(
752
+ self.env["mail.notification"].search(
753
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
754
+ )
755
+ )
756
+ self.assertEqual(notifications_no_2, notifications_no_1)
757
+
758
+ def test_25_all_notification(self):
759
+ self.test_user_2.write(
760
+ {
761
+ "groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
762
+ }
763
+ )
764
+
765
+ # notify on restarted
766
+ tier_definition = self.env["tier.definition"].search([])
767
+ tier_definition.write(
768
+ {
769
+ "notify_on_create": True,
770
+ "notify_on_accepted": True,
771
+ "notify_on_rejected": True,
772
+ "notify_on_restarted": True,
773
+ "review_type": "group",
774
+ "reviewer_group_id": self.env.ref("base.group_system").id,
775
+ }
776
+ )
777
+
778
+ test_record = self.test_model.create({"test_field": 1})
779
+
780
+ # request validation
781
+ notifications_no_1 = len(
782
+ self.env["mail.notification"].search(
783
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
784
+ )
785
+ )
786
+ test_record.request_validation()
787
+ test_record.invalidate_model()
788
+ notifications_no_2 = len(
789
+ self.env["mail.notification"].search(
790
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
791
+ )
792
+ )
793
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
794
+
795
+ # accept validation
796
+ record = test_record.with_user(self.test_user_2.id)
797
+ notifications_no_1 = len(
798
+ self.env["mail.notification"].search(
799
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
800
+ )
801
+ )
802
+ record.validate_tier()
803
+ notifications_no_2 = len(
804
+ self.env["mail.notification"].search(
805
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
806
+ )
807
+ )
808
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
809
+
810
+ # restart validation
811
+ notifications_no_1 = len(
812
+ self.env["mail.notification"].search(
813
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
814
+ )
815
+ )
816
+ record.restart_validation()
817
+ notifications_no_2 = len(
818
+ self.env["mail.notification"].search(
819
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
820
+ )
821
+ )
822
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
823
+
824
+ # reject validation
825
+ record.request_validation()
826
+ notifications_no_1 = len(
827
+ self.env["mail.notification"].search(
828
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
829
+ )
830
+ )
831
+ record.reject_tier()
832
+ notifications_no_2 = len(
833
+ self.env["mail.notification"].search(
834
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
835
+ )
836
+ )
837
+ self.assertEqual(notifications_no_2, notifications_no_1 + 1)
838
+
839
+ def test_26_no_notification(self):
840
+ self.test_user_2.write(
841
+ {
842
+ "groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
843
+ }
844
+ )
845
+
846
+ # notify on restarted
847
+ tier_definition = self.env["tier.definition"].search([])
848
+ tier_definition.write(
849
+ {
850
+ "notify_on_create": False,
851
+ "notify_on_accepted": False,
852
+ "notify_on_rejected": False,
853
+ "notify_on_restarted": False,
854
+ "review_type": "group",
855
+ "reviewer_group_id": self.env.ref("base.group_system").id,
856
+ }
857
+ )
858
+
859
+ test_record = self.test_model.create({"test_field": 1})
860
+
861
+ # request validation
862
+ notifications_no_1 = len(
863
+ self.env["mail.notification"].search(
864
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
865
+ )
866
+ )
867
+ test_record.request_validation()
868
+ test_record.invalidate_model()
869
+ notifications_no_2 = len(
870
+ self.env["mail.notification"].search(
871
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
872
+ )
873
+ )
874
+ self.assertEqual(notifications_no_2, notifications_no_1)
875
+
876
+ # accept validation
877
+ record = test_record.with_user(self.test_user_2.id)
878
+ notifications_no_1 = len(
879
+ self.env["mail.notification"].search(
880
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
881
+ )
882
+ )
883
+ record.validate_tier()
884
+ notifications_no_2 = len(
885
+ self.env["mail.notification"].search(
886
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
887
+ )
888
+ )
889
+ self.assertEqual(notifications_no_2, notifications_no_1)
890
+
891
+ # restart validation
892
+ notifications_no_1 = len(
893
+ self.env["mail.notification"].search(
894
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
895
+ )
896
+ )
897
+ record.restart_validation()
898
+ notifications_no_2 = len(
899
+ self.env["mail.notification"].search(
900
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
901
+ )
902
+ )
903
+ self.assertEqual(notifications_no_2, notifications_no_1)
904
+
905
+ # reject validation
906
+ record.request_validation()
907
+ notifications_no_1 = len(
908
+ self.env["mail.notification"].search(
909
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
910
+ )
911
+ )
912
+ record.reject_tier()
913
+ notifications_no_2 = len(
914
+ self.env["mail.notification"].search(
915
+ [("res_partner_id", "=", self.test_user_1.partner_id.id)]
916
+ )
917
+ )
918
+ self.assertEqual(notifications_no_2, notifications_no_1)
919
+
550
920
 
551
921
  @tagged("at_install")
552
922
  class TierTierValidationView(CommonTierValidation):
@@ -113,6 +113,9 @@
113
113
  <group name="notify">
114
114
  <field name="notify_on_create" />
115
115
  <field name="notify_on_pending" />
116
+ <field name="notify_on_accepted" />
117
+ <field name="notify_on_rejected" />
118
+ <field name="notify_on_restarted" />
116
119
  <field name="has_comment" />
117
120
  </group>
118
121
  </group>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-base_tier_validation
3
- Version: 17.0.1.4.0.2
3
+ Version: 17.0.1.5.0.1
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: odoo>=17.0a,<17.1dev
6
6
  Summary: Implement a validation process based on tiers.
@@ -23,7 +23,7 @@ Base Tier Validation
23
23
  !! This file is generated by oca-gen-addon-readme !!
24
24
  !! changes will be overwritten. !!
25
25
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
26
- !! source digest: sha256:b86e53f3617e4f990f334c8abe41ab2518107fa108c7a184dbdb79c5e1668655
26
+ !! source digest: sha256:1972fd9b89f95ec6bdb14bea217d28a7f7ca6df56e7517a86e002f9e36c9d3b6
27
27
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
28
 
29
29
  .. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
@@ -250,6 +250,7 @@ Contributors
250
250
  - Javier Colmeiro <javier.colmeiro@braintec.com>
251
251
  - bosd
252
252
  - Evan Soh <evan.soh@omnisoftsolution.com>
253
+ - Manuel Regidor <manuel.regidor@sygel.es>
253
254
 
254
255
  Maintainers
255
256
  -----------
@@ -1,31 +1,31 @@
1
- odoo/addons/base_tier_validation/README.rst,sha256=CfBrOWfHXfp9M4XrL-RDBrgvbIAd1bW-sy_qp7srWGo,7483
1
+ odoo/addons/base_tier_validation/README.rst,sha256=W2QwSTAQX70dj8m1y5arzETy6nyNg4U7CGCXdab3WJc,7527
2
2
  odoo/addons/base_tier_validation/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
3
- odoo/addons/base_tier_validation/__manifest__.py,sha256=zzk8CuEdcL3PMmqA8FViDGKAU6ks-JLoTe_fItudWyY,1606
3
+ odoo/addons/base_tier_validation/__manifest__.py,sha256=ZO4UIXhoEDSDAkxrdJuKkS7GIcJD9ajbmP8gKxOKh1U,1606
4
4
  odoo/addons/base_tier_validation/data/mail_data.xml,sha256=UKzkLT8rYrFuThdp43v7nLW5SOco4vvIIAhbB_IAQZs,1414
5
- odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=pcmAuaFLDnNUJH5isYM1ozy2vIP0JzXNkDZNAnddnEM,25498
6
- odoo/addons/base_tier_validation/i18n/es.po,sha256=x7mKy-aAUVl9Ijxl-6YConughgKn5OcEDaLpRLjF67c,30670
7
- odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=1Re5Z3UraWIdrrZcm-jyGoe-rVFP2H7eBdvYIdqCyFQ,28893
8
- odoo/addons/base_tier_validation/i18n/fr.po,sha256=j9QdTbyYRkMeyh6G2yJKtyQi0iHJBRLhjrIeYdJ8Pq8,29899
9
- odoo/addons/base_tier_validation/i18n/it.po,sha256=fIaR2W6twNUMRu5XaCmJxArtzlrMV7XS5iF17p3plwU,30339
10
- odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=Vc54wa2AonY2RqsfDwFMdZr2sgRMTY8vO_EarGLApdg,29192
11
- odoo/addons/base_tier_validation/i18n/sv.po,sha256=_WiydgpRy4z_gZXL5CBpwwgXzXc3kNIPnzYY07Y8OHM,29476
12
- odoo/addons/base_tier_validation/i18n/tr.po,sha256=pM0BvBkSRNyR47DeNC1QfghfeGNulmb5aGTQ4WZJ0Io,28765
13
- odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=Jmi_pm1r_abBoCcoLNQfV6TFChpFLpLePQ-nWHPx4Cs,27316
5
+ odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=kLaZk1QzRvPUFTxYyATaYg7Xtqj6ZqKT8j4V6Lwh_jQ,26806
6
+ odoo/addons/base_tier_validation/i18n/es.po,sha256=KuWBksLhuFyMwJ38FX9GZjEQ9f7ACTrI4PsTW2Qi8II,31978
7
+ odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=jZqztOsZHTRMOY9d2iK1OG0HYCufAhuFK9cGoXvJ2KE,30201
8
+ odoo/addons/base_tier_validation/i18n/fr.po,sha256=nxS-gcZ8rtqdX6IJbIDRpj6tWw2s-d3GQTJ0IjFzZaA,31207
9
+ odoo/addons/base_tier_validation/i18n/it.po,sha256=x38KQc9DL9aoPACJGS5Nx4w34RmWuCOwnpA9A1J_e6Q,31647
10
+ odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=8-gfWvAqGgFjX5EE9FMeypSFsAp_mSX6McCIdBFE5h0,30500
11
+ odoo/addons/base_tier_validation/i18n/sv.po,sha256=fr81ONp-Y7xBvMW83d9ryLQsZCfiyILv741CaVQ6nYo,30784
12
+ odoo/addons/base_tier_validation/i18n/tr.po,sha256=kJCCMKVkULuJjhh5SHf2SK7Pu03fmMaBuoNckKd2MSY,30073
13
+ odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=0gJMwbLvUSNpV64Yl9S49sr5Mb9mHeuPyFN9yE2lnQ4,28624
14
14
  odoo/addons/base_tier_validation/models/__init__.py,sha256=mLFF29I3WBYA2Qwlf9NU4pP2KwDKn5JpbZRzwe9-9pg,210
15
15
  odoo/addons/base_tier_validation/models/res_config_settings.py,sha256=xMdQiCfU5p7Z5puKcSRvJihLpI9ulyVFUd_QJjAOuwc,619
16
16
  odoo/addons/base_tier_validation/models/res_users.py,sha256=W7i5pJR4b5Pif9VWQW-0wpCIhyKGl0y3J8DS32oZWbA,2639
17
- odoo/addons/base_tier_validation/models/tier_definition.py,sha256=CNVZQP1BmssugMURmtXpXbYc2JAG_HkBDtomC6BVBh4,3463
17
+ odoo/addons/base_tier_validation/models/tier_definition.py,sha256=yHFe4atrr-zHUPAfmxB1BYyWK8oC172JTLPnEbCoanI,4125
18
18
  odoo/addons/base_tier_validation/models/tier_review.py,sha256=vuR832VVM-ZUDm-4j9zK1BSNnL0JfesxBSLyhW4Zia8,6754
19
- odoo/addons/base_tier_validation/models/tier_validation.py,sha256=2j2BOvX2Z1llpWfgmMmHCcx0Q_qMLUSGC3qe0RkpyY0,25498
19
+ odoo/addons/base_tier_validation/models/tier_validation.py,sha256=QdE966M-46aTix_rlIuKiH28pYrduf8jsjK2PHir61Q,27196
20
20
  odoo/addons/base_tier_validation/readme/CONFIGURE.md,sha256=95NOZLcm0wpb4a8gC89YlSibj7GZ1kz5IbDsuqaaNII,752
21
- odoo/addons/base_tier_validation/readme/CONTRIBUTORS.md,sha256=w3002J3TLL5kLX5O9-NguzKowvvozEIl4-M1n_4vXzU,457
21
+ odoo/addons/base_tier_validation/readme/CONTRIBUTORS.md,sha256=_JIIvdWdZ7iVO1dpyq9XJ1UtytA1gowJ9L0y0LABJuo,504
22
22
  odoo/addons/base_tier_validation/readme/DESCRIPTION.md,sha256=nFbYOx89EsI26v6NJF9d-Wm-X2YtHduSRlV5Euk3WWc,651
23
23
  odoo/addons/base_tier_validation/readme/HISTORY.md,sha256=P8GfoUhYG7QGIpa8Z0L67E3YEeZBFQCwpDXnt5WG-DY,1332
24
24
  odoo/addons/base_tier_validation/readme/ROADMAP.md,sha256=HRRQQuOlSeOF5yfqG0KuANnvrde8y6Suz2pbrXB1OyU,864
25
25
  odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=BuwLCexKbuj-5uOaxK8STRW1UMAhFJVaZj9Kto4iBp8,900
26
26
  odoo/addons/base_tier_validation/security/tier_validation_security.xml,sha256=eWFwz-osHgYFmVoEVzOSboO9oqUMtQ8oygyaz0os50Y,806
27
27
  odoo/addons/base_tier_validation/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
28
- odoo/addons/base_tier_validation/static/description/index.html,sha256=-AD6CaYXnh1BJHTbMP4v7s0EWoATZBs3o056-jUYfQY,21550
28
+ odoo/addons/base_tier_validation/static/description/index.html,sha256=sZbHc61YTHd5aYglL0jSigydsbjXQ5w40SsZ9dAi_og,21686
29
29
  odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.esm.js,sha256=MNfjKSg-9h3JfeXiYlf15SAdVHjj3aUvedj0BqVvJrk,2254
30
30
  odoo/addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml,sha256=_wIy5Gv2VUJEXD5_FGphx1J19-Y8uzFlWryuPqlIh8c,2798
31
31
  odoo/addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.esm.js,sha256=MDWUp2ozeRdBoLeCfTcOnD-bKnk3yF6pHwtTAnsLZmg,1090
@@ -35,15 +35,15 @@ odoo/addons/base_tier_validation/static/src/js/services/tier_review_service.esm.
35
35
  odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=VI6kY0V6nVSz6KQ9GRxY_9TZkRrJgzBzsl9xFKtA__Y,3620
36
36
  odoo/addons/base_tier_validation/tests/__init__.py,sha256=3z2_lQ9JiDSFDam4p24qDw5j02iaPb4m2naxv9DkbGA,122
37
37
  odoo/addons/base_tier_validation/tests/common.py,sha256=Q0g3zv6cYrSPx8QHwsikFxRmi7TtmuUr4ID_9WvImd8,4504
38
- odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=ZYPRFE_qSZVDgb6yQt66EJSuutn1h6BgjYhWtveXWWk,25288
38
+ odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=jSjddl2waQQzOMLGlAAuqKQrItlEeZodA7yMnasgE6g,38852
39
39
  odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=sUN-BRUHDDQ8t1Dze5c6H_2XQqop7c5cEsA4vJksEpA,1660
40
40
  odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=5HbrsAVaXRoQNX7utIQ_EzZrqzKnwBrV9uHsi-PHb9M,2640
41
- odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=mQSxrGTviV8tQk-2kMo3ZrokUsCLHk2FSsiMvfXOLwk,7396
41
+ odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=u0n0iMvMxECxoduao9IpYf1f0LG-sH7QXqIj1mKB1o4,7613
42
42
  odoo/addons/base_tier_validation/views/tier_review_view.xml,sha256=tPzmpz-kbQwOOtJrAcsTJEP9bJLcfzWAITCpI86kZU4,966
43
43
  odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
44
44
  odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
45
45
  odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
46
- odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info/METADATA,sha256=BWUoQqm9hYShq60cx7_rWU5DD_kNZu-UAMgfFLUj19I,8081
47
- odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info/WHEEL,sha256=0WPb27lpWF0K4Majm_kVmkl1QxJZxoKxO5GGil8gPB4,81
48
- odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
49
- odoo_addon_base_tier_validation-17.0.1.4.0.2.dist-info/RECORD,,
46
+ odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info/METADATA,sha256=1JOXDM9ngQpnzYY77dOJbq9pv4Y8f0bLLAcIRT93VTw,8125
47
+ odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info/WHEEL,sha256=n-3R37xDTBUi7r4325OZjhJyVIEQGKiCsyQgb8zW73A,81
48
+ odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
49
+ odoo_addon_base_tier_validation-17.0.1.5.0.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: Whool 0.5
2
+ Generator: Whool 1.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5