odoo-addon-base-tier-validation 16.0.1.4.1.19__py3-none-any.whl → 16.0.1.4.2.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 +2 -1
- odoo/addons/base_tier_validation/__manifest__.py +1 -1
- odoo/addons/base_tier_validation/i18n/base_tier_validation.pot +37 -1
- odoo/addons/base_tier_validation/i18n/es.po +37 -1
- odoo/addons/base_tier_validation/i18n/es_MX.po +37 -1
- odoo/addons/base_tier_validation/i18n/fr.po +37 -1
- odoo/addons/base_tier_validation/i18n/it.po +37 -1
- odoo/addons/base_tier_validation/i18n/nl_NL.po +37 -1
- odoo/addons/base_tier_validation/i18n/sv.po +37 -1
- odoo/addons/base_tier_validation/i18n/tr.po +37 -1
- odoo/addons/base_tier_validation/i18n/zh_CN.po +37 -1
- odoo/addons/base_tier_validation/models/tier_definition.py +15 -0
- odoo/addons/base_tier_validation/models/tier_validation.py +47 -7
- odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst +1 -0
- odoo/addons/base_tier_validation/static/description/index.html +2 -1
- odoo/addons/base_tier_validation/tests/test_tier_validation.py +370 -0
- odoo/addons/base_tier_validation/views/tier_definition_view.xml +3 -0
- {odoo_addon_base_tier_validation-16.0.1.4.1.19.dist-info → odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info}/METADATA +3 -2
- {odoo_addon_base_tier_validation-16.0.1.4.1.19.dist-info → odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info}/RECORD +21 -21
- {odoo_addon_base_tier_validation-16.0.1.4.1.19.dist-info → odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info}/WHEEL +0 -0
- {odoo_addon_base_tier_validation-16.0.1.4.1.19.dist-info → odoo_addon_base_tier_validation-16.0.1.4.2.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:81e217e874bdd41d3f7698778b4e6b504838558871697dc2fb34e6f288327bad
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -210,6 +210,7 @@ Contributors
|
|
210
210
|
* Kitti U. <kittiu@ecosoft.co.th>
|
211
211
|
* Saran Lim. <saranl@ecosoft.co.th>
|
212
212
|
* Evan Soh <evan.soh@omnisoftsolution.com>
|
213
|
+
* Manuel Regidor <manuel.regidor@sygel.es>
|
213
214
|
|
214
215
|
Maintainers
|
215
216
|
~~~~~~~~~~~
|
@@ -179,8 +179,8 @@ msgid "Cancel"
|
|
179
179
|
msgstr ""
|
180
180
|
|
181
181
|
#. module: base_tier_validation
|
182
|
-
#. odoo-python
|
183
182
|
#. odoo-javascript
|
183
|
+
#. odoo-python
|
184
184
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
185
185
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
186
186
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -306,6 +306,27 @@ msgid ""
|
|
306
306
|
"definition is triggered."
|
307
307
|
msgstr ""
|
308
308
|
|
309
|
+
#. module: base_tier_validation
|
310
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
311
|
+
msgid ""
|
312
|
+
"If set, reviewers will be notified by email when a review related to this "
|
313
|
+
"definition is accepted."
|
314
|
+
msgstr ""
|
315
|
+
|
316
|
+
#. module: base_tier_validation
|
317
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
318
|
+
msgid ""
|
319
|
+
"If set, reviewers will be notified by email when a review related to this "
|
320
|
+
"definition is rejected."
|
321
|
+
msgstr ""
|
322
|
+
|
323
|
+
#. module: base_tier_validation
|
324
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
325
|
+
msgid ""
|
326
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
327
|
+
"definition are restarted."
|
328
|
+
msgstr ""
|
329
|
+
|
309
330
|
#. module: base_tier_validation
|
310
331
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
311
332
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -369,11 +390,26 @@ msgstr ""
|
|
369
390
|
msgid "No reviews to do."
|
370
391
|
msgstr ""
|
371
392
|
|
393
|
+
#. module: base_tier_validation
|
394
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
395
|
+
msgid "Notify Reviewers on Accepted"
|
396
|
+
msgstr ""
|
397
|
+
|
372
398
|
#. module: base_tier_validation
|
373
399
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
374
400
|
msgid "Notify Reviewers on Creation"
|
375
401
|
msgstr ""
|
376
402
|
|
403
|
+
#. module: base_tier_validation
|
404
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
405
|
+
msgid "Notify Reviewers on Rejected"
|
406
|
+
msgstr ""
|
407
|
+
|
408
|
+
#. module: base_tier_validation
|
409
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
410
|
+
msgid "Notify Reviewers on Restarted"
|
411
|
+
msgstr ""
|
412
|
+
|
377
413
|
#. module: base_tier_validation
|
378
414
|
#. odoo-python
|
379
415
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -197,8 +197,8 @@ msgid "Cancel"
|
|
197
197
|
msgstr "Cancelar"
|
198
198
|
|
199
199
|
#. module: base_tier_validation
|
200
|
-
#. odoo-python
|
201
200
|
#. odoo-javascript
|
201
|
+
#. odoo-python
|
202
202
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
203
203
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
204
204
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -326,6 +326,27 @@ msgstr ""
|
|
326
326
|
"Si se establece, todos los posibles revisores serán notificados por correo "
|
327
327
|
"electrónico cuando se active esta definición."
|
328
328
|
|
329
|
+
#. module: base_tier_validation
|
330
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
331
|
+
msgid ""
|
332
|
+
"If set, reviewers will be notified by email when a review related to this "
|
333
|
+
"definition is accepted."
|
334
|
+
msgstr ""
|
335
|
+
|
336
|
+
#. module: base_tier_validation
|
337
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
338
|
+
msgid ""
|
339
|
+
"If set, reviewers will be notified by email when a review related to this "
|
340
|
+
"definition is rejected."
|
341
|
+
msgstr ""
|
342
|
+
|
343
|
+
#. module: base_tier_validation
|
344
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
345
|
+
msgid ""
|
346
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
347
|
+
"definition are restarted."
|
348
|
+
msgstr ""
|
349
|
+
|
329
350
|
#. module: base_tier_validation
|
330
351
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
331
352
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -389,11 +410,26 @@ msgstr "Siguiente: %s"
|
|
389
410
|
msgid "No reviews to do."
|
390
411
|
msgstr "No hay revisiones a realizar."
|
391
412
|
|
413
|
+
#. module: base_tier_validation
|
414
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
415
|
+
msgid "Notify Reviewers on Accepted"
|
416
|
+
msgstr ""
|
417
|
+
|
392
418
|
#. module: base_tier_validation
|
393
419
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
394
420
|
msgid "Notify Reviewers on Creation"
|
395
421
|
msgstr "Notificar a los revisores en la creación"
|
396
422
|
|
423
|
+
#. module: base_tier_validation
|
424
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
425
|
+
msgid "Notify Reviewers on Rejected"
|
426
|
+
msgstr ""
|
427
|
+
|
428
|
+
#. module: base_tier_validation
|
429
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
430
|
+
msgid "Notify Reviewers on Restarted"
|
431
|
+
msgstr ""
|
432
|
+
|
397
433
|
#. module: base_tier_validation
|
398
434
|
#. odoo-python
|
399
435
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -196,8 +196,8 @@ msgid "Cancel"
|
|
196
196
|
msgstr "Cancelado"
|
197
197
|
|
198
198
|
#. module: base_tier_validation
|
199
|
-
#. odoo-python
|
200
199
|
#. odoo-javascript
|
200
|
+
#. odoo-python
|
201
201
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
202
202
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
203
203
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -325,6 +325,27 @@ msgstr ""
|
|
325
325
|
"Si se establece, todos los posibles revisores serán notificados por correo "
|
326
326
|
"electrónico cuando se active esta definición."
|
327
327
|
|
328
|
+
#. module: base_tier_validation
|
329
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
330
|
+
msgid ""
|
331
|
+
"If set, reviewers will be notified by email when a review related to this "
|
332
|
+
"definition is accepted."
|
333
|
+
msgstr ""
|
334
|
+
|
335
|
+
#. module: base_tier_validation
|
336
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
337
|
+
msgid ""
|
338
|
+
"If set, reviewers will be notified by email when a review related to this "
|
339
|
+
"definition is rejected."
|
340
|
+
msgstr ""
|
341
|
+
|
342
|
+
#. module: base_tier_validation
|
343
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
344
|
+
msgid ""
|
345
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
346
|
+
"definition are restarted."
|
347
|
+
msgstr ""
|
348
|
+
|
328
349
|
#. module: base_tier_validation
|
329
350
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
330
351
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -388,11 +409,26 @@ msgstr ""
|
|
388
409
|
msgid "No reviews to do."
|
389
410
|
msgstr "No hay revisiones que hacer."
|
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 "Notificar a los revisores sobre la creación"
|
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
|
#. odoo-python
|
398
434
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -197,8 +197,8 @@ msgid "Cancel"
|
|
197
197
|
msgstr "Annuler"
|
198
198
|
|
199
199
|
#. module: base_tier_validation
|
200
|
-
#. odoo-python
|
201
200
|
#. odoo-javascript
|
201
|
+
#. odoo-python
|
202
202
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
203
203
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
204
204
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -326,6 +326,27 @@ msgstr ""
|
|
326
326
|
"Avec cette option, tous les réviseurs autorisés seront notifiés par email "
|
327
327
|
"lors du déclenchement de cette définition."
|
328
328
|
|
329
|
+
#. module: base_tier_validation
|
330
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
331
|
+
msgid ""
|
332
|
+
"If set, reviewers will be notified by email when a review related to this "
|
333
|
+
"definition is accepted."
|
334
|
+
msgstr ""
|
335
|
+
|
336
|
+
#. module: base_tier_validation
|
337
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
338
|
+
msgid ""
|
339
|
+
"If set, reviewers will be notified by email when a review related to this "
|
340
|
+
"definition is rejected."
|
341
|
+
msgstr ""
|
342
|
+
|
343
|
+
#. module: base_tier_validation
|
344
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
345
|
+
msgid ""
|
346
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
347
|
+
"definition are restarted."
|
348
|
+
msgstr ""
|
349
|
+
|
329
350
|
#. module: base_tier_validation
|
330
351
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
331
352
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -389,11 +410,26 @@ msgstr "Suivante : %s"
|
|
389
410
|
msgid "No reviews to do."
|
390
411
|
msgstr "Aucune revue n'est nécessaire."
|
391
412
|
|
413
|
+
#. module: base_tier_validation
|
414
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
415
|
+
msgid "Notify Reviewers on Accepted"
|
416
|
+
msgstr ""
|
417
|
+
|
392
418
|
#. module: base_tier_validation
|
393
419
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
394
420
|
msgid "Notify Reviewers on Creation"
|
395
421
|
msgstr "Notifier les réviseurs à la création"
|
396
422
|
|
423
|
+
#. module: base_tier_validation
|
424
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
425
|
+
msgid "Notify Reviewers on Rejected"
|
426
|
+
msgstr ""
|
427
|
+
|
428
|
+
#. module: base_tier_validation
|
429
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
430
|
+
msgid "Notify Reviewers on Restarted"
|
431
|
+
msgstr ""
|
432
|
+
|
397
433
|
#. module: base_tier_validation
|
398
434
|
#. odoo-python
|
399
435
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -199,8 +199,8 @@ msgid "Cancel"
|
|
199
199
|
msgstr "Annulla"
|
200
200
|
|
201
201
|
#. module: base_tier_validation
|
202
|
-
#. odoo-python
|
203
202
|
#. odoo-javascript
|
203
|
+
#. odoo-python
|
204
204
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
205
205
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
206
206
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -328,6 +328,27 @@ msgstr ""
|
|
328
328
|
"Se impostata, tutti i possibili revisori saranno avvisati via e-mail quando "
|
329
329
|
"la definizione è attivata."
|
330
330
|
|
331
|
+
#. module: base_tier_validation
|
332
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
333
|
+
msgid ""
|
334
|
+
"If set, reviewers will be notified by email when a review related to this "
|
335
|
+
"definition is accepted."
|
336
|
+
msgstr ""
|
337
|
+
|
338
|
+
#. module: base_tier_validation
|
339
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
340
|
+
msgid ""
|
341
|
+
"If set, reviewers will be notified by email when a review related to this "
|
342
|
+
"definition is rejected."
|
343
|
+
msgstr ""
|
344
|
+
|
345
|
+
#. module: base_tier_validation
|
346
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
347
|
+
msgid ""
|
348
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
349
|
+
"definition are restarted."
|
350
|
+
msgstr ""
|
351
|
+
|
331
352
|
#. module: base_tier_validation
|
332
353
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
333
354
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -391,11 +412,26 @@ msgstr "Prossimo: %s"
|
|
391
412
|
msgid "No reviews to do."
|
392
413
|
msgstr "Nessuna approvazione da fare."
|
393
414
|
|
415
|
+
#. module: base_tier_validation
|
416
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
417
|
+
msgid "Notify Reviewers on Accepted"
|
418
|
+
msgstr ""
|
419
|
+
|
394
420
|
#. module: base_tier_validation
|
395
421
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
396
422
|
msgid "Notify Reviewers on Creation"
|
397
423
|
msgstr "Notifica Approvatori su Creazione"
|
398
424
|
|
425
|
+
#. module: base_tier_validation
|
426
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
427
|
+
msgid "Notify Reviewers on Rejected"
|
428
|
+
msgstr ""
|
429
|
+
|
430
|
+
#. module: base_tier_validation
|
431
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
432
|
+
msgid "Notify Reviewers on Restarted"
|
433
|
+
msgstr ""
|
434
|
+
|
399
435
|
#. module: base_tier_validation
|
400
436
|
#. odoo-python
|
401
437
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -199,8 +199,8 @@ msgid "Cancel"
|
|
199
199
|
msgstr "Annuleer"
|
200
200
|
|
201
201
|
#. module: base_tier_validation
|
202
|
-
#. odoo-python
|
203
202
|
#. odoo-javascript
|
203
|
+
#. odoo-python
|
204
204
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
205
205
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
206
206
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -329,6 +329,27 @@ msgstr ""
|
|
329
329
|
"Indien ingesteld, worden alle mogelijke reviewers per e-mail op de hoogte "
|
330
330
|
"gebracht wanneer deze definitie wordt geactiveerd."
|
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____last_update
|
334
355
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -392,11 +413,26 @@ msgstr "Volgende: %s"
|
|
392
413
|
msgid "No reviews to do."
|
393
414
|
msgstr "Geen beoordelingen te doen."
|
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 "Informeer beoordelaar bij het maken"
|
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
|
#. odoo-python
|
402
438
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -198,8 +198,8 @@ msgid "Cancel"
|
|
198
198
|
msgstr "Avbryt"
|
199
199
|
|
200
200
|
#. module: base_tier_validation
|
201
|
-
#. odoo-python
|
202
201
|
#. odoo-javascript
|
202
|
+
#. odoo-python
|
203
203
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
204
204
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
205
205
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -327,6 +327,27 @@ msgstr ""
|
|
327
327
|
"Om den är inställd kommer alla möjliga attesterare att meddelas via e-post "
|
328
328
|
"när denna definition aktiveras."
|
329
329
|
|
330
|
+
#. module: base_tier_validation
|
331
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
332
|
+
msgid ""
|
333
|
+
"If set, reviewers will be notified by email when a review related to this "
|
334
|
+
"definition is accepted."
|
335
|
+
msgstr ""
|
336
|
+
|
337
|
+
#. module: base_tier_validation
|
338
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
339
|
+
msgid ""
|
340
|
+
"If set, reviewers will be notified by email when a review related to this "
|
341
|
+
"definition is rejected."
|
342
|
+
msgstr ""
|
343
|
+
|
344
|
+
#. module: base_tier_validation
|
345
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
346
|
+
msgid ""
|
347
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
348
|
+
"definition are restarted."
|
349
|
+
msgstr ""
|
350
|
+
|
330
351
|
#. module: base_tier_validation
|
331
352
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
332
353
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -390,11 +411,26 @@ msgstr "Nästa: %s"
|
|
390
411
|
msgid "No reviews to do."
|
391
412
|
msgstr "Inga attester att göra."
|
392
413
|
|
414
|
+
#. module: base_tier_validation
|
415
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
416
|
+
msgid "Notify Reviewers on Accepted"
|
417
|
+
msgstr ""
|
418
|
+
|
393
419
|
#. module: base_tier_validation
|
394
420
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
395
421
|
msgid "Notify Reviewers on Creation"
|
396
422
|
msgstr "Meddela granskare vid skapande"
|
397
423
|
|
424
|
+
#. module: base_tier_validation
|
425
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
426
|
+
msgid "Notify Reviewers on Rejected"
|
427
|
+
msgstr ""
|
428
|
+
|
429
|
+
#. module: base_tier_validation
|
430
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
431
|
+
msgid "Notify Reviewers on Restarted"
|
432
|
+
msgstr ""
|
433
|
+
|
398
434
|
#. module: base_tier_validation
|
399
435
|
#. odoo-python
|
400
436
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -195,8 +195,8 @@ msgid "Cancel"
|
|
195
195
|
msgstr "İptal"
|
196
196
|
|
197
197
|
#. module: base_tier_validation
|
198
|
-
#. odoo-python
|
199
198
|
#. odoo-javascript
|
199
|
+
#. odoo-python
|
200
200
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
201
201
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
202
202
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -324,6 +324,27 @@ msgstr ""
|
|
324
324
|
"Ayarlanırsa, bu tanım tetiklendiğinde tüm olası gözden geçirenler e-posta "
|
325
325
|
"ile bilgilendirilecektir."
|
326
326
|
|
327
|
+
#. module: base_tier_validation
|
328
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
329
|
+
msgid ""
|
330
|
+
"If set, reviewers will be notified by email when a review related to this "
|
331
|
+
"definition is accepted."
|
332
|
+
msgstr ""
|
333
|
+
|
334
|
+
#. module: base_tier_validation
|
335
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
336
|
+
msgid ""
|
337
|
+
"If set, reviewers will be notified by email when a review related to this "
|
338
|
+
"definition is rejected."
|
339
|
+
msgstr ""
|
340
|
+
|
341
|
+
#. module: base_tier_validation
|
342
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
343
|
+
msgid ""
|
344
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
345
|
+
"definition are restarted."
|
346
|
+
msgstr ""
|
347
|
+
|
327
348
|
#. module: base_tier_validation
|
328
349
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
329
350
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -387,11 +408,26 @@ msgstr "Sonraki: %s"
|
|
387
408
|
msgid "No reviews to do."
|
388
409
|
msgstr "Yapacak inceleme yok."
|
389
410
|
|
411
|
+
#. module: base_tier_validation
|
412
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
413
|
+
msgid "Notify Reviewers on Accepted"
|
414
|
+
msgstr ""
|
415
|
+
|
390
416
|
#. module: base_tier_validation
|
391
417
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
392
418
|
msgid "Notify Reviewers on Creation"
|
393
419
|
msgstr "İncelemeleri Oluşturma Hakkında Bilgilendir"
|
394
420
|
|
421
|
+
#. module: base_tier_validation
|
422
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
423
|
+
msgid "Notify Reviewers on Rejected"
|
424
|
+
msgstr ""
|
425
|
+
|
426
|
+
#. module: base_tier_validation
|
427
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
428
|
+
msgid "Notify Reviewers on Restarted"
|
429
|
+
msgstr ""
|
430
|
+
|
395
431
|
#. module: base_tier_validation
|
396
432
|
#. odoo-python
|
397
433
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -182,8 +182,8 @@ msgid "Cancel"
|
|
182
182
|
msgstr "取消"
|
183
183
|
|
184
184
|
#. module: base_tier_validation
|
185
|
-
#. odoo-python
|
186
185
|
#. odoo-javascript
|
186
|
+
#. odoo-python
|
187
187
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
188
188
|
#: code:addons/base_tier_validation/static/src/xml/tier_review_template.xml:0
|
189
189
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
@@ -309,6 +309,27 @@ msgid ""
|
|
309
309
|
"definition is triggered."
|
310
310
|
msgstr "如果设置,则触发此定义规则时将通过电子邮件通知所有的审批人。"
|
311
311
|
|
312
|
+
#. module: base_tier_validation
|
313
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
314
|
+
msgid ""
|
315
|
+
"If set, reviewers will be notified by email when a review related to this "
|
316
|
+
"definition is accepted."
|
317
|
+
msgstr ""
|
318
|
+
|
319
|
+
#. module: base_tier_validation
|
320
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
321
|
+
msgid ""
|
322
|
+
"If set, reviewers will be notified by email when a review related to this "
|
323
|
+
"definition is rejected."
|
324
|
+
msgstr ""
|
325
|
+
|
326
|
+
#. module: base_tier_validation
|
327
|
+
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
328
|
+
msgid ""
|
329
|
+
"If set, reviewers will be notified by email when a reviews related to this "
|
330
|
+
"definition are restarted."
|
331
|
+
msgstr ""
|
332
|
+
|
312
333
|
#. module: base_tier_validation
|
313
334
|
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard____last_update
|
314
335
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition____last_update
|
@@ -372,11 +393,26 @@ msgstr ""
|
|
372
393
|
msgid "No reviews to do."
|
373
394
|
msgstr "没有待审批的项目。"
|
374
395
|
|
396
|
+
#. module: base_tier_validation
|
397
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
398
|
+
msgid "Notify Reviewers on Accepted"
|
399
|
+
msgstr ""
|
400
|
+
|
375
401
|
#. module: base_tier_validation
|
376
402
|
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
377
403
|
msgid "Notify Reviewers on Creation"
|
378
404
|
msgstr "创建时通知审批人"
|
379
405
|
|
406
|
+
#. module: base_tier_validation
|
407
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
408
|
+
msgid "Notify Reviewers on Rejected"
|
409
|
+
msgstr ""
|
410
|
+
|
411
|
+
#. module: base_tier_validation
|
412
|
+
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
413
|
+
msgid "Notify Reviewers on Restarted"
|
414
|
+
msgstr ""
|
415
|
+
|
380
416
|
#. module: base_tier_validation
|
381
417
|
#. odoo-python
|
382
418
|
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
@@ -67,6 +67,21 @@ class TierDefinition(models.Model):
|
|
67
67
|
help="If set, all possible reviewers will be notified by email when "
|
68
68
|
"this definition is triggered.",
|
69
69
|
)
|
70
|
+
notify_on_accepted = fields.Boolean(
|
71
|
+
string="Notify Reviewers on Accepted",
|
72
|
+
help="If set, reviewers will be notified by email when a review related "
|
73
|
+
"to this definition is accepted.",
|
74
|
+
)
|
75
|
+
notify_on_rejected = fields.Boolean(
|
76
|
+
string="Notify Reviewers on Rejected",
|
77
|
+
help="If set, reviewers will be notified by email when a review related "
|
78
|
+
"to this definition is rejected.",
|
79
|
+
)
|
80
|
+
notify_on_restarted = fields.Boolean(
|
81
|
+
string="Notify Reviewers on Restarted",
|
82
|
+
help="If set, reviewers will be notified by email when a reviews related "
|
83
|
+
"to this definition are restarted.",
|
84
|
+
)
|
70
85
|
has_comment = fields.Boolean(string="Comment", default=False)
|
71
86
|
approve_sequence = fields.Boolean(
|
72
87
|
string="Approve by sequence",
|
@@ -325,9 +325,20 @@ class TierValidation(models.AbstractModel):
|
|
325
325
|
"reviewed_date": fields.Datetime.now(),
|
326
326
|
}
|
327
327
|
)
|
328
|
-
|
329
|
-
|
330
|
-
|
328
|
+
reviews_to_nofity = user_reviews.filtered(
|
329
|
+
lambda r: r.definition_id.notify_on_accepted
|
330
|
+
)
|
331
|
+
if reviews_to_nofity:
|
332
|
+
subscribe = "message_subscribe"
|
333
|
+
if hasattr(self, subscribe):
|
334
|
+
getattr(self, subscribe)(
|
335
|
+
partner_ids=reviews_to_nofity.mapped("reviewer_ids")
|
336
|
+
.mapped("partner_id")
|
337
|
+
.ids
|
338
|
+
)
|
339
|
+
for review in reviews_to_nofity:
|
340
|
+
rec = self.env[review.model].browse(review.res_id)
|
341
|
+
rec._notify_accepted_reviews()
|
331
342
|
|
332
343
|
def _get_requested_notification_subtype(self):
|
333
344
|
return "base_tier_validation.mt_tier_validation_requested"
|
@@ -434,9 +445,21 @@ class TierValidation(models.AbstractModel):
|
|
434
445
|
"reviewed_date": fields.Datetime.now(),
|
435
446
|
}
|
436
447
|
)
|
437
|
-
|
438
|
-
|
439
|
-
|
448
|
+
|
449
|
+
reviews_to_nofity = user_reviews.filtered(
|
450
|
+
lambda r: r.definition_id.notify_on_rejected
|
451
|
+
)
|
452
|
+
if reviews_to_nofity:
|
453
|
+
subscribe = "message_subscribe"
|
454
|
+
if hasattr(self, subscribe):
|
455
|
+
getattr(self, subscribe)(
|
456
|
+
partner_ids=reviews_to_nofity.mapped("reviewer_ids")
|
457
|
+
.mapped("partner_id")
|
458
|
+
.ids
|
459
|
+
)
|
460
|
+
for review in reviews_to_nofity:
|
461
|
+
rec = self.env[review.model].browse(review.res_id)
|
462
|
+
rec._notify_rejected_review()
|
440
463
|
|
441
464
|
def _notify_requested_review_body(self):
|
442
465
|
return _("A review has been requested by %s.") % (self.env.user.name)
|
@@ -504,16 +527,33 @@ class TierValidation(models.AbstractModel):
|
|
504
527
|
|
505
528
|
def restart_validation(self):
|
506
529
|
for rec in self:
|
530
|
+
partners_to_notify_ids = False
|
507
531
|
if getattr(rec, self._state_field) in self._state_from:
|
508
532
|
to_update_counter = (
|
509
533
|
rec.mapped("review_ids").filtered(lambda a: a.status == "pending")
|
510
534
|
and True
|
511
535
|
or False
|
512
536
|
)
|
537
|
+
reviews_to_nofity = rec.review_ids.filtered(
|
538
|
+
lambda r: r.definition_id.notify_on_restarted
|
539
|
+
)
|
540
|
+
if reviews_to_nofity:
|
541
|
+
partners_to_notify_ids = (
|
542
|
+
reviews_to_nofity.mapped("reviewer_ids")
|
543
|
+
.mapped("partner_id")
|
544
|
+
.ids
|
545
|
+
)
|
513
546
|
rec.mapped("review_ids").unlink()
|
514
547
|
if to_update_counter:
|
515
548
|
self._update_counter({"review_deleted": True})
|
516
|
-
|
549
|
+
if partners_to_notify_ids:
|
550
|
+
subscribe = "message_subscribe"
|
551
|
+
reviews_to_nofity = rec.review_ids.filtered(
|
552
|
+
lambda r: r.definition_id.notify_on_restarted
|
553
|
+
)
|
554
|
+
if hasattr(self, subscribe):
|
555
|
+
getattr(self, subscribe)(partner_ids=partners_to_notify_ids)
|
556
|
+
rec._notify_restarted_review()
|
517
557
|
|
518
558
|
@api.model
|
519
559
|
def _update_counter(self, review_counter):
|
@@ -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:
|
369
|
+
!! source digest: sha256:81e217e874bdd41d3f7698778b4e6b504838558871697dc2fb34e6f288327bad
|
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/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>
|
372
372
|
<p>Validating some operations is a common need across different areas in a company
|
@@ -563,6 +563,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
563
563
|
<li>Kitti U. <<a class="reference external" href="mailto:kittiu@ecosoft.co.th">kittiu@ecosoft.co.th</a>></li>
|
564
564
|
<li>Saran Lim. <<a class="reference external" href="mailto:saranl@ecosoft.co.th">saranl@ecosoft.co.th</a>></li>
|
565
565
|
<li>Evan Soh <<a class="reference external" href="mailto:evan.soh@omnisoftsolution.com">evan.soh@omnisoftsolution.com</a>></li>
|
566
|
+
<li>Manuel Regidor <<a class="reference external" href="mailto:manuel.regidor@sygel.es">manuel.regidor@sygel.es</a>></li>
|
566
567
|
</ul>
|
567
568
|
</div>
|
568
569
|
<div class="section" id="maintainers">
|
@@ -481,6 +481,376 @@ class TierTierValidation(CommonTierValidation):
|
|
481
481
|
self.assertTrue(review)
|
482
482
|
self.assertEqual(review.reviewer_ids, self.test_user_2)
|
483
483
|
|
484
|
+
def test_19_notify_on_create(self):
|
485
|
+
# notify on create
|
486
|
+
tier_definition = self.env["tier.definition"].search([])
|
487
|
+
tier_definition.write(
|
488
|
+
{
|
489
|
+
"notify_on_create": True,
|
490
|
+
"notify_on_accepted": False,
|
491
|
+
"notify_on_rejected": False,
|
492
|
+
"notify_on_restarted": False,
|
493
|
+
"review_type": "group",
|
494
|
+
"reviewer_group_id": self.env.ref("base.group_system").id,
|
495
|
+
}
|
496
|
+
)
|
497
|
+
test_record_1 = self.test_model.create({"test_field": 2.5})
|
498
|
+
notifications_no_1 = len(
|
499
|
+
self.env["mail.notification"].search(
|
500
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
501
|
+
)
|
502
|
+
)
|
503
|
+
test_record_1.request_validation()
|
504
|
+
notifications_no_2 = len(
|
505
|
+
self.env["mail.notification"].search(
|
506
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
507
|
+
)
|
508
|
+
)
|
509
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
510
|
+
|
511
|
+
# do not notify on create
|
512
|
+
tier_definition.write({"notify_on_create": False})
|
513
|
+
test_record_2 = self.test_model.create({"test_field": 2.5})
|
514
|
+
notifications_no_1 = len(
|
515
|
+
self.env["mail.notification"].search(
|
516
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
517
|
+
)
|
518
|
+
)
|
519
|
+
test_record_2.request_validation()
|
520
|
+
notifications_no_2 = len(
|
521
|
+
self.env["mail.notification"].search(
|
522
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
523
|
+
)
|
524
|
+
)
|
525
|
+
self.assertEqual(notifications_no_2, notifications_no_1)
|
526
|
+
|
527
|
+
def test_20_notify_on_accepted(self):
|
528
|
+
self.test_user_2.write(
|
529
|
+
{
|
530
|
+
"groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
|
531
|
+
}
|
532
|
+
)
|
533
|
+
|
534
|
+
# notify on accepted
|
535
|
+
tier_definition = self.env["tier.definition"].search([])
|
536
|
+
tier_definition.write(
|
537
|
+
{
|
538
|
+
"notify_on_create": False,
|
539
|
+
"notify_on_accepted": True,
|
540
|
+
"notify_on_rejected": False,
|
541
|
+
"notify_on_restarted": False,
|
542
|
+
"review_type": "group",
|
543
|
+
"reviewer_group_id": self.env.ref("base.group_system").id,
|
544
|
+
}
|
545
|
+
)
|
546
|
+
test_record_1 = self.test_model.create({"test_field": 2.5})
|
547
|
+
test_record_1.request_validation()
|
548
|
+
test_record_1.invalidate_model()
|
549
|
+
record = test_record_1.with_user(self.test_user_2.id)
|
550
|
+
notifications_no_1 = len(
|
551
|
+
self.env["mail.notification"].search(
|
552
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
553
|
+
)
|
554
|
+
)
|
555
|
+
record.validate_tier()
|
556
|
+
notifications_no_2 = len(
|
557
|
+
self.env["mail.notification"].search(
|
558
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
559
|
+
)
|
560
|
+
)
|
561
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
562
|
+
|
563
|
+
# do not notify on accepted
|
564
|
+
tier_definition.write({"notify_on_accepted": False})
|
565
|
+
test_record_2 = self.test_model.create({"test_field": 2.5})
|
566
|
+
test_record_2.request_validation()
|
567
|
+
test_record_2.invalidate_model()
|
568
|
+
test_record_2.with_user(self.test_user_2.id)
|
569
|
+
notifications_no_1 = len(
|
570
|
+
self.env["mail.notification"].search(
|
571
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
572
|
+
)
|
573
|
+
)
|
574
|
+
test_record_2.validate_tier()
|
575
|
+
notifications_no_2 = len(
|
576
|
+
self.env["mail.notification"].search(
|
577
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
578
|
+
)
|
579
|
+
)
|
580
|
+
self.assertEqual(notifications_no_2, notifications_no_1)
|
581
|
+
|
582
|
+
def test_21_notify_on_rejected(self):
|
583
|
+
self.test_user_2.write(
|
584
|
+
{
|
585
|
+
"groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
|
586
|
+
}
|
587
|
+
)
|
588
|
+
|
589
|
+
# notify on rejected
|
590
|
+
tier_definition = self.env["tier.definition"].search([])
|
591
|
+
tier_definition.write(
|
592
|
+
{
|
593
|
+
"notify_on_create": False,
|
594
|
+
"notify_on_accepted": False,
|
595
|
+
"notify_on_rejected": True,
|
596
|
+
"notify_on_restarted": False,
|
597
|
+
"review_type": "group",
|
598
|
+
"reviewer_group_id": self.env.ref("base.group_system").id,
|
599
|
+
}
|
600
|
+
)
|
601
|
+
test_record_1 = self.test_model.create({"test_field": 2.5})
|
602
|
+
test_record_1.request_validation()
|
603
|
+
test_record_1.invalidate_model()
|
604
|
+
record = test_record_1.with_user(self.test_user_2.id)
|
605
|
+
notifications_no_1 = len(
|
606
|
+
self.env["mail.notification"].search(
|
607
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
608
|
+
)
|
609
|
+
)
|
610
|
+
record.reject_tier()
|
611
|
+
notifications_no_2 = len(
|
612
|
+
self.env["mail.notification"].search(
|
613
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
614
|
+
)
|
615
|
+
)
|
616
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
617
|
+
|
618
|
+
# do not notify on rejected
|
619
|
+
tier_definition.write({"notify_on_rejected": False})
|
620
|
+
test_record_2 = self.test_model.create({"test_field": 2.5})
|
621
|
+
test_record_2.request_validation()
|
622
|
+
test_record_2.invalidate_model()
|
623
|
+
test_record_2.with_user(self.test_user_2.id)
|
624
|
+
|
625
|
+
notifications_no_1 = len(
|
626
|
+
self.env["mail.notification"].search(
|
627
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
628
|
+
)
|
629
|
+
)
|
630
|
+
test_record_2.reject_tier()
|
631
|
+
notifications_no_2 = len(
|
632
|
+
self.env["mail.notification"].search(
|
633
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
634
|
+
)
|
635
|
+
)
|
636
|
+
self.assertEqual(notifications_no_2, notifications_no_1)
|
637
|
+
|
638
|
+
def test_22_notify_on_restarted(self):
|
639
|
+
self.test_user_2.write(
|
640
|
+
{
|
641
|
+
"groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
|
642
|
+
}
|
643
|
+
)
|
644
|
+
|
645
|
+
# notify on restarted
|
646
|
+
tier_definition = self.env["tier.definition"].search([])
|
647
|
+
tier_definition.write(
|
648
|
+
{
|
649
|
+
"notify_on_create": False,
|
650
|
+
"notify_on_accepted": False,
|
651
|
+
"notify_on_rejected": False,
|
652
|
+
"notify_on_restarted": True,
|
653
|
+
"review_type": "group",
|
654
|
+
"reviewer_group_id": self.env.ref("base.group_system").id,
|
655
|
+
}
|
656
|
+
)
|
657
|
+
test_record_1 = self.test_model.create({"test_field": 2.5})
|
658
|
+
test_record_1.request_validation()
|
659
|
+
test_record_1.invalidate_model()
|
660
|
+
record = test_record_1.with_user(self.test_user_2.id)
|
661
|
+
notifications_no_1 = len(
|
662
|
+
self.env["mail.notification"].search(
|
663
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
664
|
+
)
|
665
|
+
)
|
666
|
+
record.restart_validation()
|
667
|
+
notifications_no_2 = len(
|
668
|
+
self.env["mail.notification"].search(
|
669
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
670
|
+
)
|
671
|
+
)
|
672
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
673
|
+
|
674
|
+
# do not notify on restarted
|
675
|
+
tier_definition.write({"notify_on_restarted": False})
|
676
|
+
test_record_2 = self.test_model.create({"test_field": 2.5})
|
677
|
+
test_record_2.request_validation()
|
678
|
+
test_record_2.with_user(self.test_user_2.id)
|
679
|
+
notifications_no_1 = len(
|
680
|
+
self.env["mail.notification"].search(
|
681
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
682
|
+
)
|
683
|
+
)
|
684
|
+
test_record_2.restart_validation()
|
685
|
+
notifications_no_2 = len(
|
686
|
+
self.env["mail.notification"].search(
|
687
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
688
|
+
)
|
689
|
+
)
|
690
|
+
self.assertEqual(notifications_no_2, notifications_no_1)
|
691
|
+
|
692
|
+
def test_23_all_notification(self):
|
693
|
+
self.test_user_2.write(
|
694
|
+
{
|
695
|
+
"groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
|
696
|
+
}
|
697
|
+
)
|
698
|
+
|
699
|
+
# notify on restarted
|
700
|
+
tier_definition = self.env["tier.definition"].search([])
|
701
|
+
tier_definition.write(
|
702
|
+
{
|
703
|
+
"notify_on_create": True,
|
704
|
+
"notify_on_accepted": True,
|
705
|
+
"notify_on_rejected": True,
|
706
|
+
"notify_on_restarted": True,
|
707
|
+
"review_type": "group",
|
708
|
+
"reviewer_group_id": self.env.ref("base.group_system").id,
|
709
|
+
}
|
710
|
+
)
|
711
|
+
|
712
|
+
test_record = self.test_model.create({"test_field": 2.5})
|
713
|
+
|
714
|
+
# request validation
|
715
|
+
notifications_no_1 = len(
|
716
|
+
self.env["mail.notification"].search(
|
717
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
718
|
+
)
|
719
|
+
)
|
720
|
+
test_record.request_validation()
|
721
|
+
test_record.invalidate_model()
|
722
|
+
notifications_no_2 = len(
|
723
|
+
self.env["mail.notification"].search(
|
724
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
725
|
+
)
|
726
|
+
)
|
727
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
728
|
+
|
729
|
+
# accept validation
|
730
|
+
record = test_record.with_user(self.test_user_2.id)
|
731
|
+
notifications_no_1 = len(
|
732
|
+
self.env["mail.notification"].search(
|
733
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
734
|
+
)
|
735
|
+
)
|
736
|
+
record.validate_tier()
|
737
|
+
notifications_no_2 = len(
|
738
|
+
self.env["mail.notification"].search(
|
739
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
740
|
+
)
|
741
|
+
)
|
742
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
743
|
+
|
744
|
+
# restart validation
|
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
|
+
record.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 + 1)
|
757
|
+
|
758
|
+
# reject validation
|
759
|
+
record.request_validation()
|
760
|
+
notifications_no_1 = len(
|
761
|
+
self.env["mail.notification"].search(
|
762
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
763
|
+
)
|
764
|
+
)
|
765
|
+
record.reject_tier()
|
766
|
+
notifications_no_2 = len(
|
767
|
+
self.env["mail.notification"].search(
|
768
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
769
|
+
)
|
770
|
+
)
|
771
|
+
self.assertEqual(notifications_no_2, notifications_no_1 + 1)
|
772
|
+
|
773
|
+
def test_24_no_notification(self):
|
774
|
+
self.test_user_2.write(
|
775
|
+
{
|
776
|
+
"groups_id": [(6, 0, self.env.ref("base.group_system").ids)],
|
777
|
+
}
|
778
|
+
)
|
779
|
+
|
780
|
+
# notify on restarted
|
781
|
+
tier_definition = self.env["tier.definition"].search([])
|
782
|
+
tier_definition.write(
|
783
|
+
{
|
784
|
+
"notify_on_create": False,
|
785
|
+
"notify_on_accepted": False,
|
786
|
+
"notify_on_rejected": False,
|
787
|
+
"notify_on_restarted": False,
|
788
|
+
"review_type": "group",
|
789
|
+
"reviewer_group_id": self.env.ref("base.group_system").id,
|
790
|
+
}
|
791
|
+
)
|
792
|
+
|
793
|
+
test_record = self.test_model.create({"test_field": 2.5})
|
794
|
+
|
795
|
+
# request validation
|
796
|
+
notifications_no_1 = len(
|
797
|
+
self.env["mail.notification"].search(
|
798
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
799
|
+
)
|
800
|
+
)
|
801
|
+
test_record.request_validation()
|
802
|
+
test_record.invalidate_model()
|
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)
|
809
|
+
|
810
|
+
# accept validation
|
811
|
+
record = test_record.with_user(self.test_user_2.id)
|
812
|
+
notifications_no_1 = len(
|
813
|
+
self.env["mail.notification"].search(
|
814
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
815
|
+
)
|
816
|
+
)
|
817
|
+
record.validate_tier()
|
818
|
+
notifications_no_2 = len(
|
819
|
+
self.env["mail.notification"].search(
|
820
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
821
|
+
)
|
822
|
+
)
|
823
|
+
self.assertEqual(notifications_no_2, notifications_no_1)
|
824
|
+
|
825
|
+
# restart 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.restart_validation()
|
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)
|
838
|
+
|
839
|
+
# reject validation
|
840
|
+
record.request_validation()
|
841
|
+
notifications_no_1 = len(
|
842
|
+
self.env["mail.notification"].search(
|
843
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
844
|
+
)
|
845
|
+
)
|
846
|
+
record.reject_tier()
|
847
|
+
notifications_no_2 = len(
|
848
|
+
self.env["mail.notification"].search(
|
849
|
+
[("res_partner_id", "=", self.test_user_1.partner_id.id)]
|
850
|
+
)
|
851
|
+
)
|
852
|
+
self.assertEqual(notifications_no_2, notifications_no_1)
|
853
|
+
|
484
854
|
|
485
855
|
@tagged("at_install")
|
486
856
|
class TierTierValidationView(CommonTierValidation):
|
@@ -99,6 +99,9 @@
|
|
99
99
|
<group name="more_option">
|
100
100
|
<group name="notify">
|
101
101
|
<field name="notify_on_create" />
|
102
|
+
<field name="notify_on_accepted" />
|
103
|
+
<field name="notify_on_rejected" />
|
104
|
+
<field name="notify_on_restarted" />
|
102
105
|
<field name="has_comment" />
|
103
106
|
</group>
|
104
107
|
</group>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-base-tier-validation
|
3
|
-
Version: 16.0.1.4.1
|
3
|
+
Version: 16.0.1.4.2.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)
|
@@ -24,7 +24,7 @@ Base Tier Validation
|
|
24
24
|
!! This file is generated by oca-gen-addon-readme !!
|
25
25
|
!! changes will be overwritten. !!
|
26
26
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
27
|
-
!! source digest: sha256:
|
27
|
+
!! source digest: sha256:81e217e874bdd41d3f7698778b4e6b504838558871697dc2fb34e6f288327bad
|
28
28
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
29
29
|
|
30
30
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
@@ -227,6 +227,7 @@ Contributors
|
|
227
227
|
* Kitti U. <kittiu@ecosoft.co.th>
|
228
228
|
* Saran Lim. <saranl@ecosoft.co.th>
|
229
229
|
* Evan Soh <evan.soh@omnisoftsolution.com>
|
230
|
+
* Manuel Regidor <manuel.regidor@sygel.es>
|
230
231
|
|
231
232
|
Maintainers
|
232
233
|
~~~~~~~~~~~
|
@@ -1,31 +1,31 @@
|
|
1
|
-
odoo/addons/base_tier_validation/README.rst,sha256=
|
1
|
+
odoo/addons/base_tier_validation/README.rst,sha256=wSqD4E1JnMuleR1MRyk55qIqYqO6Un7EYLXWVA4zzQg,6922
|
2
2
|
odoo/addons/base_tier_validation/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
|
3
|
-
odoo/addons/base_tier_validation/__manifest__.py,sha256=
|
3
|
+
odoo/addons/base_tier_validation/__manifest__.py,sha256=RWlCWdILmdTWhM872GKhJZETlRV4OhB6R6a6-3VaI-k,1929
|
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=
|
6
|
-
odoo/addons/base_tier_validation/i18n/es.po,sha256
|
7
|
-
odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=
|
8
|
-
odoo/addons/base_tier_validation/i18n/fr.po,sha256=
|
9
|
-
odoo/addons/base_tier_validation/i18n/it.po,sha256=
|
10
|
-
odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=
|
11
|
-
odoo/addons/base_tier_validation/i18n/sv.po,sha256=
|
12
|
-
odoo/addons/base_tier_validation/i18n/tr.po,sha256=
|
13
|
-
odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=
|
5
|
+
odoo/addons/base_tier_validation/i18n/base_tier_validation.pot,sha256=Tlh5c4Pb5XeApbMGBHt6rWrWdITfQZq7Z8pSI_863OM,25843
|
6
|
+
odoo/addons/base_tier_validation/i18n/es.po,sha256=-_QFNLSMJLR05JsJNnhVrk-GbZ8JTj1V-BTVGYHS7hE,29161
|
7
|
+
odoo/addons/base_tier_validation/i18n/es_MX.po,sha256=_IpZWZadVviPueJC_FQyjnEXvYpKmpNhGwoLgk20VnM,28562
|
8
|
+
odoo/addons/base_tier_validation/i18n/fr.po,sha256=7bdzA2R9YlbX_HBx5ytiTEGLLdjF_qf6w3ACtWfwyYg,29420
|
9
|
+
odoo/addons/base_tier_validation/i18n/it.po,sha256=pByJsrTFZyHbp81BcrMj48bh7l4V57fVnZi-XrFq9Lg,29256
|
10
|
+
odoo/addons/base_tier_validation/i18n/nl_NL.po,sha256=GoxIiqprBBRLbGUOW-v1mMcdoT2zUyz4Pccv3fQT0kU,29443
|
11
|
+
odoo/addons/base_tier_validation/i18n/sv.po,sha256=k_KiZwnnfggd77q5FANQjjPYKy5zOUKK1wJmMWkqvXU,29432
|
12
|
+
odoo/addons/base_tier_validation/i18n/tr.po,sha256=sf76O_P1VDWDRZwTh8DW8ExGwQTShRdIbb6HH5cDnsw,28464
|
13
|
+
odoo/addons/base_tier_validation/i18n/zh_CN.po,sha256=c4a2Sw60KqGT7tlpZSfy7Hyc5Yk4DHmYnL71MndllQU,27532
|
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=n-i1InkXDcFrKmNkTCWtxcDSaxIAvxY7JsU5NrufmmA,617
|
16
16
|
odoo/addons/base_tier_validation/models/res_users.py,sha256=R9idahM3P8CjB8DdodEKtvpd4BC56Jx-LzZAoM4eq88,2674
|
17
|
-
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=
|
17
|
+
odoo/addons/base_tier_validation/models/tier_definition.py,sha256=uf_HVz9NmWTHyV5Z-584Li_DQgXfwdTRUW-LsNJJYGc,3757
|
18
18
|
odoo/addons/base_tier_validation/models/tier_review.py,sha256=lB9Ifp721lcyJmR3PgsMoGUi-V-e4OVHOL8-87uZ4_0,5191
|
19
|
-
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=
|
19
|
+
odoo/addons/base_tier_validation/models/tier_validation.py,sha256=PfyhUC1_-M0AZhLTv2Pa7y9O6m31kq-ovA7X1BLFM6E,25410
|
20
20
|
odoo/addons/base_tier_validation/readme/CONFIGURE.rst,sha256=-XvqIRVzdEx5Pl-w5qVHayTDYzGDI1FX92ChdijeNh0,503
|
21
|
-
odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst,sha256=
|
21
|
+
odoo/addons/base_tier_validation/readme/CONTRIBUTORS.rst,sha256=iKjNkx8eclqWJ1GrD9LEc04fyGelr2J3qH3RMAbnf3c,368
|
22
22
|
odoo/addons/base_tier_validation/readme/DESCRIPTION.rst,sha256=MFbI1iBk0moWjdQUueJa05am8-JfIiiLRSyGgi1NBFY,653
|
23
23
|
odoo/addons/base_tier_validation/readme/HISTORY.rst,sha256=YAvhjBTl1mz8-V5WxMmn3wwwSCcPwnczeRQtkxNmqBU,1440
|
24
24
|
odoo/addons/base_tier_validation/readme/ROADMAP.rst,sha256=UWhIpMUTM_ido6s3jZiF8YYkAyC-mhMjAGJx6vGEn3w,867
|
25
25
|
odoo/addons/base_tier_validation/security/ir.model.access.csv,sha256=ZlU5wKSjQ8gL6iCulpR_AF-AdULanaGK9J1gl-Fx__4,399
|
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=
|
28
|
+
odoo/addons/base_tier_validation/static/description/index.html,sha256=XkYCrYQgw7XFnUWE7OUYZYNGO31izGpCYu3QmNb7Lsg,20796
|
29
29
|
odoo/addons/base_tier_validation/static/src/js/ir_model.esm.js,sha256=kHSA7CeIt02IZmsKJdn2yZVqKqSyQ6_g6QVmtq5Qo2A,706
|
30
30
|
odoo/addons/base_tier_validation/static/src/js/main.esm.js,sha256=ZSHScoLlMQcO6jW9mLVusJOfyH5kJIw4szPK3xU-KHA,263
|
31
31
|
odoo/addons/base_tier_validation/static/src/js/review_group_view.esm.js,sha256=G110cBwOwENHBUkuScOB8Xg05D0FzOqlsSl_US0PngA,1677
|
@@ -44,15 +44,15 @@ odoo/addons/base_tier_validation/static/src/xml/tier_review_template.xml,sha256=
|
|
44
44
|
odoo/addons/base_tier_validation/templates/tier_validation_templates.xml,sha256=RXopPauknDx4fEC8ztKAz7z7WMU9sBCCVkp5tqNPNPc,4010
|
45
45
|
odoo/addons/base_tier_validation/tests/__init__.py,sha256=3z2_lQ9JiDSFDam4p24qDw5j02iaPb4m2naxv9DkbGA,122
|
46
46
|
odoo/addons/base_tier_validation/tests/common.py,sha256=iJ5JFDbxPOuQdG15fPkp3WLg3181oFgVD9-ZM9pFnUk,3058
|
47
|
-
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=
|
47
|
+
odoo/addons/base_tier_validation/tests/test_tier_validation.py,sha256=8HLrB8zRYMX6h03-38ctslLPrRH9YNajrDl02lZom5E,35702
|
48
48
|
odoo/addons/base_tier_validation/tests/tier_validation_tester.py,sha256=sUN-BRUHDDQ8t1Dze5c6H_2XQqop7c5cEsA4vJksEpA,1660
|
49
49
|
odoo/addons/base_tier_validation/views/res_config_settings_views.xml,sha256=Al6XKCN1QGLPcgAaXTvEnSTYkwBrzDGfSRh3CQD4g5Q,4234
|
50
|
-
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=
|
50
|
+
odoo/addons/base_tier_validation/views/tier_definition_view.xml,sha256=92KWggMTWUXsfnPWZSbcbeGZXGgoKIZDUrumYdO-Ptc,7113
|
51
51
|
odoo/addons/base_tier_validation/views/tier_review_view.xml,sha256=tPzmpz-kbQwOOtJrAcsTJEP9bJLcfzWAITCpI86kZU4,966
|
52
52
|
odoo/addons/base_tier_validation/wizard/__init__.py,sha256=52q6-LAjYeJ1Vu5ahon_jnhds9VsoJvYaQCiZc82WKw,95
|
53
53
|
odoo/addons/base_tier_validation/wizard/comment_wizard.py,sha256=gj7zCcpe47-2ifxSRlE6okQ1wtq5Ok3JBVg2CtN0ZIU,879
|
54
54
|
odoo/addons/base_tier_validation/wizard/comment_wizard_view.xml,sha256=9XFTqrNwDCZH2IEX3HutaznSkBYk-6RERXzUDwObz4I,979
|
55
|
-
odoo_addon_base_tier_validation-16.0.1.4.1.
|
56
|
-
odoo_addon_base_tier_validation-16.0.1.4.1.
|
57
|
-
odoo_addon_base_tier_validation-16.0.1.4.1.
|
58
|
-
odoo_addon_base_tier_validation-16.0.1.4.1.
|
55
|
+
odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info/METADATA,sha256=oR5q1ZjJNqLsVTOXTMOvjjoJzOyegntVMptLUv4OFkg,7527
|
56
|
+
odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
57
|
+
odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
58
|
+
odoo_addon_base_tier_validation-16.0.1.4.2.1.dist-info/RECORD,,
|
File without changes
|