Public release from ruodoo-project: 19.0 - 2026-05-31 21:19:12 UTC
This commit is contained in:
307
base_tier_validation/README.rst
Normal file
307
base_tier_validation/README.rst
Normal file
@ -0,0 +1,307 @@
|
||||
.. image:: https://odoo-community.org/readme-banner-image
|
||||
:target: https://odoo-community.org/get-involved?utm_source=readme
|
||||
:alt: Odoo Community Association
|
||||
|
||||
====================
|
||||
Base Tier Validation
|
||||
====================
|
||||
|
||||
..
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:3e44413fd72f8949deba313c3f31047cbf30ba3b17d78342590d2376001d905f
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Mature
|
||||
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/server-ux/tree/18.0/base_tier_validation
|
||||
:alt: OCA/server-ux
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/server-ux-18-0/server-ux-18-0-base_tier_validation
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
||||
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=18.0
|
||||
:alt: Try me on Runboat
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
Validating some operations is a common need across different areas in a
|
||||
company and sometimes it also involves several people and stages in the
|
||||
process. With this module you will be able to define your custom
|
||||
validation workflows for any Odoo document.
|
||||
|
||||
This module does not provide a functionality by itself but an abstract
|
||||
model to implement a validation process based on tiers on other models
|
||||
(e.g. purchase orders, sales orders, budgets, expenses...).
|
||||
|
||||
**Note:** To be able to use this module in a new model you will need
|
||||
some development.
|
||||
|
||||
See
|
||||
`purchase_tier_validation <https://github.com/OCA/purchase-workflow>`__
|
||||
as an example of implementation.
|
||||
|
||||
Additionally, if your state field is a (stored) computed field, you need
|
||||
to set ``_tier_validation_state_field_is_computed`` to ``True`` in your
|
||||
model Python file, and you will want to add the dependent fields of the
|
||||
compute method in ``_get_after_validation_exceptions`` and
|
||||
``_get_under_validation_exceptions``.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure this module, you need to:
|
||||
|
||||
1. Go to *Settings > Technical > Tier Validations > Tier Definition*.
|
||||
2. Create as many tiers as you want for any model having tier validation
|
||||
functionality.
|
||||
|
||||
**Note:**
|
||||
|
||||
- If check *Notify Reviewers on Creation*, all possible reviewers will
|
||||
be notified by email when this definition is triggered.
|
||||
- If check *Notify reviewers on reaching pending* if you want to send a
|
||||
notification when pending status is reached. This is usefull in a
|
||||
approve by sequence scenario to only notify reviewers when it is their
|
||||
turn in the sequence.
|
||||
- If check *Comment*, reviewers can comment after click Validate or
|
||||
Reject.
|
||||
- If check *Approve by sequence*, reviewers is forced to review by
|
||||
specified sequence.
|
||||
|
||||
To configure Tier Validation Exceptions, you need to:
|
||||
|
||||
1. Go to *Settings > Technical > Tier Validations > Tier Validation
|
||||
Exceptions*.
|
||||
2. Create as many tiers validation exceptions as you want for any model
|
||||
having tier validation functionality.
|
||||
3. Add desired fields to be checked in *Fields*.
|
||||
4. Add desired groups that can use this Exception in *Groups*.
|
||||
5. You must check *Write under Validation*, *Write after Validation* or
|
||||
both.
|
||||
|
||||
**Note:**
|
||||
|
||||
- If you don't create any exception, the Validated record will be
|
||||
readonly and cannot be modified.
|
||||
- If check *Write under Validation*, records will be able to be modified
|
||||
only in the defined fields when the Validation process is ongoing.
|
||||
- If check *Write after Validation*, records will be able to be modified
|
||||
only in the defined fields when the Validation process is finished.
|
||||
- If check *Write after Validation* and *Write under Validation*,
|
||||
records will be able to be modified defined fields always.
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
This is the list of known issues for this module. Any proposal for
|
||||
improvement will be very valuable.
|
||||
|
||||
- **Issue:**
|
||||
|
||||
When using approve_sequence option in any tier.definition there can be
|
||||
inconsistencies in the systray notifications.
|
||||
|
||||
**Description:**
|
||||
|
||||
Field can_review in tier.review is used to filter out, in the systray
|
||||
notifications, the reviews a user can approve. This can_review field
|
||||
is updated **in the database** in method review_user_count, this can
|
||||
make it very inconsistent for databases with a lot of users and
|
||||
recurring updates that can change the expected behavior.
|
||||
|
||||
- **Migration to 15.0:**
|
||||
|
||||
The parameter \_tier_validation_manual_config will become False, on
|
||||
14.0, the default value is True, as the change is applied after the
|
||||
migration. In order to use the new behavior we need to modify the
|
||||
value on our expected model.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
17.0.1.0.0 (2024-01-10)
|
||||
-----------------------
|
||||
|
||||
Migrated to Odoo 17. Merged module with tier_validation_waiting. To
|
||||
support sending messages in a validation sequence when it is their turn
|
||||
to validate.
|
||||
|
||||
14.0.1.0.0 (2020-11-19)
|
||||
-----------------------
|
||||
|
||||
Migrated to Odoo 14.
|
||||
|
||||
13.0.1.2.2 (2020-08-30)
|
||||
-----------------------
|
||||
|
||||
Fixes:
|
||||
|
||||
- When using approve_sequence option in any tier.definition there can be
|
||||
inconsistencies in the systray notifications
|
||||
- When using approve_sequence, still not approve only the needed
|
||||
sequence, but also other sequence for the same approver
|
||||
|
||||
12.0.3.3.1 (2019-12-02)
|
||||
-----------------------
|
||||
|
||||
Fixes:
|
||||
|
||||
- Show comment on Reviews Table.
|
||||
- Edit notification with approve_sequence.
|
||||
|
||||
12.0.3.3.0 (2019-11-27)
|
||||
-----------------------
|
||||
|
||||
New features:
|
||||
|
||||
- Add comment on Reviews Table.
|
||||
- Approve by sequence.
|
||||
|
||||
12.0.3.2.1 (2019-11-26)
|
||||
-----------------------
|
||||
|
||||
Fixes:
|
||||
|
||||
- Remove message_subscribe_users
|
||||
|
||||
12.0.3.2.0 (2019-11-25)
|
||||
-----------------------
|
||||
|
||||
New features:
|
||||
|
||||
- Notify reviewers
|
||||
|
||||
12.0.3.1.0 (2019-07-08)
|
||||
-----------------------
|
||||
|
||||
Fixes:
|
||||
|
||||
- Singleton error
|
||||
|
||||
12.0.3.0.0 (2019-12-02)
|
||||
-----------------------
|
||||
|
||||
Fixes:
|
||||
|
||||
- Edit Reviews Table
|
||||
|
||||
12.0.2.1.0 (2019-05-29)
|
||||
-----------------------
|
||||
|
||||
Fixes:
|
||||
|
||||
- Edit drop-down style width and position
|
||||
|
||||
12.0.2.0.0 (2019-05-28)
|
||||
-----------------------
|
||||
|
||||
New features:
|
||||
|
||||
- Pass parameters as functions.
|
||||
- Add Systray.
|
||||
|
||||
12.0.1.0.0 (2019-02-18)
|
||||
-----------------------
|
||||
|
||||
Migrated to Odoo 12.
|
||||
|
||||
11.0.1.0.0 (2018-05-09)
|
||||
-----------------------
|
||||
|
||||
Migrated to Odoo 11.
|
||||
|
||||
10.0.1.0.0 (2018-03-26)
|
||||
-----------------------
|
||||
|
||||
Migrated to Odoo 10.
|
||||
|
||||
9.0.1.0.0 (2017-12-02)
|
||||
----------------------
|
||||
|
||||
First version.
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-ux/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/server-ux/issues/new?body=module:%20base_tier_validation%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
* ForgeFlow
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
- Lois Rilo <lois.rilo@forgeflow.com>
|
||||
- Naglis Jonaitis <naglis@versada.eu>
|
||||
- Adrià Gil Sorribes <adria.gil@forgeflow.com>
|
||||
- Pimolnat Suntian <pimolnats@ecosoft.co.th>
|
||||
- Pedro Gonzalez <pedro.gonzalez@pesol.es>
|
||||
- Kitti U. <kittiu@ecosoft.co.th>
|
||||
- Saran Lim. <saranl@ecosoft.co.th>
|
||||
- Carlos Lopez <celm1990@gmail.com>
|
||||
- Javier Colmeiro <javier.colmeiro@braintec.com>
|
||||
- bosd
|
||||
- Evan Soh <evan.soh@omnisoftsolution.com>
|
||||
- Manuel Regidor <manuel.regidor@sygel.es>
|
||||
- Eduardo de Miguel <edu@moduon.team>
|
||||
- `XCG Consulting <https://xcg-consulting.fr>`__:
|
||||
|
||||
- Houzéfa Abbasbhay
|
||||
|
||||
- Stefan Rijnhart <stefan@opener.amsterdam>
|
||||
- Kevin Khao <kevinkhao@gmail.com>
|
||||
- Do Anh Duy <duyda@trobz.com>
|
||||
|
||||
Other credits
|
||||
-------------
|
||||
|
||||
The migration of this module from 17.0 to 18.0 was financially supported
|
||||
by Camptocamp.
|
||||
|
||||
Maintainers
|
||||
-----------
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.
|
||||
|
||||
.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px
|
||||
:target: https://github.com/LoisRForgeFlow
|
||||
:alt: LoisRForgeFlow
|
||||
|
||||
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|
||||
|
||||
|maintainer-LoisRForgeFlow|
|
||||
|
||||
This module is part of the `OCA/server-ux <https://github.com/OCA/server-ux/tree/18.0/base_tier_validation>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
4
base_tier_validation/__init__.py
Normal file
4
base_tier_validation/__init__.py
Normal file
@ -0,0 +1,4 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import models
|
||||
from . import wizard
|
||||
35
base_tier_validation/__manifest__.py
Normal file
35
base_tier_validation/__manifest__.py
Normal file
@ -0,0 +1,35 @@
|
||||
# Copyright 2017-24 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
{
|
||||
"name": "Base Tier Validation",
|
||||
"summary": "Implement a validation process based on tiers.",
|
||||
"version": "19.0.2025.12.03",
|
||||
"development_status": "Mature",
|
||||
"maintainers": ["LoisRForgeFlow"],
|
||||
"category": "Tools",
|
||||
"website": "https://github.com/OCA/server-ux",
|
||||
"author": "ForgeFlow, Odoo Community Association (OCA)",
|
||||
"license": "AGPL-3",
|
||||
"application": False,
|
||||
"installable": True,
|
||||
"depends": ["mail"],
|
||||
"data": [
|
||||
"data/cron_data.xml",
|
||||
"data/mail_data.xml",
|
||||
"security/ir.model.access.csv",
|
||||
"security/tier_validation_security.xml",
|
||||
"views/res_config_settings_views.xml",
|
||||
"views/tier_definition_view.xml",
|
||||
"views/tier_review_view.xml",
|
||||
"views/tier_validation_exception_view.xml",
|
||||
"wizard/comment_wizard_view.xml",
|
||||
"templates/tier_validation_templates.xml",
|
||||
],
|
||||
"demo": [],
|
||||
"assets": {
|
||||
"web.assets_backend": [
|
||||
"base_tier_validation/static/src/components/**/*",
|
||||
"base_tier_validation/static/src/js/**/*",
|
||||
],
|
||||
},
|
||||
}
|
||||
15
base_tier_validation/data/cron_data.xml
Normal file
15
base_tier_validation/data/cron_data.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo noupdate="1">
|
||||
<record id="ir_cron_auto_tier_validation" model="ir.cron">
|
||||
<field name="name">Send Tier Review Reminder</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field
|
||||
name="nextcall"
|
||||
eval="(datetime.now() + timedelta(minutes=5)).strftime('%Y-%m-%d %H:%M:%S')"
|
||||
/>
|
||||
<field name="model_id" ref="model_tier_definition" />
|
||||
<field name="code">model._cron_send_review_reminder()</field>
|
||||
<field name="state">code</field>
|
||||
</record>
|
||||
</odoo>
|
||||
61
base_tier_validation/data/mail_data.xml
Normal file
61
base_tier_validation/data/mail_data.xml
Normal file
@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo noupdate="1">
|
||||
<record
|
||||
id="mt_tier_validation_requested"
|
||||
model="mail.message.subtype"
|
||||
forcecreate="1"
|
||||
>
|
||||
<field name="name">Tier Validation Requested</field>
|
||||
<field name="default" eval="False" />
|
||||
<field name="internal" eval="True" />
|
||||
<field name="hidden" eval="True" />
|
||||
</record>
|
||||
<record
|
||||
id="mt_tier_validation_accepted"
|
||||
model="mail.message.subtype"
|
||||
forcecreate="1"
|
||||
>
|
||||
<field name="name">Tier Validation Accepted Notification</field>
|
||||
<field name="default" eval="False" />
|
||||
<field name="internal" eval="True" />
|
||||
<field name="hidden" eval="True" />
|
||||
</record>
|
||||
<record
|
||||
id="mt_tier_validation_rejected"
|
||||
model="mail.message.subtype"
|
||||
forcecreate="1"
|
||||
>
|
||||
<field name="name">Tier Validation Rejected Notification</field>
|
||||
<field name="default" eval="False" />
|
||||
<field name="internal" eval="True" />
|
||||
<field name="hidden" eval="True" />
|
||||
</record>
|
||||
<record
|
||||
id="mt_tier_validation_restarted"
|
||||
model="mail.message.subtype"
|
||||
forcecreate="1"
|
||||
>
|
||||
<field name="name">Tier Validation Restarted</field>
|
||||
<field name="default" eval="False" />
|
||||
<field name="internal" eval="True" />
|
||||
<field name="hidden" eval="True" />
|
||||
</record>
|
||||
<record
|
||||
id="mt_tier_validation_reminder"
|
||||
model="mail.message.subtype"
|
||||
forcecreate="1"
|
||||
>
|
||||
<field name="name">Tier Validation Reminder</field>
|
||||
<field name="default" eval="True" />
|
||||
<field name="internal" eval="True" />
|
||||
<field name="hidden" eval="True" />
|
||||
</record>
|
||||
<record
|
||||
id="mail_act_tier_validation_reminder"
|
||||
model="mail.activity.type"
|
||||
forcecreate="1"
|
||||
>
|
||||
<field name="name">Tier Validation Reminder</field>
|
||||
<field name="icon">fa-bell</field>
|
||||
</record>
|
||||
</odoo>
|
||||
20
base_tier_validation/demo/demo.xml
Normal file
20
base_tier_validation/demo/demo.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Демо правило валидации для счетов (account.move) -->
|
||||
<record id="demo_tier_definition_invoice" model="tier.definition">
|
||||
<field name="name">Согласование счёта руководителем</field>
|
||||
<field name="model_id" ref="account.model_account_move"/>
|
||||
<field name="review_type">individual</field>
|
||||
<field name="reviewer_id" ref="base.user_admin"/>
|
||||
<field name="definition_type">domain</field>
|
||||
<field name="definition_domain">[('move_type', '=', 'out_invoice'), ('amount_total', '>', 100000)]</field>
|
||||
<field name="sequence">10</field>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="notify_on_create" eval="True"/>
|
||||
<field name="notify_on_pending" eval="True"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
878
base_tier_validation/i18n/base_tier_validation.pot
Normal file
878
base_tier_validation/i18n/base_tier_validation.pot
Normal file
@ -0,0 +1,878 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is"
|
||||
" reached.Usefull in an Approve by sequence scenario. An notification request"
|
||||
" to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr ""
|
||||
879
base_tier_validation/i18n/de.po
Normal file
879
base_tier_validation/i18n/de.po
Normal file
@ -0,0 +1,879 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is"
|
||||
" reached.Usefull in an Approve by sequence scenario. An notification request"
|
||||
" to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr ""
|
||||
993
base_tier_validation/i18n/es.po
Normal file
993
base_tier_validation/i18n/es.po
Normal file
@ -0,0 +1,993 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-04-23 10:39+0000\n"
|
||||
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" Este registro debe ser\n"
|
||||
" validado."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" La operación ha sido\n"
|
||||
" <b>rechazada</b>\n"
|
||||
" ."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" La operación ha sido\n"
|
||||
" <b>validada</b>\n"
|
||||
" !"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Nombre</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
"<span>Omitir, si el nivel anterior fue validado por el mismo revisor</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr "Un registro a revisar ha sido creado por %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "Una revisión fue solicitada por %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Una revisión fue aceptada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Una revisión fue aceptada. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr "%(user)s rechazó una reseña. %(comment)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "Una revisión fue rechaza por %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr "Un proceso de validación está aún abierto para al menos un registro."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "Activo"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr "Cualquier usuario de un grupo específico"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr "Aplicar en"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "Orden de aprobación por el número de secuencia especificado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr "Aprobar Omisión de Secuencia"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "Aprobar por secuencia"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "Aprobado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr "Archivado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
"Omitido (validado automático), si el mismo revisor validó el nivel anterior"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "Puede revisar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
"Puede revisar será establecido si la revisión está pendiente y la\n"
|
||||
" secuencia de aprobación se ha alcanzado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "Comentar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "Wizard Comentario"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "Comentarios"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "Compañía"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Configuración de Ajustes"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "Definición"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "Dominio de definición"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre mostrado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr "Mostrar Estado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "Dominio"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "Hecho Por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "Hecho Por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr "Campo en el registro relacionado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr "Grupo %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "Agrupar por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "Ha comentado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr "Ocultar Reseñas"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
"Si se establece, permite al revisor dejar un comentario sobre la reseña."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
"Si se establece, todos los posibles revisores serán notificados por correo "
|
||||
"electrónico cuando se active esta definición."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
"Si se establece, todos los posibles revisores recibirán una notificación por "
|
||||
"correo electrónico cuando se alcance este estado. Es útil en un escenario de "
|
||||
"aprobación por secuencia. Se envía una solicitud de notificación de revisión "
|
||||
"cuando les toca revisar."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
"Si se establece, los revisores recibirán una notificación por correo "
|
||||
"electrónico cuando se acepte una revisión relacionada con esta definición."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
"Si se establece, los revisores recibirán una notificación por correo "
|
||||
"electrónico cuando se rechace una revisión relacionada con esta definición."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
"Si se establece, los revisores recibirán una notificación por correo "
|
||||
"electrónico cuando se reinicie una revisión relacionada con esta definición."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización de"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización en"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr "Más opciones"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "Necesita validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "Nueva Validación de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr "Siguiente Revisión"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr "Siguiente: %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "No hay revisiones a realizar."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr "Notificar la Aceptación a los Revisores"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "Notificar a los revisores en la creación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr "Notificar el Rechazo a los Revisores"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr "Notificar a los Revisores al Reiniciar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr "Notificar a los Revisores sobre la recepción de Pendientes"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
"Opción de utilizar una fórmula python para obtener revisores y encontrar "
|
||||
"documentos"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "Modelo referenciado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "Rechazado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr "Mensaje rechazado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "ID del Documento Relacionado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "Modelo del Documento Relacionado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr "Solicitar validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "Solicitado Por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "Solicitado Por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "Recurso"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "Modelo Res"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr "Reiniciar la Validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "Revisor"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "Revisor"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr "Campo revisor"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "Grupo revisor"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "Revisores"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "Revisiones"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "Usuario específico"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "La revisión ha sido reiniciada por %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr "Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "Definición de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr "Fórmula de niveles"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "Revisión de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr "Validación por niveles"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "Validaciones de Nivel (abstracto)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "Notificación de Validación de Nivel Aceptada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "Validación de nivel Notificación rechazada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr "Validación de nivel solicitada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr "Validación de nivel reiniciada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "Validaciones de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr "Para validar el mensaje"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr "Por hacer por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr "Para hacer por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr "usuario"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr "Campo Revisor válido"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr "Validar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "Validar Rechazar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "Validado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr "Mensaje Validado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "Validado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "Fecha de Validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr "Fecha de Validación Formateada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr "Estado de validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "Validaciones"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr "Esperando"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr "Sin validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "ej. Validación de Nivel por..."
|
||||
|
||||
#~ msgid "There are no res.users in the selected field"
|
||||
#~ msgstr "No hay res.usuarios en el campo seleccionado"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activity"
|
||||
#~ msgstr "Actividades"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>rejected</b>."
|
||||
#~ msgstr "La operación ha sido <b>rechazada</b>."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>validated</b>!"
|
||||
#~ msgstr "¡La operación ha sido <b>validada</b>!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "This %s needs to be validated"
|
||||
#~ msgstr "Este %s necesita ser validado"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "This action needs to be validated for at least one record. \n"
|
||||
#~ "Please request a validation."
|
||||
#~ msgstr ""
|
||||
#~ "Esta acción necesita ser validada para algún registro.\n"
|
||||
#~ "Por favor, solicita una validación."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "The operation is under validation."
|
||||
#~ msgstr "Esta operación está en proceso de validación."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " This Record needs to be\n"
|
||||
#~ " validated."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " Este registro debe ser\n"
|
||||
#~ " validado."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>rejected</b>\n"
|
||||
#~ " ."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " La operación ha sido\n"
|
||||
#~ " <b>rechazada</b>\n"
|
||||
#~ " ."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>validated</b>\n"
|
||||
#~ " !"
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " La operación ha sido\n"
|
||||
#~ " <b>validada</b>\n"
|
||||
#~ " !"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<span>Bypassed, if previous tier was validated by same reviewer</span>"
|
||||
#~ msgstr ""
|
||||
#~ "<span>Omitido, si el nivel anterior fue validado por el mismo revisor</"
|
||||
#~ "span>"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "0 Pending"
|
||||
#~ msgstr "0 Pendientes"
|
||||
|
||||
#~ msgid "Last Modified on"
|
||||
#~ msgstr "Última modificación en"
|
||||
|
||||
#~ msgid "Option to forward a tier validation to other reviewer, and backward"
|
||||
#~ msgstr ""
|
||||
#~ "Opción de reenviar una validación de nivel a otro revisor, y hacia atrás"
|
||||
|
||||
#~ msgid "Tier Forward & Backward"
|
||||
#~ msgstr "Nivel hacia delante y hacia atrás"
|
||||
949
base_tier_validation/i18n/es_MX.po
Normal file
949
base_tier_validation/i18n/es_MX.po
Normal file
@ -0,0 +1,949 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 14.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2021-08-16 22:50+0000\n"
|
||||
"Last-Translator: Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: es_MX\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.3.2\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Nombre</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "%s ha solicitado una revisión."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Se aceptó una revisión"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Se aceptó una revisión. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "%s rechazó una revisión."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr ""
|
||||
"Todavía hay un proceso de validación abierto para al menos un registro."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "Activo"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr "Cualquier usuario de un grupo específico"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr "Aplicar en"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "Orden de aprobación por el número de secuencia especificado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "Aprobar por secuencia"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "Aprobado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "Puede revisar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
"Puede revisar se marcará si la revisión está pendiente y\n"
|
||||
" se ha logrado aprobar la secuencia"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "Comentario"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "Asistente de comentarios"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "Comentarios"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "Definición de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "Dominio de definición"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre mostrado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "Dominio"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "Realizado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "Realizado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr "Campo en registro relacionado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr "Grupo %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "Agrupar por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "Tiene comentario"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "Identificación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
"Si se establece, todos los posibles revisores serán notificados por correo "
|
||||
"electrónico cuando se active esta definición."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última modificación por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última modificación en"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "Modelo"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr "Más opciones"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "Necesita validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "Nueva Definición de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "No hay revisiones que hacer."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "Notificar a los revisores sobre la creación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "Pendiente"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "Modelo referenciado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr "Rechazar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "Rechazado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "ID de documento relacionado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "Modelo de documento relacionado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr "Solicitar Validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "Solicitado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "Solicitado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "Res"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "Modelo Res"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr "Reiniciar la validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "Revisión"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "Evaluador"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr "Campo de revisor"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "Grupo de revisores"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "Revisores"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "Comentarios"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "Usuario específico"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "Estatus"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "%s ha restablecido la revisión."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "Definición de Nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "Revisión de niveles"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "Validación de nivel (resumen)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "Notificación de validación de nivel aceptada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "Notificación de rechazo de validación de nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr "Validación de nivel solicitada"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr "Se reinició la validación de nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "Validaciones de nivel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr "Por Hacer por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr "Por Hacer por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr "Campo de revisor válido"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr "Validar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "Validar Rechazar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "Validado"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "Validado por"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "Fecha de validación"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "Validaciones"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "p.ej. Validación de nivel para ..."
|
||||
|
||||
#~ msgid "There are no res.users in the selected field"
|
||||
#~ msgstr "No hay res.users en el campo seleccionado"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "This action needs to be validated for at least one record. \n"
|
||||
#~ "Please request a validation."
|
||||
#~ msgstr ""
|
||||
#~ "Esta acción debe validarse para al menos un registro.\n"
|
||||
#~ "Solicite una validación."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "The operation is under validation."
|
||||
#~ msgstr "La operación está en proceso de validación."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " This Record needs to be\n"
|
||||
#~ " validated."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " Este registro necesita ser\n"
|
||||
#~ " validado."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>rejected</b>\n"
|
||||
#~ " ."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " La operación ha sido\n"
|
||||
#~ " <b>rechazada</b>\n"
|
||||
#~ " ."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>validated</b>\n"
|
||||
#~ " !"
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " ¡La operación ha sido\n"
|
||||
#~ " <b>validada</b>\n"
|
||||
#~ " !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "0 Pending"
|
||||
#~ msgstr "0 Pendientes"
|
||||
|
||||
#~ msgid "Last Modified on"
|
||||
#~ msgstr "Última modificación el"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activities"
|
||||
#~ msgstr "Actividades"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Usuarios"
|
||||
|
||||
#~ msgid "A review was rejected by {}. ({})"
|
||||
#~ msgstr "{} rechazó una revisión. ({})"
|
||||
980
base_tier_validation/i18n/fr.po
Normal file
980
base_tier_validation/i18n/fr.po
Normal file
@ -0,0 +1,980 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 14.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2023-10-19 12:51+0000\n"
|
||||
"Last-Translator: Houzéfa Abbasbhay <houzefa.abba@xcg-consulting.fr>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Nom</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "Une revue a été demandée par %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Une revue a été acceptée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Une revue a été acceptée. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr "Une revue a été refusée par %(user)s. (%(comment)s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "Une revue a été refusée par %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr ""
|
||||
"Un processus de validation est toujours en cours pour au moins un "
|
||||
"enregistrement."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "Actif"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "Tout"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr "Tout utilisateur d'un groupe spécifique"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr "Appliquer sur"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "Ordre d'approbation suivant le numéro de séquence spécifié"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "Approuver dans l'ordre"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "Approuvé"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "Revue possible"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
"La revue est marquée possible lorsqu'elle est en attente et\n"
|
||||
" qu'une séquence d'approbation a été effectuée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "Commentaire"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "Assistant de saisie de commentaire"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "Commentaires"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "Société"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Paramètres de configuration"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "Définition"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "Domaine de la définition"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nom d'affichage"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "Domaine"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "Fait par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "Fait par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr "Champ dans l'enregistrement rattaché"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr "Groupe %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "Regrouper par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "Avec commentaire"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
"Avec cette option, tous les réviseurs autorisés seront notifiés par email "
|
||||
"lors du déclenchement de cette définition."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Dernière mise à jour par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mise à jour le"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "Modèle"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr "Plus d'options"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "Validation requise"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "Nouveau niveau de validation"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr "Revue suivante"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr "Suivante : %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "Aucune revue n'est nécessaire."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "Notifier les réviseurs à la création"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
"Option pour utiliser une formule python pour calculer les réviseurs et "
|
||||
"déterminer les enregistrements"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "Modèle rattaché"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr "Rejeter"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "Rejeté"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr "Message de rejet"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "ID de l'enregistrement rattaché"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "Modèle de l'enregistrement rattaché"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr "Demander validation"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "Demandé par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "Demandé par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "Enregistrement"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "Modèle de l'enregistrement"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr "Recommencer la validation"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "Revue"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "Réviseur"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr "Champ du réviseur"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "Groupe des réviseurs"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "Réviseurs"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "Revues"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Séquence"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "Utilisateur spécifique"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "Cette revue a été réinitialisée par %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "Définition de niveau"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr "Formules sur les niveaux"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "Revue d'un niveau"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr "Validation par niveau"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "Validation d'un niveau (modèle abstrait)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "Validation par niveau - Notification - Acceptée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "Validation par niveau - Notification - Rejetée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr "Validation par niveau - Demandée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr "Validation par niveau - Redémarrée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "Validations par niveau"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr "Message de demande de validation"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr "À faire par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr "À faire par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Utilisateur"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr "Champs réviseur valides"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr "Valider"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "Validation / Rejet"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "Validé"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr "Message de validation"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "Validé par"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "Date de validation"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr "Date de validation formatée"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "Validations"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "par ex Niveau de validation pour..."
|
||||
|
||||
#~ msgid "There are no res.users in the selected field"
|
||||
#~ msgstr "Le champ sélectionné ne référence pas des res.users"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activity"
|
||||
#~ msgstr "Activité"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>rejected</b>."
|
||||
#~ msgstr "L'opération a été <b>rejetée</b>."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>validated</b>!"
|
||||
#~ msgstr "L'opération a été <b>validée</b> !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "This %s needs to be validated"
|
||||
#~ msgstr "%s : Cet enregistrement requiert une validation"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "This action needs to be validated for at least one record. \n"
|
||||
#~ "Please request a validation."
|
||||
#~ msgstr ""
|
||||
#~ "Cette action requiert une validation pour au moins un des "
|
||||
#~ "enregistrements. \n"
|
||||
#~ "Veuillez demander cette validation."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "The operation is under validation."
|
||||
#~ msgstr "Cette opération est en cours de validation."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " This Record needs to be\n"
|
||||
#~ " validated."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " Cet enregistrement.\n"
|
||||
#~ " requiert une validation"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>rejected</b>\n"
|
||||
#~ " ."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " L'opération a été\n"
|
||||
#~ " <b>rejetée</b>\n"
|
||||
#~ " ."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>validated</b>\n"
|
||||
#~ " !"
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " L'opération a été\n"
|
||||
#~ " <b>validée</b>\n"
|
||||
#~ " !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "0 Pending"
|
||||
#~ msgstr "0 en attente"
|
||||
|
||||
#~ msgid "Last Modified on"
|
||||
#~ msgstr "Dernière modification le"
|
||||
|
||||
#~ msgid "Option to forward a tier validation to other reviewer, and backward"
|
||||
#~ msgstr ""
|
||||
#~ "Option pour transmettre le niveau de validation à un autre réviseur, et "
|
||||
#~ "inversement"
|
||||
|
||||
#~ msgid "Tier Forward & Backward"
|
||||
#~ msgstr "Délégation des niveaux"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activities"
|
||||
#~ msgstr "Activités"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Utilisateurs"
|
||||
|
||||
#~ msgid "A review was rejected by {}. ({})"
|
||||
#~ msgstr "Une vérification a été refusée par {}. ({})"
|
||||
|
||||
#~ msgid "Any user in a specific group."
|
||||
#~ msgstr "Tout utilisateur d'un groupe spécifique."
|
||||
1050
base_tier_validation/i18n/it.po
Normal file
1050
base_tier_validation/i18n/it.po
Normal file
File diff suppressed because it is too large
Load Diff
938
base_tier_validation/i18n/nl.po
Normal file
938
base_tier_validation/i18n/nl.po
Normal file
@ -0,0 +1,938 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-06-20 22:25+0000\n"
|
||||
"Last-Translator: Bosd <c5e2fd43-d292-4c90-9d1f-74ff3436329a@anonaddy.me>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.10.4\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" Dit Record dient te worden\n"
|
||||
" beoordeeld."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Aanvraag is \n"
|
||||
" <b>afgewezen</b>\n"
|
||||
" ."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Aanvraag is\n"
|
||||
" <b>Gevalideerd</b>\n"
|
||||
" !"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Naam</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
"<span>Overslaan, indien het vorige niveau door dezelfde beoordelaar is "
|
||||
"gevalideerd</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr "Een record dat beoordeeld moet worden, is aangemaakt door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr "Een beoordeling is %s dagen geleden aangevraagd."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "Een beoordeling is aangevraagd door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Een beoordeling is geaccepteerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Een beoordeling is geaccepteerd. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr "Een beoordeling is afgewezen door %(user)s. (%(comment)s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "Een beoordeling is afgewezen door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr "Er is nog een validatieproces open voor ten minste één record."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "Actief"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr "Schrijven toestaan voor beoordelaars"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr "Toegestane groepen om deze Tier Validatie Uitzondering te gebruiken"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr "Elke gebruiker in een specifieke groep"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr "Toepassen op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "Goedkeuringsvolgorde op basis van het opgegeven volgnummer"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr "Goedkeuringsvolgorde Omzeilen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "Goedkeuren op volgorde"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "Goedgekeurd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr "Gearchiveerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
"Minstens één van deze velden moet aangevinkt zijn! Schrijven tijdens "
|
||||
"Validatie, Schrijven na Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
"Overgeslagen (automatisch gevalideerd), indien het vorige niveau door "
|
||||
"dezelfde beoordelaar is gevalideerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "Kan Beoordelen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
"Kan beoordelen wordt gemarkeerd als de beoordeling in behandeling is en de\n"
|
||||
" goedkeuringssequentie is bereikt"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "Opmerking"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "Opmerking Wizard"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "Opmerkingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Configuratie Instellingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr "Maak een nieuwe Validatie Uitzondering aan!"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Aangemaakt door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Aangemaakt op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "Definitie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "Definitiedomein"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "Omschrijving"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Weergavenaam"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr "Weergavestatus"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "Domein"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "Gedaan door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "Gedaan door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr "Veld in gerelateerd record"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr "Velden"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr "Groep %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "Groeperen op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr "Groepen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "Heeft opmerking"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr "Verberg Beoordelingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
"Indien ingesteld, staat de beoordelaar toe een opmerking achter te laten bij "
|
||||
"de beoordeling."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden alle mogelijke beoordelaars per e-mail op de hoogte "
|
||||
"gebracht wanneer deze definitie wordt geactiveerd."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden alle mogelijke beoordelaars per e-mail op de hoogte "
|
||||
"gebracht wanneer deze status is bereikt. Handig in een 'Goedkeuren op "
|
||||
"volgorde' scenario. Een verzoek om beoordeling wordt verstuurd wanneer zij "
|
||||
"aan de beurt zijn om te beoordelen."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden beoordelaars per e-mail op de hoogte gebracht "
|
||||
"wanneer een beoordeling met betrekking tot deze definitie wordt geaccepteerd."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden beoordelaars per e-mail op de hoogte gebracht "
|
||||
"wanneer een beoordeling met betrekking tot deze definitie wordt afgewezen."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden beoordelaars per e-mail op de hoogte gebracht "
|
||||
"wanneer beoordelingen met betrekking tot deze definitie opnieuw worden "
|
||||
"gestart."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr "Het is volledig gevalideerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr "Het bevindt zich in het validatieproces"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr "Datum laatste herinnering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Laatst bijgewerkt door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Laatst bijgewerkt op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr "Model naam"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr "Meer Opties"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "Validatie nodig"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "Nieuwe Tier-validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr "Volgende Beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr "Volgende: %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "Geen beoordelingen te doen."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr "Breng reviewers op de hoogte indien geaccepteerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "Informeer beoordelaar bij het maken"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr "Waarschuw reviewers bij afwijzing"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr "Waarschuw reviewers bij herstart"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr "Informeer reviewers over het bereiken van de status In behandeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
"Aantal dagen waarna een bericht moet worden geplaatst om te herinneren aan "
|
||||
"de in behandeling zijnde validatie (0 = geen herinnering)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
"Nadat u het record hebt aangemaakt, kunt u bepalen welke velden u bewerkbaar "
|
||||
"wilt maken wanneer het record:"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
"Optie om pythonformule te gebruiken om beoordelaars te krijgen en documenten "
|
||||
"te vinden"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "In afwachting"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "Referentiemodel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr "Weiger"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "Afgekeurd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr "Afgewezen bericht"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "Gerelateerde document-ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "Verwant documentmodel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr "Verzoek tot validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "Aangevraagd door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "Aangevraagd door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "Res"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "Res model"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr "Herstart Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "Beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "Beoordelaar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr "Beoordelaar veld"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "Beoordeel groep"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "Beoordelaars"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "Beoordelingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr "Verzend Tier Beoordeling Herinnering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr "Stuur herinneringsbericht voor openstaande beoordelingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Volgorde"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "Specifieke gebruiker"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "De beoordeling is opnieuw ingesteld door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
"Deze actie moet worden gevalideerd voor ten minste één record. Beoordelingen "
|
||||
"in afwachting:\n"
|
||||
" - %s \n"
|
||||
"Vraag alstublieft een validatie aan."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr "Niveau"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "Niveau Definitie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr "Niveau Formule"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "Niveau Beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr "Niveau Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "Niveau Validatie (abstract)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "Niveau Validatie Geaccepteerd Notificatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr "Niveau Validatie Uitzondering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr "Niveau Validatie Uitzonderingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "Niveau Validatie Afgewezen Notificatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr "Niveau Validatie Herinnering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr "Niveau Validatie Aangevraagd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr "Niveau Validatie Herstart"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "Niveau Validaties"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr "Te Valideren Bericht"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr "Te Doen Door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr "Te doen door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr "Geldig Modelveld"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr "Geldig Beoordelaarsveld"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr "Valideren"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "Valideren Weigeren"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "Gevalideerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr "Gevalideerd Bericht"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "Gevalideerd door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "Validatiedatum"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr "Validatie Datum"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr "Validatiestatus"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "Validaties"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr "Wachtend"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr "Zonder validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr "Schrijven na Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr "Schrijven na validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr "Schrijven tijdens Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr "Schrijven tijdens validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
"U mag deze velden niet schrijven na validatie.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Alleen deze velden kunnen worden gewijzigd:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
"U mag deze velden niet schrijven tijdens validatie.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Alleen deze velden kunnen worden gewijzigd:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "bijv. Niveau Validatie voor..."
|
||||
|
||||
#~ msgid "There are no res.users in the selected field"
|
||||
#~ msgstr "Er zijn geen res.users in het geselecteerde veld"
|
||||
992
base_tier_validation/i18n/nl_NL.po
Normal file
992
base_tier_validation/i18n/nl_NL.po
Normal file
@ -0,0 +1,992 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-02-04 21:02+0000\n"
|
||||
"Last-Translator: Bosd <c5e2fd43-d292-4c90-9d1f-74ff3436329a@anonaddy.me>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: nl_NL\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" Dit Record dient te worden\n"
|
||||
" beoordeeld."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Aanvraag is \n"
|
||||
" <b>afgewezen</b>\n"
|
||||
" ."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Aanvraag is\n"
|
||||
" <b>Gevalideerd</b>\n"
|
||||
" !"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Naam</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
"<span>Overslaan, indien het vorige niveau door dezelfde beoordelaar is "
|
||||
"gevalideerd</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr "Een record dat beoordeeld moet worden, is aangemaakt door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr "Een beoordeling is %s dagen geleden aangevraagd."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "Een beoordeling is aangevraagd door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Een beoordeling is geaccepteerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Een beoordeling is geaccepteerd. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr "Een beoordeling is afgewezen door %(user)s. (%(comment)s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "Een beoordeling is afgewezen door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr "Er is nog een validatieproces open voor ten minste één record."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "Actief"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr "Schrijven toestaan voor beoordelaars"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr "Toegestane groepen om deze Tier Validatie Uitzondering te gebruiken"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr "Elke gebruiker in een specifieke groep"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr "Toepassen op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "Goedkeuringsvolgorde op basis van het opgegeven volgnummer"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr "Beoordeel volgorde omzeilen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "Goedkeuren op volgorde"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "Goedgekeurd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr "gearchiveerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
"Minstens één van deze velden moet aangevinkt zijn! Schrijven tijdens "
|
||||
"Validatie, Schrijven na Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
"Overgeslagen (automatisch gevalideerd), als het vorige niveau door dezelfde "
|
||||
"beoordelaar is gevalideerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "Kan beoordelen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
"Kan beoordelen wordt gemarkeerd als de beoordeling in behandeling is en de\n"
|
||||
" goedkeuringssequentie is bereikt"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleer"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "Opmerking"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "Opmerking Wizard"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "Opmerkingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Configuratie Instellingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr "Maak een nieuwe Validatie Uitzondering aan!"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Bedrijf"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Aangemaakt door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "Definitie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "Definitiedomein"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "Omschrijving"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Weergavenaam"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr "Weergavestatus"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "Domein"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "Gedaan door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "Gedaan door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr "Veld in verwante record"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr "Velden"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr "Groep %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "Groeperen op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr "Groepen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "Heeft commentaar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr "Verberg Beoordelingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
"Indien ingesteld, staat de beoordelaar toe een opmerking achter te laten bij "
|
||||
"de beoordeling."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden alle mogelijke reviewers per e-mail op de hoogte "
|
||||
"gebracht wanneer deze definitie wordt geactiveerd."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden alle mogelijke beoordelaars per e-mail op de hoogte "
|
||||
"gebracht wanneer deze status is bereikt. Handig in een 'Goedkeuren op "
|
||||
"volgorde' scenario. Een verzoek om beoordeling wordt verstuurd wanneer zij "
|
||||
"aan de beurt zijn om te beoordelen."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden beoordelaars per e-mail op de hoogte gebracht "
|
||||
"wanneer een beoordeling met betrekking tot deze definitie wordt geaccepteerd."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden beoordelaars per e-mail op de hoogte gebracht "
|
||||
"wanneer een beoordeling met betrekking tot deze definitie wordt afgewezen."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
"Indien ingesteld, worden beoordelaars per e-mail op de hoogte gebracht "
|
||||
"wanneer beoordelingen met betrekking tot deze definitie opnieuw worden "
|
||||
"gestart."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr "Het is volledig gevalideerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr "Het bevindt zich in het validatieproces"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr "Datum laatste herinnering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Laatst bijgewerkt door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Laatst bijgewerkt op"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "Model"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr "Model naam"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr "Meer Opties"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "Validatie nodig"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "Nieuwe Tier-validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr "Volgende Beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr "Volgende: %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "Geen beoordelingen te doen."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr "Breng reviewers op de hoogte indien geaccepteerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "Informeer beoordelaar bij het maken"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr "Waarschuw reviewers bij afwijzing"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr "Waarschuw reviewers bij herstart"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr "Informeer reviewers over het bereiken van de status In behandeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
"Aantal dagen waarna een bericht moet worden geplaatst om te herinneren aan "
|
||||
"de in behandeling zijnde validatie (0 = geen herinnering)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
"Nadat u het record hebt aangemaakt, kunt u bepalen welke velden u bewerkbaar "
|
||||
"wilt maken wanneer het record:"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
"Optie om pythonformule te gebruiken om beoordelaars te krijgen en documenten "
|
||||
"te vinden"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "In afwachting"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "Referentiemodel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr "Weiger"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "Afgekeurd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr "Afgewezen bericht"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "Gerelateerde document-ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "Verwant documentmodel"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr "Verzoek valideren"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "Aangevraagd door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "Aangevraagd door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "Res"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "Res model"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr "Herstart Beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "Beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "Beoordelaar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr "Beoordelaar veld"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "Beoordeel groep"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "Beoordelaars"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "Beoordelingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr "Verzend Tier Beoordeling Herinnering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr "Stuur herinneringsbericht voor openstaande beoordelingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Volgorde"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "Specifieke gebruiker"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "De beoordeling is opnieuw gestart door %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
"Deze actie moet worden gevalideerd voor ten minste één record. Beoordelingen "
|
||||
"in afwachting:\n"
|
||||
" - %s \n"
|
||||
"Vraag alstublieft een validatie aan."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr "Tier"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "Tier definitie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr "Niveau Formule"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "Tier beoordeling"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr "Niveauvalidatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "Tier-validatie (abstract)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "Tier-validatie (abstract)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr "Niveau Validatie Uitzondering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr "Niveau Validatie Uitzonderingen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "Tier-validatie (abstract)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr "Niveau Validatie Herinnering"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr "Niveau Validatie Aangevraagd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr "Niveauvalidatie opnieuw gestart"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "Tier-validaties"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr "Bericht valideren"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr "Te doen door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr "Te doen door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Gebruiker"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr "Geldig Modelveld"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr "Geldig beoordelaarsveld"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr "Valideer"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "Valideren weigeren"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "Gevalideerd"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr "Gevalideerd bericht"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "Gevalideerd door"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "Validatie datum"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr "Validatie Datum"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr "Validatie Status"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "Validaties"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr "Wachtend"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr "Zonder validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr "Schrijven na Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr "Schrijven na validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr "Schrijven tijdens Validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr "Schrijven tijdens validatie"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
"U mag deze velden niet schrijven na validatie.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Alleen deze velden kunnen worden gewijzigd:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
"U mag deze velden niet schrijven tijdens validatie.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Alleen deze velden kunnen worden gewijzigd:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "bijv. Tier validatie voor..."
|
||||
|
||||
#~ msgid "There are no res.users in the selected field"
|
||||
#~ msgstr "Er zijn geen res.users in het geselecteerde veld"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activity"
|
||||
#~ msgstr "Activiteit"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>rejected</b>."
|
||||
#~ msgstr "Operatie is <b>afgewezen</b>."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>validated</b>!"
|
||||
#~ msgstr "Operation has been <b>Goedgekeurd</b>!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "This %s needs to be validated"
|
||||
#~ msgstr "Dit %s dient te worden beoordeeld"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "This action needs to be validated for at least one record. \n"
|
||||
#~ "Please request a validation."
|
||||
#~ msgstr ""
|
||||
#~ "Deze actie moet voor ten minste één record gevalideerd worden.\n"
|
||||
#~ "Vraag een validatie aan."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "The operation is under validation."
|
||||
#~ msgstr "De bewerking is onder validatie."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "0 Pending"
|
||||
#~ msgstr "0 In afwachting"
|
||||
|
||||
#~ msgid "Last Modified on"
|
||||
#~ msgstr "Laatst gewijzigd op"
|
||||
|
||||
#, fuzzy, python-format
|
||||
#~ msgid "Activities"
|
||||
#~ msgstr "Actief"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "Gebruikers"
|
||||
|
||||
#~ msgid "A review was rejected by {}. ({})"
|
||||
#~ msgstr "Een beoordeling is afgewezen door {}. ({})"
|
||||
|
||||
#~ msgid "Any user in a specific group."
|
||||
#~ msgstr "Elke gebruiker in een specifieke groep."
|
||||
|
||||
#~ msgid "Object"
|
||||
#~ msgstr "Object"
|
||||
|
||||
#~ msgid "Approve Sequence"
|
||||
#~ msgstr "Volgorde goedkeuren"
|
||||
1014
base_tier_validation/i18n/sv.po
Normal file
1014
base_tier_validation/i18n/sv.po
Normal file
File diff suppressed because it is too large
Load Diff
998
base_tier_validation/i18n/tr.po
Normal file
998
base_tier_validation/i18n/tr.po
Normal file
@ -0,0 +1,998 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-10-30 17:00+0000\n"
|
||||
"Last-Translator: Betül Öğmen <betulo@eska.biz>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.10.4\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" Bu kaydın onaylanması\n"
|
||||
" gerekmektedir."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" İşlem reddedildi\n"
|
||||
" <b></b>\n"
|
||||
" ."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" İşlem Onaylandı\n"
|
||||
" <b></b>\n"
|
||||
" !"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Adı</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
"<span>Önceki aşama aynı inceleyen tarafından doğrulandıysa atlandı</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr "Gözden geçirilmesi gereken bir kayıt %s tarafından oluşturuldu."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr "%s tarafından bir inceleme istendi."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "%s tarafından bir inceleme istendi."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Bir inceleme kabul edildi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Bir inceleme kabul edildi. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr "Bir inceleme %(user)s tarafından reddedildi. (%(comment)s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "Bir inceleme %s tarafından reddedildi."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr "En az bir kayıt için hala bir doğrulama süreci açık."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "Etkin"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "Bütün"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr "İnceleyenler için yazmaya izin ver"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr "Grupların bu Katman Doğrulama İstisnasını kullanmasına izin verildi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr "Belirli bir gruptaki herhangi bir kullanıcı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr "Uygula"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "Belirtilen sıra numarasına göre onay sırası"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr "Dizi Atlamasını Onayla"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "Sıraya göre onayla"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "Onaylı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr "Arşivlendi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
"Bu alanlardan en az birinin işaretlenmesi gerekmektedir! Doğrulama Altında "
|
||||
"Yaz, Doğrulama Sonrası Yaz\""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
"Önceki aşama aynı inceleyici tarafından doğrulandıysa atlandı (otomatik "
|
||||
"olarak doğrulandı)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "Gözden Geçirebilir"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
"İnceleme beklemedeyse ve gözden geçirilebilirse işaretlenebilir.\n"
|
||||
" onay dizisi elde edildi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "Yorum"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "Yorum Sihirbazı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "Yorumlar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "Şirket"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr "Yapılandırma Ayarları"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr "Yeni bir Doğrulama İstisnası oluştur!"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Oluşturan"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Oluşturulma"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "Tanım"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "Tanım Etki Alanı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "Açıklama"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Görünüm Adı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr "Durumu Göster"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "Etki Alanı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "Tamamlayan"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "Tamamlayan"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr "İlgili kayıttaki alan"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr "Alanlar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr "Grup %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "Grupla"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr "Gruplar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "Yorum Var"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr "İncelemeleri Gizle"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr "Ayarlanırsa, İnceleyenin inceleme üzerinde yorum yapmasına izin ver."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
"Ayarlanırsa, bu tanım tetiklendiğinde tüm olası gözden geçirenler e-posta "
|
||||
"ile bilgilendirilecektir."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
"Ayarlanırsa, bu duruma ulaşıldığında tüm olası inceleyenler e-posta ile "
|
||||
"bildirilecektir. Sıraya göre onay senaryosunda kullanışlıdır. İnceleme "
|
||||
"sırası kendilerine geldiğinde bir inceleme isteği gönderilir."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
"Ayarlanırsa, bu tanımla ilgili bir inceleme kabul edildiğinde inceleyiciler "
|
||||
"e-postayla bilgilendirilecektir."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
"Ayarlanırsa, bu tanımla ilgili bir inceleme reddedildiğinde inceleyiciler e-"
|
||||
"postayla bilgilendirilecektir."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
"Ayarlanırsa, bu tanımla ilgili bir inceleme yeniden başlatıldığında "
|
||||
"inceleyiciler e-postayla bilgilendirilecektir."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr "Tamamen Doğrulandı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr "Doğrulama Aşamasında"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr "Son Bilgilendirme Tarihi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Son Güncelleyen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Son Güncelleme"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "Modeli"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr "Model İsmi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr "Daha Fazla Seçenek"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr "İsim"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "Doğrulama Gerekiyor"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "Yeni Seviye Doğrulama"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr "Sonraki İnceleme"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr "Sonraki: %s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "Yapacak inceleme yok."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr "Kabul Edilenleri İnceleyicilere Bildir"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "İncelemeleri Oluşturma Hakkında Bilgilendir"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr "Red Edilenleri İnceleyicilere Bildir"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr "Yeniden Başlatmayı İnceleyicilere Bildir"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr "Bekleme Durumuna ulaştıklarında İnceleyicilere Bildir"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
"Bekleyen doğrulamayı hatırlatmak için bir mesajın gönderilmesi gereken gün "
|
||||
"sayısı (0 = hatırlatma yok)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
"Oluşturulduktan sonra, kayıt sırasında hangi alanların düzenlenebilir "
|
||||
"olmasını istediğinize karar verebilirsiniz:"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
"Gözden geçirenleri almak ve belgeleri bulmak için python formülünü kullanma "
|
||||
"seçeneği"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "Bekleyen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "Referans Model"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr "Reddet"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "Reddedildi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr "Reddedilen Mesaj"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "İlgili Belge ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "İlgili Belge Modeli"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr "Doğrulama İste"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "İsteyen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "İsteyen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "Temsilci"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "Res Model"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr "Yeniden Doğrulama İste"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "İncele"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "İnceleyen"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr "İnceleme alanı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "İnceleme grubu"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "İnceleyenler"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "İncelemeler"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr "Katman İnceleme Hatırlatıcısı Gönder"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr "Bekleyen incelemelerle ilgili hatırlatma mesajı gönder"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Sıra"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "Belirli kullanıcı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "Durumu"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "İnceleme %s tarafından sıfırlandı."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
"Bu eylemin en az bir kayıt için doğrulanması gerekir. İnceleme bekliyor:\n"
|
||||
" - %s \n"
|
||||
"Lütfen doğrulama isteğinde bulunun."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr "Seviye"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "Seviye Tanımı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr "Seviye Formülü"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "Seviye İncelemesi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr "Katman Doğrulama"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "Seviye Doğrulaması (özet)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "Seviye Doğrulama Kabul Bildirimi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr "Katman Doğrulama İstisnası"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr "Katman Doğrulama İstisnaları"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "Seviye Doğrulaması Reddedildi Bildirimi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr "Katman Doğrulama Hatırlatıcısı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr "Seviye Doğrulaması İstendi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr "Seviye Doğrulaması Yeniden Başlatıldı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "Seviye Doğrulamaları"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr "Mesajı Doğrulamak İçin"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr "Yapılacak"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr "Yapılacak"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr "Kullanıcı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr "Geçerli Model Alanı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr "Geçerli İnceleme Alanı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr "Doğrula"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "Reddetmeyi Doğrula"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "Doğrulandı"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr "Doğrulanmış Mesaj"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "Doğrulayan"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "Doğrulama Tarihi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr "Doğrulama Format Tarihi"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr "Doğrulama Durumu"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr "Doğrulama gözden geçiren alanı uygun türde olmalıdır"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "Doğrulamalar"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr "Bekleyenler"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr "Doğrulama olmadan"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr "Doğrulamadan sonra Yaz"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr "Doğrulamadan sonra yaz"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr "Doğrulama esnasında Yaz"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr "Doğrulama esnasında yaz"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
"Doğrulamadan sonra bu alanları yazmanıza izin verilmez.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Yalnızca bu alanlar değiştirilebilir:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
"Doğrulamadan sonra bu alanları yazmanıza izin verilmez.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Yalnızca bu alanlar değiştirilebilir:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "ör. Şunun için Seviye Doğrulaması..."
|
||||
|
||||
#~ msgid "There are no res.users in the selected field"
|
||||
#~ msgstr "Seçili alanda res.kullanıcı yok"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activity"
|
||||
#~ msgstr "Aktivite"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>rejected</b>."
|
||||
#~ msgstr "İşlem <b>reddedildi</b>."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Operation has been <b>validated</b>!"
|
||||
#~ msgstr "İşlem <b>doğrulandı</b>!"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "This %s needs to be validated"
|
||||
#~ msgstr "Bu %s 'nin doğrulanması gerekiyor"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "This action needs to be validated for at least one record. \n"
|
||||
#~ "Please request a validation."
|
||||
#~ msgstr ""
|
||||
#~ "Bu eylemin en az bir kayıt için doğrulanması gerekir.\n"
|
||||
#~ "Lütfen doğrulama isteğinde bulunun."
|
||||
|
||||
#, python-format
|
||||
#~ msgid "The operation is under validation."
|
||||
#~ msgstr "İşlem doğrulama aşamasındadır."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " This Record needs to be\n"
|
||||
#~ " validated."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-info-circle\"/>\n"
|
||||
#~ " Bu kaydın olması gerekiyor\n"
|
||||
#~ " doğrulandı."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>rejected</b>\n"
|
||||
#~ " ."
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-down\"/>\n"
|
||||
#~ " operasyon yapıldı\n"
|
||||
#~ " <b>reddedildi</b>\n"
|
||||
#~ " ."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " Operation has been\n"
|
||||
#~ " <b>validated</b>\n"
|
||||
#~ " !"
|
||||
#~ msgstr ""
|
||||
#~ "<i class=\"fa fa-thumbs-up\"/>\n"
|
||||
#~ " operasyon yapıldı\n"
|
||||
#~ " <b>doğrulandı</b>\n"
|
||||
#~ " !"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "0 Pending"
|
||||
#~ msgstr "0 Bekleyen"
|
||||
|
||||
#~ msgid "Last Modified on"
|
||||
#~ msgstr "Son Düzenleme"
|
||||
897
base_tier_validation/i18n/vi_VN.po
Normal file
897
base_tier_validation/i18n/vi_VN.po
Normal file
@ -0,0 +1,897 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-04-04 12:06+0000\n"
|
||||
"Last-Translator: ductdm <duc.tdm@komit-consulting.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: vi_VN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.10.2\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" Bản ghi này cần được\n"
|
||||
" xác thực."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Hoạt động đã bị\n"
|
||||
" <b>từ chối</b>\n"
|
||||
" ."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Hoạt động này đã được\n"
|
||||
" <b>xác thực</b>\n"
|
||||
" !"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">Tên</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
"<span>Bỏ qua, nếu cấp độ trước đó đã được xác thực bởi cùng một người xem "
|
||||
"xét</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr "Một bản ghi cần được xem xét đã được tạo bởi %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr "Một yêu cầu xem xét đã được tạo %s ngày trước."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "Một yêu cầu xem xét đã được tạo bởi %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "Yêu cầu xem xét đã được chấp nhận"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "Yêu cầu xem xét đã được chấp nhận. (%s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr "Yêu cầu xem xét đã bị từ chối bởi %(user)s. (%(comment)s)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "Yêu cầu xem xét đã bị từ chối bởi %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr "Quá trình xác thực vẫn mở cho ít nhất một bản ghi."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr "Đánh giá đã được thiết lập lại bởi %s."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
"Hành động này cần được xác thực cho ít nhất một bản ghi. Đang chờ đánh giá:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr ""
|
||||
927
base_tier_validation/i18n/zh_CN.po
Normal file
927
base_tier_validation/i18n/zh_CN.po
Normal file
@ -0,0 +1,927 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_tier_validation
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2020-09-24 18:00+0000\n"
|
||||
"Last-Translator: Dong <dong@freshoo.cn>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 3.10\n"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-info-circle\"/>\n"
|
||||
" This Record needs to be\n"
|
||||
" validated."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-down\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>rejected</b>\n"
|
||||
" ."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid ""
|
||||
"<i class=\"fa fa-lg fa-thumbs-up\"/>\n"
|
||||
" Operation has been\n"
|
||||
" <b>validated</b>\n"
|
||||
" !"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span class=\"oe_edit_only\">Name</span>"
|
||||
msgstr "<span class=\"oe_edit_only\">名称</span>"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "<span>Bypass, if previous tier was validated by same reviewer</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A record to be reviewed has been created by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "A review has been requested %s days ago."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review has been requested by %s."
|
||||
msgstr "%s 发起审批请求。"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted"
|
||||
msgstr "审批已通过"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was accepted. (%s)"
|
||||
msgstr "审批已通过。 ( %s )"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %(user)s. (%(comment)s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A review was rejected by %s."
|
||||
msgstr "%s 驳回了审批。"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "A validation process is still open for at least one record."
|
||||
msgstr "当前记录存在待批复的审批流程。"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__active
|
||||
msgid "Active"
|
||||
msgstr "有效"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "All"
|
||||
msgstr "所有"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__allow_write_for_reviewer
|
||||
msgid "Allow Write For Reviewers"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Allowed groups to use this Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__group
|
||||
msgid "Any user in a specific group"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Apply On"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approval order by the specified sequence number"
|
||||
msgstr "审批按指定序号排序"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid "Approve Sequence Bypass"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__approve_sequence
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__approve_sequence
|
||||
msgid "Approve by sequence"
|
||||
msgstr "按顺序审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__approved
|
||||
msgid "Approved"
|
||||
msgstr "已批准"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Archived"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation_exception.py:0
|
||||
msgid ""
|
||||
"At least one of these fields must be checked! Write under Validation, Write "
|
||||
"after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__approve_sequence_bypass
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__approve_sequence_bypass
|
||||
msgid ""
|
||||
"Bypassed (auto validated), if previous tier was validated by same reviewer"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__can_review
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__can_review
|
||||
msgid "Can Review"
|
||||
msgstr "可审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_review__can_review
|
||||
msgid ""
|
||||
"Can review will be marked if the review is pending and the\n"
|
||||
" approve sequence has been achieved"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__has_comment
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__has_comment
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
|
||||
msgid "Comment"
|
||||
msgstr "审批意见"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_comment_wizard
|
||||
msgid "Comment Wizard"
|
||||
msgstr "审批意见向导"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__comment
|
||||
msgid "Comments"
|
||||
msgstr "审批意见"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__company_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Company"
|
||||
msgstr "公司"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_config_settings
|
||||
msgid "Config Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "Create a new Validation Exception!"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "创建人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__create_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__create_date
|
||||
msgid "Created on"
|
||||
msgstr "创建时间"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__definition_id
|
||||
msgid "Definition"
|
||||
msgstr "定义类型"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__definition_domain
|
||||
msgid "Definition Domain"
|
||||
msgstr "定义域"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__name
|
||||
msgid "Description"
|
||||
msgstr "说明"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "显示名称"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__display_status
|
||||
msgid "Display Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__definition_type__domain
|
||||
msgid "Domain"
|
||||
msgstr "域"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__done_by
|
||||
msgid "Done By"
|
||||
msgstr "审批人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Done by"
|
||||
msgstr "审批人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__field
|
||||
msgid "Field in related record"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__field_ids
|
||||
msgid "Fields"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Group %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
msgid "Group By"
|
||||
msgstr "分组"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__group_ids
|
||||
msgid "Groups"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "Has Comment"
|
||||
msgstr "含审批意见"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__hide_reviews
|
||||
msgid "Hide Reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_validation__has_comment
|
||||
msgid "If set, Allow the reviewer to leave a comment on the review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this "
|
||||
"definition is triggered."
|
||||
msgstr "如果设置,则触发此定义规则时将通过电子邮件通知所有的审批人。"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid ""
|
||||
"If set, all possible reviewers will be notified by email when this status is "
|
||||
"reached.Usefull in an Approve by sequence scenario. An notification request "
|
||||
"to review is sent out when it's their turn to review."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is accepted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a review related to this "
|
||||
"definition is rejected."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid ""
|
||||
"If set, reviewers will be notified by email when a reviews related to this "
|
||||
"definition are restarted."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's fully validated"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid "It's in the validation process"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__last_reminder_date
|
||||
msgid "Last Reminder Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_uid
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "最近更新人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__write_date
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "最近更新时间"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_id
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Model"
|
||||
msgstr "模型"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__model_name
|
||||
msgid "Model Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "More Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__name
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__name
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__need_validation
|
||||
msgid "Need Validation"
|
||||
msgstr "需要审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_definition.py:0
|
||||
msgid "New Tier Validation"
|
||||
msgstr "新建多层级审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__next_review
|
||||
msgid "Next Review"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "Next: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
msgid "No reviews to do."
|
||||
msgstr "没有待审批的项目。"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_accepted
|
||||
msgid "Notify Reviewers on Accepted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_create
|
||||
msgid "Notify Reviewers on Creation"
|
||||
msgstr "创建时通知审批人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_rejected
|
||||
msgid "Notify Reviewers on Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_restarted
|
||||
msgid "Notify Reviewers on Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_on_pending
|
||||
msgid "Notify Reviewers on reaching Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid ""
|
||||
"Number of days after which a message must be posted to remind about pending "
|
||||
"validation (0 = no reminder)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.actions.act_window,help:base_tier_validation.tier_validation_exception_action
|
||||
msgid ""
|
||||
"Once created, you can decide which fields you want to be editable when the "
|
||||
"record:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Option to use python formula to get reviewers and find documents"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__pending
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__pending
|
||||
msgid "Pending"
|
||||
msgstr "待审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__model_id
|
||||
msgid "Referenced Model"
|
||||
msgstr "引用模型"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__rejected
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__rejected
|
||||
msgid "Rejected"
|
||||
msgstr "已驳回"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__rejected_message
|
||||
msgid "Rejected Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__res_id
|
||||
msgid "Related Document ID"
|
||||
msgstr "关联文档 ID"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__model
|
||||
msgid "Related Document Model"
|
||||
msgstr "关联文档模型"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Request Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__requested_by
|
||||
msgid "Requested By"
|
||||
msgstr "发起人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Requested by"
|
||||
msgstr "发起人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_id
|
||||
msgid "Res"
|
||||
msgstr "资源"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__res_model
|
||||
msgid "Res Model"
|
||||
msgstr "资源模型"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_buttons
|
||||
msgid "Restart Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__review_ids
|
||||
msgid "Review"
|
||||
msgstr "审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_id
|
||||
msgid "Reviewer"
|
||||
msgstr "审批人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_field_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_field_id
|
||||
msgid "Reviewer field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__reviewer_group_id
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_group_id
|
||||
msgid "Reviewer group"
|
||||
msgstr "审批组"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewer_ids
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__reviewer_ids
|
||||
msgid "Reviewers"
|
||||
msgstr "审批者"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_menu/tier_review_menu.xml:0
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_users__review_ids
|
||||
msgid "Reviews"
|
||||
msgstr "审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.server,name:base_tier_validation.ir_cron_auto_tier_validation_ir_actions_server
|
||||
msgid "Send Tier Review Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__notify_reminder_delay
|
||||
msgid "Send reminder message on pending reviews"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "序号"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_definition__review_type__individual
|
||||
msgid "Specific user"
|
||||
msgstr "指定用户"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__status
|
||||
msgid "Status"
|
||||
msgstr "状态"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid "The review has been reset by %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"This action needs to be validated for at least one record. Reviews pending:\n"
|
||||
" - %s \n"
|
||||
"Please request a validation."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__sequence
|
||||
msgid "Tier"
|
||||
msgstr "层级"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_definition_action
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_definition
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_definition
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "Tier Definition"
|
||||
msgstr "层级定义"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_res_config_settings__module_base_tier_validation_formula
|
||||
msgid "Tier Formula"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_review
|
||||
msgid "Tier Review"
|
||||
msgstr "多层级审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.res_config_settings_view_form_budget
|
||||
msgid "Tier Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation
|
||||
msgid "Tier Validation (abstract)"
|
||||
msgstr "多层级审批(抽象)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_accepted
|
||||
#, fuzzy
|
||||
msgid "Tier Validation Accepted Notification"
|
||||
msgstr "多层级审批(抽象)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.actions.act_window,name:base_tier_validation.tier_validation_exception_action
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_validation_exception
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_form
|
||||
msgid "Tier Validation Exception"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_tier_validation_exception
|
||||
msgid "Tier Validation Exceptions"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_rejected
|
||||
#, fuzzy
|
||||
msgid "Tier Validation Rejected Notification"
|
||||
msgstr "多层级审批(抽象)"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.activity.type,name:base_tier_validation.mail_act_tier_validation_reminder
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_reminder
|
||||
msgid "Tier Validation Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_requested
|
||||
msgid "Tier Validation Requested"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:mail.message.subtype,name:base_tier_validation.mt_tier_validation_restarted
|
||||
msgid "Tier Validation Restarted"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.ui.menu,name:base_tier_validation.menu_tier_confirmation
|
||||
msgid "Tier Validations"
|
||||
msgstr "多层级审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__to_validate_message
|
||||
msgid "To Validate Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__todo_by
|
||||
msgid "Todo By"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
msgid "Todo by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model,name:base_tier_validation.model_res_users
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__valid_model_field_ids
|
||||
msgid "Valid Model Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__valid_reviewer_field_ids
|
||||
msgid "Valid Reviewer Field"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_label
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_comment_wizard__validate_reject
|
||||
msgid "Validate Reject"
|
||||
msgstr "驳回"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__validated
|
||||
msgid "Validated"
|
||||
msgstr "已批准"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validated_message
|
||||
msgid "Validated Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_definition__review_type
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__review_type
|
||||
msgid "Validated by"
|
||||
msgstr "审批人"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-javascript
|
||||
#: code:addons/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml:0
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_date
|
||||
msgid "Validation Date"
|
||||
msgstr "审批日期"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_review__reviewed_formated_date
|
||||
msgid "Validation Formated Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__validation_status
|
||||
msgid "Validation Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_review.py:0
|
||||
msgid "Validation reviewer field should be of the appropriate type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation__review_ids
|
||||
msgid "Validations"
|
||||
msgstr "审批"
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__waiting
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__waiting
|
||||
msgid "Waiting"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_validation__validation_status__no
|
||||
msgid "Without validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_after_validation
|
||||
msgid "Write after Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write after validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model:ir.model.fields,field_description:base_tier_validation.field_tier_validation_exception__allowed_to_write_under_validation
|
||||
msgid "Write under Validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_validation_exception_search
|
||||
msgid "Write under validation"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#. odoo-python
|
||||
#: code:addons/base_tier_validation/models/tier_validation.py:0
|
||||
msgid ""
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n"
|
||||
"\n"
|
||||
"Only those fields can be modified:\n"
|
||||
"- %(allowed_fields_str)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_tier_validation
|
||||
#: model_terms:ir.ui.view,arch_db:base_tier_validation.tier_definition_view_form
|
||||
msgid "e.g. Tier Validation for..."
|
||||
msgstr "例如:审批层级用于..."
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "This action needs to be validated for at least one record. \n"
|
||||
#~ "Please request a validation."
|
||||
#~ msgstr ""
|
||||
#~ "此操作需要至少对一条记录进行审批。\n"
|
||||
#~ "请发起审批申请。"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "The operation is under validation."
|
||||
#~ msgstr "该操作正在审批中。"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "0 Pending"
|
||||
#~ msgstr "0 待审批"
|
||||
|
||||
#~ msgid "Last Modified on"
|
||||
#~ msgstr "最近修改时间"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Activities"
|
||||
#~ msgstr "活动项目"
|
||||
|
||||
#~ msgid "Users"
|
||||
#~ msgstr "用户"
|
||||
|
||||
#~ msgid "A review was rejected by {}. ({})"
|
||||
#~ msgstr "{} 驳回了审批。 ( {} )"
|
||||
|
||||
#~ msgid "Any user in a specific group."
|
||||
#~ msgstr "指定权限组"
|
||||
|
||||
#~ msgid "Object"
|
||||
#~ msgstr "对象"
|
||||
|
||||
#~ msgid "Approve Sequence"
|
||||
#~ msgstr "批准顺序"
|
||||
|
||||
#~ msgid "Formula"
|
||||
#~ msgstr "公式"
|
||||
|
||||
#~ msgid "Python Expression"
|
||||
#~ msgstr "Python表达式"
|
||||
82
base_tier_validation/migrations/18.0.2.1.0/pre-migration.py
Normal file
82
base_tier_validation/migrations/18.0.2.1.0/pre-migration.py
Normal file
@ -0,0 +1,82 @@
|
||||
# Copyright 2025 Tecnativa - Víctor Martínez
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openupgradelib import openupgrade
|
||||
|
||||
|
||||
@openupgrade.migrate()
|
||||
def migrate(cr, version):
|
||||
# Workaround to execute the migration script without errors
|
||||
# see https://github.com/odoo/odoo/blob/2a839ef1ed09c36f27ce7536ca3052d9f65ceed9/odoo/modules/migration.py#L252-L256
|
||||
env = cr
|
||||
env.cr.execute(
|
||||
"""
|
||||
SELECT imf.model
|
||||
FROM ir_model_fields AS imf
|
||||
WHERE imf.name = 'review_ids'
|
||||
AND imf.ttype = 'one2many'
|
||||
AND imf.model != 'tier.validation'
|
||||
"""
|
||||
)
|
||||
for (model_name,) in env.cr.fetchall():
|
||||
table_name = model_name.replace(".", "_")
|
||||
# validation_status column
|
||||
if not openupgrade.column_exists(env.cr, table_name, "validation_status"):
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
ALTER TABLE {table_name}
|
||||
ADD COLUMN IF NOT EXISTS validation_status VARCHAR
|
||||
""",
|
||||
)
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
UPDATE {table_name} SET validation_status = 'no'
|
||||
""",
|
||||
)
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
UPDATE {table_name} SET validation_status = 'rejected'
|
||||
WHERE validation_status = 'no' AND id IN (
|
||||
SELECT DISTINCT(tr.res_id)
|
||||
FROM tier_review AS tr
|
||||
WHERE tr.model = '{model_name}' AND tr.status = 'rejected'
|
||||
)
|
||||
""",
|
||||
)
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
UPDATE {table_name} SET validation_status = 'pending'
|
||||
WHERE validation_status = 'no' AND id IN (
|
||||
SELECT DISTINCT(tr.res_id)
|
||||
FROM tier_review AS tr
|
||||
WHERE tr.model = '{model_name}' AND tr.status = 'pending'
|
||||
)
|
||||
""",
|
||||
)
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
UPDATE {table_name} SET validation_status = 'waiting'
|
||||
WHERE validation_status = 'no' AND id IN (
|
||||
SELECT DISTINCT(tr.res_id)
|
||||
FROM tier_review AS tr
|
||||
WHERE tr.model = '{model_name}' AND tr.status = 'waiting'
|
||||
)
|
||||
""",
|
||||
)
|
||||
openupgrade.logged_query(
|
||||
env.cr,
|
||||
f"""
|
||||
UPDATE {table_name} SET validation_status = 'validated'
|
||||
WHERE validation_status = 'no' AND id IN (
|
||||
SELECT DISTINCT(tr.res_id)
|
||||
FROM tier_review AS tr
|
||||
WHERE tr.model = '{model_name}'
|
||||
AND tr.status IN ('approved', 'forwarded')
|
||||
)
|
||||
""",
|
||||
)
|
||||
8
base_tier_validation/models/__init__.py
Normal file
8
base_tier_validation/models/__init__.py
Normal file
@ -0,0 +1,8 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import tier_definition
|
||||
from . import tier_validation_exception
|
||||
from . import tier_review
|
||||
from . import tier_validation
|
||||
from . import res_users
|
||||
from . import res_config_settings
|
||||
14
base_tier_validation/models/res_config_settings.py
Normal file
14
base_tier_validation/models/res_config_settings.py
Normal file
@ -0,0 +1,14 @@
|
||||
# Copyright 2021 Ecosoft Co., Ltd. (http://ecosoft.co.th)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResConfigSettings(models.TransientModel):
|
||||
_inherit = "res.config.settings"
|
||||
|
||||
# Activate me back when modules are migrated
|
||||
|
||||
module_base_tier_validation_formula = fields.Boolean(string="Tier Formula")
|
||||
# module_base_tier_validation_forward = fields.Boolean("Tier Forward & Backward")
|
||||
# module_base_tier_validation_server_action = fields.Boolean("Tier Server Action")
|
||||
# module_base_tier_validation_report = fields.Boolean("Tier Reports")
|
||||
55
base_tier_validation/models/res_users.py
Normal file
55
base_tier_validation/models/res_users.py
Normal file
@ -0,0 +1,55 @@
|
||||
# Copyright 2019 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models, modules
|
||||
|
||||
|
||||
class Users(models.Model):
|
||||
_inherit = "res.users"
|
||||
|
||||
review_ids = fields.Many2many(string="Reviews", comodel_name="tier.review")
|
||||
|
||||
@api.model
|
||||
def review_user_count(self):
|
||||
user_reviews = {}
|
||||
user = self.env.user
|
||||
domain = [
|
||||
("status", "=", "pending"),
|
||||
("can_review", "=", True),
|
||||
("id", "in", user.review_ids.ids),
|
||||
]
|
||||
review_groups = self.env["tier.review"]._read_group(
|
||||
domain=domain,
|
||||
groupby=["model"],
|
||||
aggregates=["id:recordset"],
|
||||
)
|
||||
for model, tier_review in review_groups:
|
||||
Model = self.env[model]
|
||||
# Skip Models not having Tier Validation enabled (example: was unistalled)
|
||||
if tier_review and hasattr(Model, "can_review"):
|
||||
records_domain = [
|
||||
("id", "in", tier_review.mapped("res_id")),
|
||||
("validation_status", "!=", "rejected"),
|
||||
("can_review", "=", True),
|
||||
]
|
||||
records = (
|
||||
Model.with_user(user)
|
||||
.with_context(active_test=False)
|
||||
.search(records_domain)
|
||||
)
|
||||
# Excludes any cancelled records depending on the structure of the model
|
||||
if Model._state_field in Model._fields:
|
||||
records = records.filtered(
|
||||
lambda x: x[x._state_field] != x._cancel_state
|
||||
)
|
||||
if records:
|
||||
user_reviews[model] = {
|
||||
"id": records[0].id,
|
||||
"name": Model._description,
|
||||
"model": model,
|
||||
"active_field": "active" in Model._fields,
|
||||
"icon": modules.module.get_module_icon(Model._original_module),
|
||||
"type": "tier_review",
|
||||
"pending_count": len(records),
|
||||
}
|
||||
return list(user_reviews.values())
|
||||
166
base_tier_validation/models/tier_definition.py
Normal file
166
base_tier_validation/models/tier_definition.py
Normal file
@ -0,0 +1,166 @@
|
||||
# Copyright 2017 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class TierDefinition(models.Model):
|
||||
_name = "tier.definition"
|
||||
_description = "Tier Definition"
|
||||
|
||||
@api.model
|
||||
def _get_default_name(self):
|
||||
return self.env._("New Tier Validation")
|
||||
|
||||
@api.model
|
||||
def _get_tier_validation_model_names(self):
|
||||
res = []
|
||||
return res
|
||||
|
||||
name = fields.Char(
|
||||
string="Description",
|
||||
required=True,
|
||||
default=lambda self: self._get_default_name(),
|
||||
translate=True,
|
||||
)
|
||||
model_id = fields.Many2one(
|
||||
comodel_name="ir.model",
|
||||
string="Referenced Model",
|
||||
domain=lambda self: [("model", "in", self._get_tier_validation_model_names())],
|
||||
)
|
||||
model = fields.Char(related="model_id.model", index=True, store=True)
|
||||
review_type = fields.Selection(
|
||||
string="Validated by",
|
||||
default="individual",
|
||||
selection=[
|
||||
("individual", "Specific user"),
|
||||
("group", "Any user in a specific group"),
|
||||
("field", "Field in related record"),
|
||||
],
|
||||
)
|
||||
allow_write_for_reviewer = fields.Boolean(
|
||||
string="Allow Write For Reviewers",
|
||||
default=False,
|
||||
)
|
||||
reviewer_id = fields.Many2one(comodel_name="res.users", string="Reviewer")
|
||||
reviewer_group_id = fields.Many2one(
|
||||
comodel_name="res.groups", string="Reviewer group"
|
||||
)
|
||||
reviewer_field_id = fields.Many2one(
|
||||
comodel_name="ir.model.fields",
|
||||
string="Reviewer field",
|
||||
domain="[('id', 'in', valid_reviewer_field_ids)]",
|
||||
)
|
||||
valid_reviewer_field_ids = fields.One2many(
|
||||
comodel_name="ir.model.fields",
|
||||
compute="_compute_domain_reviewer_field",
|
||||
)
|
||||
definition_type = fields.Selection(
|
||||
string="Definition", selection=[("domain", "Domain")], default="domain"
|
||||
)
|
||||
definition_domain = fields.Char()
|
||||
active = fields.Boolean(default=True)
|
||||
sequence = fields.Integer(default=30)
|
||||
company_id = fields.Many2one(
|
||||
comodel_name="res.company",
|
||||
string="Company",
|
||||
default=lambda self: self.env.company,
|
||||
)
|
||||
notify_on_create = fields.Boolean(
|
||||
string="Notify Reviewers on Creation",
|
||||
help="If set, all possible reviewers will be notified by email when "
|
||||
"this definition is triggered.",
|
||||
)
|
||||
notify_on_pending = fields.Boolean(
|
||||
string="Notify Reviewers on reaching Pending",
|
||||
help="If set, all possible reviewers will be notified by email when "
|
||||
"this status is reached."
|
||||
"Usefull in an Approve by sequence scenario. "
|
||||
"An notification request to review is sent out when it's their turn to review.",
|
||||
)
|
||||
notify_on_accepted = fields.Boolean(
|
||||
string="Notify Reviewers on Accepted",
|
||||
help="If set, reviewers will be notified by email when a review related "
|
||||
"to this definition is accepted.",
|
||||
)
|
||||
notify_on_rejected = fields.Boolean(
|
||||
string="Notify Reviewers on Rejected",
|
||||
help="If set, reviewers will be notified by email when a review related "
|
||||
"to this definition is rejected.",
|
||||
)
|
||||
notify_on_restarted = fields.Boolean(
|
||||
string="Notify Reviewers on Restarted",
|
||||
help="If set, reviewers will be notified by email when a reviews related "
|
||||
"to this definition are restarted.",
|
||||
)
|
||||
has_comment = fields.Boolean(string="Comment", default=False)
|
||||
notify_reminder_delay = fields.Integer(
|
||||
string="Send reminder message on pending reviews",
|
||||
help="Number of days after which a message must be posted to remind about "
|
||||
"pending validation (0 = no reminder)",
|
||||
)
|
||||
approve_sequence = fields.Boolean(
|
||||
string="Approve by sequence",
|
||||
default=False,
|
||||
help="Approval order by the specified sequence number",
|
||||
)
|
||||
approve_sequence_bypass = fields.Boolean(
|
||||
help="Bypassed (auto validated), if previous tier was validated "
|
||||
"by same reviewer",
|
||||
)
|
||||
|
||||
@api.onchange("review_type")
|
||||
def onchange_review_type(self):
|
||||
self.reviewer_id = None
|
||||
self.reviewer_group_id = None
|
||||
|
||||
@api.depends("review_type", "model_id")
|
||||
def _compute_domain_reviewer_field(self):
|
||||
models = self.mapped("model")
|
||||
IrModelFields = self.env["ir.model.fields"].sudo()
|
||||
valid_reviewer_fields = dict(
|
||||
IrModelFields._read_group(
|
||||
domain=[
|
||||
("model", "in", models),
|
||||
"|",
|
||||
("relation", "=", "res.users"),
|
||||
("relation", "=", "res.groups"),
|
||||
],
|
||||
groupby=["model"],
|
||||
aggregates=["id:array_agg"],
|
||||
)
|
||||
)
|
||||
for rec in self:
|
||||
rec.valid_reviewer_field_ids = valid_reviewer_fields.get(
|
||||
rec.model, IrModelFields
|
||||
)
|
||||
|
||||
def _get_review_needing_reminder(self):
|
||||
"""Return all the reviews that have the reminder setup."""
|
||||
self.ensure_one()
|
||||
if not self.notify_reminder_delay:
|
||||
return self.env["tier.review"]
|
||||
review_date = fields.Datetime.subtract(
|
||||
fields.Datetime.now(), days=self.notify_reminder_delay
|
||||
)
|
||||
return self.env["tier.review"].search(
|
||||
[
|
||||
("definition_id", "=", self.id),
|
||||
("status", "in", ["waiting", "pending"]),
|
||||
"|",
|
||||
"&",
|
||||
("create_date", "<", review_date),
|
||||
("last_reminder_date", "=", False),
|
||||
("last_reminder_date", "<", review_date),
|
||||
],
|
||||
limit=1,
|
||||
)
|
||||
|
||||
def _cron_send_review_reminder(self):
|
||||
definition_with_reminder = self.env["tier.definition"].search(
|
||||
[("notify_reminder_delay", ">", 0)]
|
||||
)
|
||||
for record in definition_with_reminder:
|
||||
review_to_remind = record._get_review_needing_reminder()
|
||||
if review_to_remind:
|
||||
review_to_remind._send_review_reminder()
|
||||
208
base_tier_validation/models/tier_review.py
Normal file
208
base_tier_validation/models/tier_review.py
Normal file
@ -0,0 +1,208 @@
|
||||
# Copyright 2017-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
import logging
|
||||
|
||||
import pytz
|
||||
|
||||
from odoo import api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TierReview(models.Model):
|
||||
_name = "tier.review"
|
||||
_description = "Tier Review"
|
||||
|
||||
name = fields.Char(related="definition_id.name")
|
||||
status = fields.Selection(
|
||||
[
|
||||
("waiting", "Waiting"),
|
||||
("pending", "Pending"),
|
||||
("rejected", "Rejected"),
|
||||
("approved", "Approved"),
|
||||
],
|
||||
default="waiting",
|
||||
)
|
||||
model = fields.Char(string="Related Document Model", index=True)
|
||||
res_id = fields.Many2oneReference(
|
||||
string="Related Document ID",
|
||||
index=True,
|
||||
model_field="model",
|
||||
)
|
||||
definition_id = fields.Many2one(comodel_name="tier.definition")
|
||||
company_id = fields.Many2one(
|
||||
related="definition_id.company_id",
|
||||
store=True,
|
||||
)
|
||||
review_type = fields.Selection(related="definition_id.review_type")
|
||||
reviewer_id = fields.Many2one(related="definition_id.reviewer_id")
|
||||
reviewer_group_id = fields.Many2one(related="definition_id.reviewer_group_id")
|
||||
reviewer_field_id = fields.Many2one(related="definition_id.reviewer_field_id")
|
||||
reviewer_ids = fields.Many2many(
|
||||
string="Reviewers",
|
||||
comodel_name="res.users",
|
||||
compute="_compute_reviewer_ids",
|
||||
store=True,
|
||||
)
|
||||
display_status = fields.Char(compute="_compute_display_status")
|
||||
sequence = fields.Integer(string="Tier")
|
||||
todo_by = fields.Char(compute="_compute_todo_by", store=True)
|
||||
done_by = fields.Many2one(comodel_name="res.users")
|
||||
requested_by = fields.Many2one(comodel_name="res.users")
|
||||
reviewed_date = fields.Datetime(string="Validation Date")
|
||||
reviewed_formated_date = fields.Char(
|
||||
string="Validation Formated Date", compute="_compute_reviewed_formated_date"
|
||||
)
|
||||
has_comment = fields.Boolean(related="definition_id.has_comment")
|
||||
comment = fields.Char(string="Comments")
|
||||
can_review = fields.Boolean(
|
||||
compute="_compute_can_review",
|
||||
store=True,
|
||||
help="""Can review will be marked if the review is pending and the
|
||||
approve sequence has been achieved""",
|
||||
)
|
||||
approve_sequence = fields.Boolean(related="definition_id.approve_sequence")
|
||||
approve_sequence_bypass = fields.Boolean(
|
||||
related="definition_id.approve_sequence_bypass"
|
||||
)
|
||||
last_reminder_date = fields.Datetime(readonly=True)
|
||||
|
||||
@api.depends("status")
|
||||
def _compute_display_status(self):
|
||||
"""
|
||||
Compute the display status based on the current status value to get the
|
||||
translated status value.
|
||||
"""
|
||||
selection = self.fields_get(["status"])["status"]["selection"]
|
||||
selection_dict = dict(selection)
|
||||
for record in self:
|
||||
record.display_status = selection_dict[record.status]
|
||||
|
||||
@api.depends_context("tz")
|
||||
def _compute_reviewed_formated_date(self):
|
||||
timezone = self._context.get("tz") or self.env.user.partner_id.tz or "UTC"
|
||||
for review in self:
|
||||
if not review.reviewed_date:
|
||||
review.reviewed_formated_date = False
|
||||
continue
|
||||
reviewed_date_utc = pytz.timezone("UTC").localize(review.reviewed_date)
|
||||
reviewed_date_tz = reviewed_date_utc.astimezone(pytz.timezone(timezone))
|
||||
review.reviewed_formated_date = reviewed_date_tz.replace(tzinfo=None)
|
||||
|
||||
@api.depends("definition_id.approve_sequence")
|
||||
def _compute_can_review(self):
|
||||
reviews = self.filtered(lambda rev: rev.status in ["waiting", "pending"])
|
||||
if reviews:
|
||||
# get minimum sequence of all to prevent jumps
|
||||
next_seq = min(reviews.mapped("sequence"))
|
||||
for record in reviews:
|
||||
# if approve by sequence, check sequence has been reached
|
||||
if record.approve_sequence:
|
||||
if record.sequence == next_seq:
|
||||
record.status = "pending"
|
||||
# if there is no approval sequence go directly to pending state
|
||||
elif not record.approve_sequence:
|
||||
record.status = "pending"
|
||||
if record.status == "pending":
|
||||
if record.definition_id.notify_on_pending:
|
||||
record._notify_pending_status(record)
|
||||
for record in self:
|
||||
record.can_review = record._can_review_value()
|
||||
|
||||
def _can_review_value(self):
|
||||
if self.status not in ("pending", "waiting"):
|
||||
return False
|
||||
if not self.approve_sequence:
|
||||
return True
|
||||
resource = self.env[self.model].browse(self.res_id)
|
||||
reviews = resource.review_ids.filtered(lambda r: r.status == "pending")
|
||||
if not reviews:
|
||||
return True
|
||||
sequence = min(reviews.mapped("sequence"))
|
||||
return self.sequence == sequence
|
||||
|
||||
@api.model
|
||||
def _get_reviewer_fields(self):
|
||||
return ["reviewer_id", "reviewer_group_id", "reviewer_group_id.user_ids"]
|
||||
|
||||
@api.depends(lambda self: self._get_reviewer_fields())
|
||||
def _compute_reviewer_ids(self):
|
||||
for rec in self:
|
||||
rec.reviewer_ids = rec._get_reviewers()
|
||||
|
||||
@api.depends("reviewer_ids")
|
||||
def _compute_todo_by(self):
|
||||
"""Show by group or by abbrev list of names"""
|
||||
num_show = 3 # Max number of users to display
|
||||
for rec in self:
|
||||
todo_by = False
|
||||
if rec.reviewer_group_id:
|
||||
todo_by = self.env._("Group %s", rec.reviewer_group_id.name)
|
||||
else:
|
||||
todo_by = ", ".join(rec.reviewer_ids[:num_show].mapped("display_name"))
|
||||
num_users = len(rec.reviewer_ids)
|
||||
if num_users > num_show:
|
||||
todo_by = f"{todo_by} (and {num_users - num_show} more)"
|
||||
rec.todo_by = todo_by
|
||||
|
||||
def _get_reviewers(self):
|
||||
if self.reviewer_id or self.reviewer_group_id.user_ids:
|
||||
return self.reviewer_id + self.reviewer_group_id.user_ids
|
||||
if self.reviewer_field_id:
|
||||
resource = self.env[self.model].browse(self.res_id)
|
||||
reviewer_field = getattr(resource, self.reviewer_field_id.name, False)
|
||||
if reviewer_field:
|
||||
if reviewer_field._name == "res.groups":
|
||||
return reviewer_field.users
|
||||
elif reviewer_field._name == "res.users":
|
||||
return reviewer_field
|
||||
else:
|
||||
raise ValidationError(
|
||||
self.env._(
|
||||
"Validation reviewer field "
|
||||
"should be of the appropriate type"
|
||||
)
|
||||
)
|
||||
return self.env["res.users"]
|
||||
|
||||
def _notify_pending_status(self, review_ids):
|
||||
"""Method to call and reuse abstract notification method"""
|
||||
resource = self.env[self.model].browse(self.res_id)
|
||||
resource._notify_review_available(review_ids)
|
||||
|
||||
def _get_reminder_notification_subtype(self):
|
||||
return "base_tier_validation.mt_tier_validation_reminder"
|
||||
|
||||
def _get_reminder_activity_type(self):
|
||||
return "base_tier_validation.mail_act_tier_validation_reminder"
|
||||
|
||||
def _notify_review_reminder_body(self):
|
||||
delay = (fields.Datetime.now() - self.create_date).days
|
||||
return self.env._("A review has been requested %s days ago.", delay)
|
||||
|
||||
def _send_review_reminder(self):
|
||||
record = self.env[self.model].browse(self.res_id)
|
||||
# Only schedule activity if reviewer is a single user and model has activities
|
||||
if len(self.reviewer_ids) == 1 and hasattr(record, "activity_ids"):
|
||||
self._schedule_review_reminder_activity(record)
|
||||
elif hasattr(record, "message_post"):
|
||||
self._notify_review_reminder(record)
|
||||
else:
|
||||
msg = f"Could not send reminder for record {record}"
|
||||
_logger.exception(msg)
|
||||
self.last_reminder_date = fields.Datetime.now()
|
||||
|
||||
def _notify_review_reminder(self, record):
|
||||
record.message_post(
|
||||
subtype_xmlid=self._get_reminder_notification_subtype(),
|
||||
body=self._notify_review_reminder_body(),
|
||||
)
|
||||
|
||||
def _schedule_review_reminder_activity(self, record):
|
||||
record.activity_schedule(
|
||||
act_type_xmlid=self._get_reminder_activity_type(),
|
||||
note=self._notify_review_reminder_body(),
|
||||
user_id=self.reviewer_ids.id,
|
||||
)
|
||||
952
base_tier_validation/models/tier_validation.py
Normal file
952
base_tier_validation/models/tier_validation.py
Normal file
@ -0,0 +1,952 @@
|
||||
# Copyright 2017-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# Copyright 2024 Moduon Team (https://www.moduon.team)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from ast import literal_eval
|
||||
|
||||
from lxml import etree
|
||||
from psycopg2.extensions import AsIs
|
||||
from odoo import api, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tools import SQL
|
||||
from odoo.tools.misc import frozendict
|
||||
|
||||
BASE_EXCEPTION_FIELDS = [
|
||||
"message_follower_ids",
|
||||
"access_token",
|
||||
"message_main_attachment_id",
|
||||
]
|
||||
|
||||
|
||||
class TierValidation(models.AbstractModel):
|
||||
_name = "tier.validation"
|
||||
_description = "Tier Validation (abstract)"
|
||||
|
||||
_tier_validation_buttons_xpath = "/form/header/button[last()]"
|
||||
_tier_validation_manual_config = True
|
||||
_tier_validation_state_field_is_computed = False
|
||||
_tier_validation_company_field = "company_id"
|
||||
|
||||
_state_field = "state"
|
||||
_state_from = ["draft"]
|
||||
_state_to = ["confirmed"]
|
||||
_cancel_state = "cancel"
|
||||
|
||||
review_ids = fields.One2many(
|
||||
comodel_name="tier.review",
|
||||
inverse_name="res_id",
|
||||
string="Validations",
|
||||
domain=lambda self: [("model", "=", self._name)],
|
||||
auto_join=True,
|
||||
)
|
||||
# TODO: Delete in v19 in favor of validation_status field
|
||||
validated = fields.Boolean(
|
||||
compute="_compute_validated_rejected", search="_search_validated"
|
||||
)
|
||||
to_validate_message = fields.Html(compute="_compute_to_validate_message")
|
||||
validated_message = fields.Html(compute="_compute_validated_message")
|
||||
need_validation = fields.Boolean(compute="_compute_need_validation")
|
||||
# TODO: Delete in v19 in favor of validation_status field
|
||||
rejected = fields.Boolean(
|
||||
compute="_compute_validated_rejected", search="_search_rejected"
|
||||
)
|
||||
rejected_message = fields.Html(compute="_compute_rejected_message")
|
||||
validation_status = fields.Selection(
|
||||
selection=[
|
||||
("no", "Without validation"),
|
||||
("waiting", "Waiting"),
|
||||
("pending", "Pending"),
|
||||
("rejected", "Rejected"),
|
||||
("validated", "Validated"),
|
||||
],
|
||||
default="no",
|
||||
compute="_compute_validation_status",
|
||||
store=True,
|
||||
)
|
||||
reviewer_ids = fields.Many2many(
|
||||
string="Reviewers",
|
||||
comodel_name="res.users",
|
||||
compute="_compute_reviewer_ids",
|
||||
search="_search_reviewer_ids",
|
||||
)
|
||||
can_review = fields.Boolean(
|
||||
compute="_compute_can_review", search="_search_can_review"
|
||||
)
|
||||
has_comment = fields.Boolean(
|
||||
compute="_compute_has_comment",
|
||||
help="If set, Allow the reviewer to leave a comment on the review.",
|
||||
)
|
||||
next_review = fields.Char(compute="_compute_next_review")
|
||||
hide_reviews = fields.Boolean(compute="_compute_hide_reviews")
|
||||
|
||||
def _compute_has_comment(self):
|
||||
for rec in self:
|
||||
has_comment = rec.review_ids.filtered(
|
||||
lambda r: r.status in ("waiting", "pending")
|
||||
and self.env.user in r.reviewer_ids
|
||||
).mapped("has_comment")
|
||||
rec.has_comment = True in has_comment
|
||||
|
||||
def _get_sequences_to_approve(self, user):
|
||||
all_reviews = self.review_ids.filtered(
|
||||
lambda r: r.status in ("waiting", "pending")
|
||||
)
|
||||
my_reviews = all_reviews.filtered(lambda r: user in r.reviewer_ids)
|
||||
# Include all my_reviews with approve_sequence = False
|
||||
sequences = my_reviews.filtered(lambda r: not r.approve_sequence).mapped(
|
||||
"sequence"
|
||||
)
|
||||
# Include only my_reviews with approve_sequence = True
|
||||
approve_sequences = my_reviews.filtered("approve_sequence").mapped("sequence")
|
||||
if approve_sequences:
|
||||
my_sequence = min(approve_sequences)
|
||||
min_sequence = min(all_reviews.mapped("sequence"))
|
||||
if my_sequence <= min_sequence:
|
||||
sequences.append(my_sequence)
|
||||
return sequences
|
||||
|
||||
@api.depends_context("uid")
|
||||
@api.depends("review_ids.status")
|
||||
def _compute_can_review(self):
|
||||
for rec in self:
|
||||
rec.can_review = rec._get_sequences_to_approve(self.env.user)
|
||||
|
||||
@api.model
|
||||
def _search_can_review(self, operator, value):
|
||||
domain = [
|
||||
("review_ids.reviewer_ids", "=", self.env.user.id),
|
||||
("review_ids.status", "in", ["pending", "waiting"]),
|
||||
("review_ids.can_review", "=", True),
|
||||
("validation_status", "!=", "rejected"),
|
||||
]
|
||||
if "active" in self._fields:
|
||||
domain.append(("active", "in", [True, False]))
|
||||
res_ids = self.search(domain).filtered("can_review").ids
|
||||
return [("id", "in", res_ids)]
|
||||
|
||||
@api.depends("review_ids")
|
||||
def _compute_reviewer_ids(self):
|
||||
for rec in self:
|
||||
rec.reviewer_ids = rec.review_ids.filtered(
|
||||
lambda r: r.status in ("waiting", "pending")
|
||||
).mapped("reviewer_ids")
|
||||
|
||||
# TODO: delete in 19.0 migration in favor of validation_status field
|
||||
@api.model
|
||||
def _search_validated(self, operator, value):
|
||||
assert operator in ("=", "!="), "Invalid domain operator"
|
||||
assert value in (True, False), "Invalid domain value"
|
||||
operator_equal = (operator == "=" and value) or (operator == "!=" and not value)
|
||||
return [("validation_status", operator_equal and "=" or "!=", "validated")]
|
||||
|
||||
# TODO: delete in 19.0 migration in favor of validation_status field
|
||||
@api.model
|
||||
def _search_rejected(self, operator, value):
|
||||
assert operator in ("=", "!="), "Invalid domain operator"
|
||||
assert value in (True, False), "Invalid domain value"
|
||||
operator_equal = (operator == "=" and value) or (operator == "!=" and not value)
|
||||
return [("validation_status", operator_equal and "=" or "!=", "rejected")]
|
||||
|
||||
@api.model
|
||||
def _search_reviewer_ids(self, operator, value):
|
||||
model_operator = "in"
|
||||
if operator == "=" and value in ("[]", False):
|
||||
# Search for records that have not yet been through a validation
|
||||
# process.
|
||||
operator = "!="
|
||||
model_operator = "not in"
|
||||
reviews = self.env["tier.review"].search(
|
||||
[
|
||||
("model", "=", self._name),
|
||||
("reviewer_ids", operator, value),
|
||||
("can_review", "=", True),
|
||||
]
|
||||
)
|
||||
return [("id", model_operator, list(set(reviews.mapped("res_id"))))]
|
||||
|
||||
def _get_to_validate_message_name(self):
|
||||
return self._description
|
||||
|
||||
def _get_to_validate_message(self):
|
||||
return f"""<i class="fa fa-info-circle"></i> {self.env._(
|
||||
"This %s needs to be validated",
|
||||
self._get_to_validate_message_name()
|
||||
)}"""
|
||||
|
||||
def _get_validated_message(self):
|
||||
msg = f"""<i class="fa fa-thumbs-up"></i> {self.env._(
|
||||
"Operation has been <b>validated</b>!"
|
||||
)}"""
|
||||
return self.validation_status == "validated" and msg or ""
|
||||
|
||||
def _get_rejected_message(self):
|
||||
msg = f"""<i class="fa fa-thumbs-down"></i> {self.env._(
|
||||
"Operation has been <b>rejected</b>."
|
||||
)}"""
|
||||
return self.validation_status == "rejected" and msg or ""
|
||||
|
||||
# TODO: delete in 19.0 migration in favor of validation_status field
|
||||
@api.depends("validation_status")
|
||||
def _compute_validated_rejected(self):
|
||||
for rec in self:
|
||||
for field in ("validated", "rejected"):
|
||||
rec[field] = rec.validation_status == field
|
||||
|
||||
@api.depends("validation_status")
|
||||
def _compute_to_validate_message(self):
|
||||
for rec in self:
|
||||
rec.to_validate_message = rec._get_to_validate_message()
|
||||
|
||||
def _validated_states(self):
|
||||
"""Override for different validation policy."""
|
||||
return ["approved"]
|
||||
|
||||
@api.depends("validation_status")
|
||||
def _compute_validated_message(self):
|
||||
for rec in self:
|
||||
rec.validated_message = rec._get_validated_message()
|
||||
|
||||
def _rejected_states(self):
|
||||
"""Override for different rejected policy."""
|
||||
return ["rejected"]
|
||||
|
||||
@api.depends("validation_status")
|
||||
def _compute_rejected_message(self):
|
||||
for rec in self:
|
||||
rec.rejected_message = rec._get_rejected_message()
|
||||
|
||||
@api.depends("review_ids", "review_ids.status")
|
||||
def _compute_validation_status(self):
|
||||
validated_states = self._validated_states()
|
||||
rejected_states = self._rejected_states()
|
||||
for item in self:
|
||||
reviews = item.review_ids
|
||||
any_rejected = any(reviews.filtered(lambda x: x.status in rejected_states))
|
||||
any_pending = any(reviews.filtered(lambda x: x.status == "pending"))
|
||||
any_waiting = any(item.review_ids.filtered(lambda x: x.status == "waiting"))
|
||||
if reviews and all(x.status in validated_states for x in reviews):
|
||||
item.validation_status = "validated"
|
||||
elif any_rejected:
|
||||
item.validation_status = "rejected"
|
||||
elif any_pending:
|
||||
item.validation_status = "pending"
|
||||
elif any_waiting:
|
||||
item.validation_status = "waiting"
|
||||
else:
|
||||
item.validation_status = "no"
|
||||
|
||||
def _compute_next_review(self):
|
||||
for rec in self:
|
||||
review = rec.review_ids.sorted("sequence").filtered(
|
||||
lambda x: x.status == "pending"
|
||||
)[:1]
|
||||
rec.next_review = review and self.env._("Next: %s", review.name or "")
|
||||
|
||||
def _compute_hide_reviews(self):
|
||||
for rec in self:
|
||||
rec.hide_reviews = rec[self._state_field] not in self._state_from
|
||||
|
||||
def _compute_need_validation(self):
|
||||
for rec in self:
|
||||
if isinstance(rec.id, api.NewId):
|
||||
rec.need_validation = False
|
||||
continue
|
||||
tiers = (
|
||||
self.env["tier.definition"]
|
||||
.with_context(active_test=True)
|
||||
.search(
|
||||
[
|
||||
("model", "=", self._name),
|
||||
("company_id", "in", [False] + rec._get_company().ids),
|
||||
]
|
||||
)
|
||||
)
|
||||
valid_tiers = any([rec.evaluate_tier(tier) for tier in tiers])
|
||||
rec.need_validation = (
|
||||
not rec.review_ids and valid_tiers and rec._check_state_from_condition()
|
||||
)
|
||||
|
||||
def evaluate_tier(self, tier):
|
||||
if tier.definition_domain:
|
||||
domain = literal_eval(tier.definition_domain)
|
||||
return self.filtered_domain(domain)
|
||||
else:
|
||||
return self
|
||||
|
||||
@api.model
|
||||
def _get_validation_exceptions(self, extra_domain=None, add_base_exceptions=True):
|
||||
"""Return Tier Validation Exception field names that matchs custom domain."""
|
||||
exception_fields = (
|
||||
self.env["tier.validation.exception"]
|
||||
.sudo()
|
||||
.search(
|
||||
[
|
||||
("model_name", "=", self._name),
|
||||
("company_id", "in", [False] + self._get_company().ids),
|
||||
"|",
|
||||
("group_ids", "in", self.env.user.group_ids.ids),
|
||||
("group_ids", "=", False),
|
||||
*(extra_domain or []),
|
||||
]
|
||||
)
|
||||
.mapped("field_ids.name")
|
||||
)
|
||||
if add_base_exceptions:
|
||||
exception_fields += BASE_EXCEPTION_FIELDS
|
||||
return list(set(exception_fields))
|
||||
|
||||
@api.model
|
||||
def _get_all_validation_exceptions(self):
|
||||
"""Extend for more field exceptions to be written when on the entire
|
||||
validation process."""
|
||||
return self._get_validation_exceptions()
|
||||
|
||||
@api.model
|
||||
def _get_under_validation_exceptions(self):
|
||||
"""Extend for more field exceptions to be written under validation."""
|
||||
return self._get_validation_exceptions(
|
||||
extra_domain=[("allowed_to_write_under_validation", "=", True)]
|
||||
)
|
||||
|
||||
@api.model
|
||||
def _get_after_validation_exceptions(self):
|
||||
"""Extend for more field exceptions to be written after validation."""
|
||||
return self._get_validation_exceptions(
|
||||
extra_domain=[("allowed_to_write_after_validation", "=", True)]
|
||||
)
|
||||
|
||||
def _check_allow_write_under_validation(self, vals):
|
||||
"""Allow to add exceptions for fields that are allowed to be written
|
||||
or for reviewers for all fields, even when the record is under
|
||||
validation."""
|
||||
if (
|
||||
all(self.review_ids.mapped("definition_id.allow_write_for_reviewer"))
|
||||
and self.env.user in self.reviewer_ids
|
||||
):
|
||||
return True
|
||||
exceptions = self._get_under_validation_exceptions()
|
||||
for val in vals:
|
||||
if val not in exceptions:
|
||||
return False
|
||||
return True
|
||||
|
||||
def _check_allow_write_after_validation(self, vals):
|
||||
"""Allow to add exceptions for fields that are allowed to be written
|
||||
even when the record is after validation."""
|
||||
exceptions = self._get_after_validation_exceptions()
|
||||
for val in vals:
|
||||
if val not in exceptions:
|
||||
return False
|
||||
return True
|
||||
|
||||
def _get_fields_to_write_validation(self, vals, records_exception_function):
|
||||
"""Not allowed fields to write when validation depending
|
||||
on the given function."""
|
||||
exceptions = records_exception_function()
|
||||
not_allowed_fields = []
|
||||
for val in vals:
|
||||
if val not in exceptions:
|
||||
not_allowed_fields.append(val)
|
||||
if not not_allowed_fields:
|
||||
return []
|
||||
|
||||
not_allowed_field_names, allowed_field_names = [], []
|
||||
for fld_name, fld_data in self.fields_get(
|
||||
not_allowed_fields + exceptions
|
||||
).items():
|
||||
if fld_name in not_allowed_fields:
|
||||
not_allowed_field_names.append(fld_data["string"])
|
||||
else:
|
||||
allowed_field_names.append(fld_data["string"])
|
||||
return allowed_field_names, not_allowed_field_names
|
||||
|
||||
def _check_tier_state_transition(self, vals):
|
||||
"""
|
||||
Check we are in origin state and not destination state
|
||||
"""
|
||||
self.ensure_one()
|
||||
return getattr(self, self._state_field) in self._state_from and vals.get(
|
||||
self._state_field
|
||||
) not in (self._state_to + [self._cancel_state])
|
||||
|
||||
def write(self, vals):
|
||||
self._tier_validation_check_state_on_write(vals)
|
||||
self._tier_validation_check_write_allowed(vals)
|
||||
self._tier_validation_check_write_remove_reviews(vals)
|
||||
return super().write(vals)
|
||||
|
||||
def _write_multi(self, vals_list):
|
||||
for rec, vals in zip(self, vals_list, strict=False):
|
||||
if rec._tier_validation_state_field_is_computed:
|
||||
rec._tier_validation_check_state_on_write(vals)
|
||||
rec._tier_validation_check_write_remove_reviews(vals)
|
||||
return super()._write_multi(vals_list)
|
||||
|
||||
def _tier_validation_get_current_state_value(self):
|
||||
"""Get the current value from the cache or the database.
|
||||
|
||||
If the field is set in a computed method, the value in the cache will
|
||||
already be the updated value, so we need to revert to the raw data.
|
||||
"""
|
||||
self.ensure_one()
|
||||
if self._tier_validation_state_field_is_computed and isinstance(self.id, int):
|
||||
self.env.cr.execute(
|
||||
SQL(
|
||||
"select %(field)s from %(table)s where id = %(res_id)s",
|
||||
field=AsIs(self._state_field),
|
||||
table=AsIs(self._table),
|
||||
res_id=self.id,
|
||||
)
|
||||
)
|
||||
rows = self.env.cr.fetchall()
|
||||
if rows:
|
||||
return rows[0][0]
|
||||
return self[self._state_field]
|
||||
|
||||
def _tier_validation_check_state_on_write(self, vals):
|
||||
for rec in self:
|
||||
if rec._check_state_conditions(vals):
|
||||
if rec.need_validation:
|
||||
# try to validate operation
|
||||
reviews = rec.request_validation()
|
||||
rec._validate_tier(reviews)
|
||||
if rec.validation_status != "validated":
|
||||
pending_reviews = reviews.filtered(
|
||||
lambda r: r.status == "pending"
|
||||
).mapped("name")
|
||||
raise ValidationError(
|
||||
self.env._(
|
||||
"This action needs to be validated for at least "
|
||||
"one record. Reviews pending:\n - %s "
|
||||
"\nPlease request a validation.",
|
||||
"\n - ".join(pending_reviews),
|
||||
)
|
||||
)
|
||||
if rec.review_ids and rec.validation_status != "validated":
|
||||
raise ValidationError(
|
||||
self.env._(
|
||||
"A validation process is still open for at least "
|
||||
"one record."
|
||||
)
|
||||
)
|
||||
|
||||
def _tier_validation_check_write_allowed(self, vals):
|
||||
for rec in self:
|
||||
# Write under validation
|
||||
if (
|
||||
rec.review_ids
|
||||
and rec._check_tier_state_transition(vals)
|
||||
and not rec._check_allow_write_under_validation(vals)
|
||||
and not rec._context.get("skip_validation_check")
|
||||
):
|
||||
(
|
||||
allowed_fields,
|
||||
not_allowed_fields,
|
||||
) = rec._get_fields_to_write_validation(
|
||||
vals, rec._get_under_validation_exceptions
|
||||
)
|
||||
not_allowed_fields_str = "\n- ".join(not_allowed_fields)
|
||||
allowed_fields_str = "\n- ".join(allowed_fields)
|
||||
raise ValidationError(
|
||||
self.env._(
|
||||
"You are not allowed to write those fields under validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n\n"
|
||||
"Only those fields can be modified:\n- %(allowed_fields_str)s",
|
||||
not_allowed_fields_str=not_allowed_fields_str,
|
||||
allowed_fields_str=allowed_fields_str,
|
||||
)
|
||||
)
|
||||
|
||||
# Write after validation. Check only if Tier Validation Exception is created
|
||||
if (
|
||||
rec._get_validation_exceptions(add_base_exceptions=False)
|
||||
and rec.validation_status == "validated"
|
||||
and rec._tier_validation_get_current_state_value()
|
||||
in (self._state_to + [self._cancel_state])
|
||||
and not rec._check_allow_write_after_validation(vals)
|
||||
and not rec._context.get("skip_validation_check")
|
||||
):
|
||||
(
|
||||
allowed_fields,
|
||||
not_allowed_fields,
|
||||
) = rec._get_fields_to_write_validation(
|
||||
vals, rec._get_after_validation_exceptions
|
||||
)
|
||||
not_allowed_fields_str = "\n- ".join(not_allowed_fields)
|
||||
allowed_fields_str = "\n- ".join(allowed_fields)
|
||||
raise ValidationError(
|
||||
self.env._(
|
||||
"You are not allowed to write those fields after validation.\n"
|
||||
"- %(not_allowed_fields_str)s\n\n"
|
||||
"Only those fields can be modified:\n- %(allowed_fields_str)s",
|
||||
not_allowed_fields_str=not_allowed_fields_str,
|
||||
allowed_fields_str=allowed_fields_str,
|
||||
)
|
||||
)
|
||||
|
||||
def _tier_validation_check_write_remove_reviews(self, vals):
|
||||
for rec in self:
|
||||
if rec._allow_to_remove_reviews(vals):
|
||||
rec.mapped("review_ids").unlink()
|
||||
|
||||
def _allow_to_remove_reviews(self, values):
|
||||
"""Method for deciding whether the elimination of revisions is necessary."""
|
||||
self.ensure_one()
|
||||
state_to = values.get(self._state_field)
|
||||
if not state_to:
|
||||
return False
|
||||
state_from = self._tier_validation_get_current_state_value()
|
||||
# If you change to _cancel_state
|
||||
if state_to in (self._cancel_state):
|
||||
return True
|
||||
# If it is changed to _state_from and it was not in _state_from
|
||||
if state_to in self._state_from and state_from not in self._state_from:
|
||||
return True
|
||||
return False
|
||||
|
||||
def _check_state_from_condition(self):
|
||||
return self.env.context.get("skip_check_state_condition") or (
|
||||
self._state_field in self._fields
|
||||
and self._tier_validation_get_current_state_value() in self._state_from
|
||||
)
|
||||
|
||||
def _check_state_conditions(self, vals):
|
||||
self.ensure_one()
|
||||
return (
|
||||
self._check_state_from_condition()
|
||||
and vals.get(self._state_field) in self._state_to
|
||||
)
|
||||
|
||||
def _validate_tier(self, tiers=False):
|
||||
self.ensure_one()
|
||||
tier_reviews = tiers or self.review_ids
|
||||
waiting_reviews = tier_reviews.filtered(
|
||||
lambda r: r.status == "waiting"
|
||||
or r.approve_sequence_bypass
|
||||
and self.env.user in r.reviewer_ids
|
||||
)
|
||||
if waiting_reviews:
|
||||
waiting_reviews.write(
|
||||
{
|
||||
"status": "pending",
|
||||
}
|
||||
)
|
||||
|
||||
user_reviews = tier_reviews.filtered(
|
||||
lambda r: r.status == "pending" and (self.env.user in r.reviewer_ids)
|
||||
)
|
||||
user_reviews.write(
|
||||
{
|
||||
"status": "approved",
|
||||
"done_by": self.env.user.id,
|
||||
"reviewed_date": fields.Datetime.now(),
|
||||
}
|
||||
)
|
||||
reviews_to_notify = user_reviews.filtered(
|
||||
lambda r: r.definition_id.notify_on_accepted
|
||||
)
|
||||
# We need to notify all pending users if there is approve sequence
|
||||
if tier_reviews and any(review.approve_sequence for review in tier_reviews):
|
||||
reviews_to_notify = self.review_ids.filtered(
|
||||
lambda r: r.status in ("waiting", "pending")
|
||||
and r.definition_id.notify_on_accepted
|
||||
)
|
||||
# If there are approve sequence, only the following should be
|
||||
# considered to notify
|
||||
if reviews_to_notify and any(
|
||||
review.approve_sequence for review in reviews_to_notify
|
||||
):
|
||||
reviews_to_notify = reviews_to_notify.filtered(
|
||||
lambda x: x.approve_sequence
|
||||
)[0]
|
||||
if reviews_to_notify:
|
||||
subscribe = "message_subscribe"
|
||||
if hasattr(self, subscribe):
|
||||
getattr(self, subscribe)(
|
||||
partner_ids=reviews_to_notify.mapped("reviewer_ids")
|
||||
.mapped("partner_id")
|
||||
.ids,
|
||||
subtype_ids=self.env.ref(
|
||||
self._get_accepted_notification_subtype()
|
||||
).ids,
|
||||
)
|
||||
for review in reviews_to_notify:
|
||||
rec = self.env[review.model].browse(review.res_id)
|
||||
rec._notify_accepted_reviews()
|
||||
|
||||
def _get_requested_notification_subtype(self):
|
||||
return "base_tier_validation.mt_tier_validation_requested"
|
||||
|
||||
def _get_accepted_notification_subtype(self):
|
||||
return "base_tier_validation.mt_tier_validation_accepted"
|
||||
|
||||
def _get_rejected_notification_subtype(self):
|
||||
return "base_tier_validation.mt_tier_validation_rejected"
|
||||
|
||||
def _get_restarted_notification_subtype(self):
|
||||
return "base_tier_validation.mt_tier_validation_restarted"
|
||||
|
||||
def _notify_accepted_reviews(self):
|
||||
post = "message_post"
|
||||
if hasattr(self, post):
|
||||
# Notify state change
|
||||
getattr(self.sudo(), post)(
|
||||
subtype_xmlid=self._get_accepted_notification_subtype(),
|
||||
body=self._notify_accepted_reviews_body(),
|
||||
)
|
||||
|
||||
def _notify_accepted_reviews_body(self):
|
||||
has_comment = self.review_ids.filtered(
|
||||
lambda r: (self.env.user in r.reviewer_ids) and r.comment
|
||||
)
|
||||
if has_comment:
|
||||
comment = has_comment.mapped("comment")[0]
|
||||
return self.env._("A review was accepted. (%s)", comment)
|
||||
return self.env._("A review was accepted")
|
||||
|
||||
def _add_comment(self, validate_reject, reviews):
|
||||
wizard = self.env.ref("base_tier_validation.view_comment_wizard")
|
||||
return {
|
||||
"name": self.env._("Comment"),
|
||||
"type": "ir.actions.act_window",
|
||||
"view_mode": "form",
|
||||
"res_model": "comment.wizard",
|
||||
"views": [(wizard.id, "form")],
|
||||
"view_id": wizard.id,
|
||||
"target": "new",
|
||||
"context": {
|
||||
"default_res_id": self.id,
|
||||
"default_res_model": self._name,
|
||||
"default_review_ids": reviews.ids,
|
||||
"default_validate_reject": validate_reject,
|
||||
},
|
||||
}
|
||||
|
||||
def validate_tier(self):
|
||||
self.ensure_one()
|
||||
sequences = self._get_sequences_to_approve(self.env.user)
|
||||
reviews = self.review_ids.filtered(
|
||||
lambda x: x.sequence in sequences or x.approve_sequence_bypass
|
||||
)
|
||||
if self.has_comment:
|
||||
user_reviews = reviews.filtered(
|
||||
lambda r: r.status == "pending" and (self.env.user in r.reviewer_ids)
|
||||
)
|
||||
return self._add_comment("validate", user_reviews)
|
||||
self._validate_tier(reviews)
|
||||
self._update_counter({"review_deleted": True})
|
||||
|
||||
def reject_tier(self):
|
||||
self.ensure_one()
|
||||
sequences = self._get_sequences_to_approve(self.env.user)
|
||||
reviews = self.review_ids.filtered(lambda x: x.sequence in sequences)
|
||||
if self.has_comment:
|
||||
return self._add_comment("reject", reviews)
|
||||
self._rejected_tier(reviews)
|
||||
self._update_counter({"review_deleted": True})
|
||||
|
||||
def _notify_rejected_review_body(self):
|
||||
has_comment = self.review_ids.filtered(
|
||||
lambda r: (self.env.user in r.reviewer_ids) and r.comment
|
||||
)
|
||||
if has_comment:
|
||||
comment = has_comment.mapped("comment")[0]
|
||||
return self.env._(
|
||||
"A review was rejected by %(user)s. (%(comment)s)",
|
||||
user=self.env.user.name,
|
||||
comment=comment,
|
||||
)
|
||||
return self.env._("A review was rejected by %s.", self.env.user.name)
|
||||
|
||||
def _notify_rejected_review(self):
|
||||
post = "message_post"
|
||||
if hasattr(self, post):
|
||||
# Notify state change
|
||||
getattr(self.sudo(), post)(
|
||||
subtype_xmlid=self._get_rejected_notification_subtype(),
|
||||
body=self._notify_rejected_review_body(),
|
||||
)
|
||||
|
||||
def _rejected_tier(self, tiers=False):
|
||||
self.ensure_one()
|
||||
tier_reviews = tiers or self.review_ids
|
||||
user_reviews = tier_reviews.filtered(
|
||||
lambda r: r.status in ("waiting", "pending")
|
||||
and self.env.user in r.reviewer_ids
|
||||
)
|
||||
user_reviews.write(
|
||||
{
|
||||
"status": "rejected",
|
||||
"done_by": self.env.user.id,
|
||||
"reviewed_date": fields.Datetime.now(),
|
||||
}
|
||||
)
|
||||
|
||||
reviews_to_notify = user_reviews.filtered(
|
||||
lambda r: r.definition_id.notify_on_rejected
|
||||
)
|
||||
# We need to notify all pending users if there is approve sequence
|
||||
if tier_reviews and any(review.approve_sequence for review in tier_reviews):
|
||||
reviews_to_notify = self.review_ids.filtered(
|
||||
lambda r: r.status == "pending" and r.definition_id.notify_on_rejected
|
||||
)
|
||||
# If there are approve sequence, only the following should be
|
||||
# considered to notify
|
||||
if reviews_to_notify and any(
|
||||
review.approve_sequence for review in reviews_to_notify
|
||||
):
|
||||
reviews_to_notify = reviews_to_notify.filtered(
|
||||
lambda x: x.approve_sequence
|
||||
)[0]
|
||||
if reviews_to_notify:
|
||||
subscribe = "message_subscribe"
|
||||
if hasattr(self, subscribe):
|
||||
getattr(self, subscribe)(
|
||||
partner_ids=reviews_to_notify.mapped("reviewer_ids")
|
||||
.mapped("partner_id")
|
||||
.ids,
|
||||
subtype_ids=self.env.ref(
|
||||
self._get_rejected_notification_subtype()
|
||||
).ids,
|
||||
)
|
||||
for review in reviews_to_notify:
|
||||
rec = self.env[review.model].browse(review.res_id)
|
||||
rec._notify_rejected_review()
|
||||
|
||||
def _notify_created_review_body(self):
|
||||
return self.env._(
|
||||
"A record to be reviewed has been created by %s.",
|
||||
self.env.user.name,
|
||||
)
|
||||
|
||||
def _notify_requested_review_body(self):
|
||||
return self.env._("A review has been requested by %s.", self.env.user.name)
|
||||
|
||||
def _notify_review_requested(self, tier_reviews):
|
||||
"""method to notify when tier validation is created"""
|
||||
subscribe = "message_subscribe"
|
||||
post = "message_post"
|
||||
if hasattr(self, post) and hasattr(self, subscribe):
|
||||
for rec in self.sudo():
|
||||
users_to_notify = tier_reviews.filtered(
|
||||
lambda r, x=rec: r.definition_id.notify_on_create
|
||||
and r.res_id == x.id
|
||||
).mapped("reviewer_ids")
|
||||
# Subscribe reviewers and notify
|
||||
if len(users_to_notify) > 0:
|
||||
getattr(rec, subscribe)(
|
||||
partner_ids=users_to_notify.mapped("partner_id").ids,
|
||||
subtype_ids=self.env.ref(
|
||||
self._get_requested_notification_subtype()
|
||||
).ids,
|
||||
)
|
||||
getattr(rec, post)(
|
||||
subtype_xmlid=self._get_requested_notification_subtype(),
|
||||
body=rec._notify_created_review_body(),
|
||||
)
|
||||
|
||||
def _prepare_tier_review_vals(self, definition, sequence):
|
||||
return {
|
||||
"model": self._name,
|
||||
"res_id": self.id,
|
||||
"definition_id": definition.id,
|
||||
"requested_by": self.env.uid,
|
||||
"sequence": sequence,
|
||||
}
|
||||
|
||||
@api.model
|
||||
def _get_company(self):
|
||||
company_id = self.env.company
|
||||
if (
|
||||
self
|
||||
and self._tier_validation_company_field in self.env[self._name]
|
||||
and self[self._tier_validation_company_field]
|
||||
):
|
||||
company_id = self[self._tier_validation_company_field]
|
||||
return company_id
|
||||
|
||||
def request_validation(self):
|
||||
td_obj = self.env["tier.definition"]
|
||||
tr_obj = self.env["tier.review"]
|
||||
vals_list = []
|
||||
for rec in self:
|
||||
if rec._check_state_from_condition() and rec.need_validation:
|
||||
tier_definitions = td_obj.search(
|
||||
[
|
||||
("model", "=", self._name),
|
||||
("company_id", "in", [False] + rec._get_company().ids),
|
||||
],
|
||||
order="sequence desc",
|
||||
)
|
||||
sequence = 0
|
||||
for td in tier_definitions:
|
||||
if rec.evaluate_tier(td):
|
||||
sequence += 1
|
||||
vals_list.append(rec._prepare_tier_review_vals(td, sequence))
|
||||
created_trs = tr_obj.create(vals_list)
|
||||
if any(self.mapped("can_review")):
|
||||
self._update_counter({"review_created": True})
|
||||
self._notify_review_requested(created_trs)
|
||||
return created_trs
|
||||
|
||||
def _notify_restarted_review_body(self):
|
||||
return self.env._("The review has been reset by %s.", self.env.user.name)
|
||||
|
||||
def _notify_restarted_review(self):
|
||||
post = "message_post"
|
||||
if hasattr(self, post):
|
||||
getattr(self.sudo(), post)(
|
||||
subtype_xmlid=self._get_restarted_notification_subtype(),
|
||||
body=self._notify_restarted_review_body(),
|
||||
)
|
||||
|
||||
def restart_validation(self):
|
||||
for rec in self:
|
||||
partners_to_notify_ids = False
|
||||
if getattr(rec, self._state_field) in self._state_from:
|
||||
to_update_counter = (
|
||||
rec.mapped("review_ids").filtered(
|
||||
lambda a: a.status in ("waiting", "pending")
|
||||
)
|
||||
and True
|
||||
or False
|
||||
)
|
||||
reviews_to_notify = rec.review_ids.filtered(
|
||||
lambda r: r.definition_id.notify_on_restarted
|
||||
)
|
||||
if reviews_to_notify:
|
||||
partners_to_notify_ids = (
|
||||
reviews_to_notify.mapped("reviewer_ids")
|
||||
.mapped("partner_id")
|
||||
.ids
|
||||
)
|
||||
can_review = rec.can_review
|
||||
rec.mapped("review_ids").unlink()
|
||||
if to_update_counter and can_review:
|
||||
self._update_counter({"review_deleted": True})
|
||||
if partners_to_notify_ids:
|
||||
subscribe = "message_subscribe"
|
||||
reviews_to_notify = rec.review_ids.filtered(
|
||||
lambda r: r.definition_id.notify_on_restarted
|
||||
)
|
||||
if hasattr(self, subscribe):
|
||||
getattr(self, subscribe)(
|
||||
partner_ids=partners_to_notify_ids,
|
||||
subtype_ids=self.env.ref(
|
||||
self._get_restarted_notification_subtype()
|
||||
).ids,
|
||||
)
|
||||
rec._notify_restarted_review()
|
||||
|
||||
@api.model
|
||||
def _update_counter(self, review_counter):
|
||||
self.review_ids._compute_can_review()
|
||||
channel = "base.tier.validation/updated"
|
||||
self.env.user.partner_id._bus_send(channel, review_counter)
|
||||
|
||||
def unlink(self):
|
||||
self.mapped("review_ids").unlink()
|
||||
return super().unlink()
|
||||
|
||||
def _add_tier_validation_buttons(self, node, params):
|
||||
str_element = self.env["ir.qweb"]._render(
|
||||
"base_tier_validation.tier_validation_buttons", params
|
||||
)
|
||||
new_node = etree.fromstring(str_element)
|
||||
return new_node
|
||||
|
||||
def _add_tier_validation_label(self, node, params):
|
||||
str_element = self.env["ir.qweb"]._render(
|
||||
"base_tier_validation.tier_validation_label", params
|
||||
)
|
||||
new_node = etree.fromstring(str_element)
|
||||
return new_node
|
||||
|
||||
def _add_tier_validation_reviews(self, node, params):
|
||||
str_element = self.env["ir.qweb"]._render(
|
||||
"base_tier_validation.tier_validation_reviews", params
|
||||
)
|
||||
new_node = etree.fromstring(str_element)
|
||||
return new_node
|
||||
|
||||
def _get_tier_validation_readonly_domain(self):
|
||||
return "bool(review_ids)"
|
||||
|
||||
@api.model
|
||||
def get_view(self, view_id=None, view_type="form", **options):
|
||||
res = super().get_view(view_id=view_id, view_type=view_type, **options)
|
||||
View = self.env["ir.ui.view"]
|
||||
if view_type == "form" and not self._tier_validation_manual_config:
|
||||
doc = etree.XML(res["arch"])
|
||||
params = {}
|
||||
all_models = res["models"].copy() # {modelname(str) ➔ fields(tuple)}
|
||||
for node in doc.xpath(self._tier_validation_buttons_xpath):
|
||||
# By default, after the last button of the header
|
||||
# _add_tier_validation_buttons process
|
||||
new_node = self._add_tier_validation_buttons(node, params)
|
||||
new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
|
||||
new_node = etree.fromstring(new_arch)
|
||||
for new_element in new_node:
|
||||
node.addnext(new_element)
|
||||
_merge_view_fields(all_models, new_models)
|
||||
for node in doc.xpath("/form/sheet"):
|
||||
# _add_tier_validation_label process
|
||||
new_node = self._add_tier_validation_label(node, params)
|
||||
new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
|
||||
new_node = etree.fromstring(new_arch)
|
||||
for new_element in new_node:
|
||||
node.addprevious(new_element)
|
||||
_merge_view_fields(all_models, new_models)
|
||||
# _add_tier_validation_reviews process
|
||||
new_node = self._add_tier_validation_reviews(node, params)
|
||||
new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
|
||||
new_node = etree.fromstring(new_arch)
|
||||
node.append(new_node)
|
||||
_merge_view_fields(all_models, new_models)
|
||||
excepted_fields = self._get_all_validation_exceptions()
|
||||
all_fields = self.fields_get(attributes=("readonly",))
|
||||
for node in doc.xpath("//field[@name][not(ancestor::field)]"):
|
||||
field_name = node.attrib.get("name")
|
||||
if field_name in excepted_fields:
|
||||
continue
|
||||
new_r_modifier = self._get_tier_validation_readonly_domain()
|
||||
old_r_modifier = node.attrib.get("readonly")
|
||||
if old_r_modifier:
|
||||
new_r_modifier = f"({old_r_modifier}) or ({new_r_modifier})"
|
||||
elif all_fields.get(field_name, {}).get("readonly"):
|
||||
# don't set dynamic readonly attribute for fields
|
||||
# marked readonly in the ORM (ie computed fields)
|
||||
# if the view doesn't set one
|
||||
continue
|
||||
node.attrib["readonly"] = new_r_modifier
|
||||
res["arch"] = etree.tostring(doc)
|
||||
res["models"] = frozendict(all_models)
|
||||
return res
|
||||
|
||||
def _notify_review_available(self, tier_reviews):
|
||||
"""method to notify when reaching pending"""
|
||||
subscribe = "message_subscribe"
|
||||
post = "message_post"
|
||||
if hasattr(self, post) and hasattr(self, subscribe):
|
||||
for rec in self.sudo():
|
||||
users_to_notify = tier_reviews.filtered(
|
||||
lambda r, x=rec: r.definition_id.notify_on_pending
|
||||
and r.res_id == x.id
|
||||
).mapped("reviewer_ids")
|
||||
# Subscribe reviewers and notify
|
||||
rec.message_subscribe(
|
||||
partner_ids=users_to_notify.mapped("partner_id").ids
|
||||
)
|
||||
rec.message_post(
|
||||
subtype_xmlid=self._get_requested_notification_subtype(),
|
||||
body=rec._notify_requested_review_body(),
|
||||
)
|
||||
|
||||
|
||||
def _merge_view_fields(all_models: dict, new_models: dict):
|
||||
"""Merge new_models into all_models. Both are {modelname(str) ➔ fields(tuple)}."""
|
||||
for model, view_fields in new_models.items():
|
||||
if model in all_models:
|
||||
all_models[model] = tuple(set(all_models[model]) | set(view_fields))
|
||||
else:
|
||||
all_models[model] = tuple(view_fields)
|
||||
94
base_tier_validation/models/tier_validation_exception.py
Normal file
94
base_tier_validation/models/tier_validation_exception.py
Normal file
@ -0,0 +1,94 @@
|
||||
# Copyright 2024 Moduon Team (https://www.moduon.team)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, exceptions, fields, models
|
||||
|
||||
from .tier_validation import BASE_EXCEPTION_FIELDS
|
||||
|
||||
|
||||
class TierValidationException(models.Model):
|
||||
_name = "tier.validation.exception"
|
||||
_description = "Tier Validation Exceptions"
|
||||
|
||||
@api.model
|
||||
def _get_tier_validation_model_names(self):
|
||||
return self.env["tier.definition"]._get_tier_validation_model_names()
|
||||
|
||||
name = fields.Char(
|
||||
required=True,
|
||||
default="New Tier Validation Exception",
|
||||
)
|
||||
model_id = fields.Many2one(
|
||||
comodel_name="ir.model",
|
||||
string="Model",
|
||||
required=True,
|
||||
ondelete="cascade",
|
||||
domain=lambda self: [("model", "in", self._get_tier_validation_model_names())],
|
||||
)
|
||||
model_name = fields.Char(
|
||||
related="model_id.model",
|
||||
string="Model Name",
|
||||
store=True,
|
||||
index=True,
|
||||
)
|
||||
field_ids = fields.Many2many(
|
||||
comodel_name="ir.model.fields",
|
||||
string="Fields",
|
||||
domain="[('id', 'in', valid_model_field_ids)]",
|
||||
required=True,
|
||||
)
|
||||
valid_model_field_ids = fields.One2many(
|
||||
comodel_name="ir.model.fields",
|
||||
compute="_compute_valid_model_field_ids",
|
||||
)
|
||||
company_id = fields.Many2one(
|
||||
comodel_name="res.company",
|
||||
string="Company",
|
||||
default=lambda self: self.env.company,
|
||||
)
|
||||
allowed_to_write_under_validation = fields.Boolean(
|
||||
string="Write under Validation",
|
||||
default=True,
|
||||
)
|
||||
allowed_to_write_after_validation = fields.Boolean(
|
||||
string="Write after Validation",
|
||||
default=True,
|
||||
)
|
||||
group_ids = fields.Many2many(
|
||||
comodel_name="res.groups",
|
||||
string="Groups",
|
||||
help="Allowed groups to use this Tier Validation Exception",
|
||||
)
|
||||
|
||||
@api.depends("model_id")
|
||||
def _compute_valid_model_field_ids(self):
|
||||
model_names = self.mapped("model_name")
|
||||
valid_model_fields = dict(
|
||||
self.env["ir.model.fields"]
|
||||
.sudo()
|
||||
._read_group(
|
||||
domain=[
|
||||
("model", "in", model_names),
|
||||
("name", "not in", BASE_EXCEPTION_FIELDS),
|
||||
],
|
||||
groupby=["model"],
|
||||
aggregates=["id:array_agg"],
|
||||
)
|
||||
)
|
||||
for record in self:
|
||||
record.valid_model_field_ids = valid_model_fields.get(record.model_name, [])
|
||||
|
||||
@api.constrains(
|
||||
"allowed_to_write_under_validation", "allowed_to_write_after_validation"
|
||||
)
|
||||
def _check_allowed_to_write(self):
|
||||
if (
|
||||
not self.allowed_to_write_under_validation
|
||||
and not self.allowed_to_write_after_validation
|
||||
):
|
||||
raise exceptions.ValidationError(
|
||||
self.env._(
|
||||
"At least one of these fields must be checked! "
|
||||
"Write under Validation, Write after Validation"
|
||||
)
|
||||
)
|
||||
3
base_tier_validation/pyproject.toml
Normal file
3
base_tier_validation/pyproject.toml
Normal file
@ -0,0 +1,3 @@
|
||||
[build-system]
|
||||
requires = ["whool"]
|
||||
build-backend = "whool.buildapi"
|
||||
33
base_tier_validation/readme/CONFIGURE.md
Normal file
33
base_tier_validation/readme/CONFIGURE.md
Normal file
@ -0,0 +1,33 @@
|
||||
To configure this module, you need to:
|
||||
|
||||
1. Go to *Settings \> Technical \> Tier Validations \> Tier
|
||||
Definition*.
|
||||
2. Create as many tiers as you want for any model having tier
|
||||
validation functionality.
|
||||
|
||||
**Note:**
|
||||
|
||||
- If check *Notify Reviewers on Creation*, all possible reviewers will
|
||||
be notified by email when this definition is triggered.
|
||||
- If check *Notify reviewers on reaching pending* if you want to send a notification when pending status is reached.
|
||||
This is usefull in a approve by sequence scenario to only notify reviewers when it is their turn in the sequence.
|
||||
- If check *Comment*, reviewers can comment after click Validate or
|
||||
Reject.
|
||||
- If check *Approve by sequence*, reviewers is forced to review by
|
||||
specified sequence.
|
||||
|
||||
To configure Tier Validation Exceptions, you need to:
|
||||
|
||||
1. Go to *Settings > Technical > Tier Validations > Tier Validation Exceptions*.
|
||||
2. Create as many tiers validation exceptions as you want for any model
|
||||
having tier validation functionality.
|
||||
3. Add desired fields to be checked in *Fields*.
|
||||
4. Add desired groups that can use this Exception in *Groups*.
|
||||
5. You must check *Write under Validation*, *Write after Validation* or both.
|
||||
|
||||
**Note:**
|
||||
|
||||
* If you don't create any exception, the Validated record will be readonly and cannot be modified.
|
||||
* If check *Write under Validation*, records will be able to be modified only in the defined fields when the Validation process is ongoing.
|
||||
* If check *Write after Validation*, records will be able to be modified only in the defined fields when the Validation process is finished.
|
||||
* If check *Write after Validation* and *Write under Validation*, records will be able to be modified defined fields always.
|
||||
18
base_tier_validation/readme/CONTRIBUTORS.md
Normal file
18
base_tier_validation/readme/CONTRIBUTORS.md
Normal file
@ -0,0 +1,18 @@
|
||||
- Lois Rilo \<<lois.rilo@forgeflow.com>\>
|
||||
- Naglis Jonaitis \<<naglis@versada.eu>\>
|
||||
- Adrià Gil Sorribes \<<adria.gil@forgeflow.com>\>
|
||||
- Pimolnat Suntian \<<pimolnats@ecosoft.co.th>\>
|
||||
- Pedro Gonzalez \<<pedro.gonzalez@pesol.es>\>
|
||||
- Kitti U. \<<kittiu@ecosoft.co.th>\>
|
||||
- Saran Lim. \<<saranl@ecosoft.co.th>\>
|
||||
- Carlos Lopez \<<celm1990@gmail.com>\>
|
||||
- Javier Colmeiro \<<javier.colmeiro@braintec.com>\>
|
||||
- bosd
|
||||
- Evan Soh \<<evan.soh@omnisoftsolution.com>\>
|
||||
- Manuel Regidor \<<manuel.regidor@sygel.es>\>
|
||||
- Eduardo de Miguel \<<edu@moduon.team>\>
|
||||
- [XCG Consulting](https://xcg-consulting.fr):
|
||||
- Houzéfa Abbasbhay
|
||||
- Stefan Rijnhart \<<stefan@opener.amsterdam>\>
|
||||
- Kevin Khao \<<kevinkhao@gmail.com>\>
|
||||
- Do Anh Duy \<<duyda@trobz.com>\>
|
||||
1
base_tier_validation/readme/CREDITS.md
Normal file
1
base_tier_validation/readme/CREDITS.md
Normal file
@ -0,0 +1 @@
|
||||
The migration of this module from 17.0 to 18.0 was financially supported by Camptocamp.
|
||||
19
base_tier_validation/readme/DESCRIPTION.md
Normal file
19
base_tier_validation/readme/DESCRIPTION.md
Normal file
@ -0,0 +1,19 @@
|
||||
Validating some operations is a common need across different areas in a
|
||||
company and sometimes it also involves several people and stages in the
|
||||
process. With this module you will be able to define your custom
|
||||
validation workflows for any Odoo document.
|
||||
|
||||
This module does not provide a functionality by itself but an abstract
|
||||
model to implement a validation process based on tiers on other models
|
||||
(e.g. purchase orders, sales orders, budgets, expenses...).
|
||||
|
||||
**Note:** To be able to use this module in a new model you will need
|
||||
some development.
|
||||
|
||||
See [purchase_tier_validation](https://github.com/OCA/purchase-workflow)
|
||||
as an example of implementation.
|
||||
|
||||
Additionally, if your state field is a (stored) computed field, you need to
|
||||
set `_tier_validation_state_field_is_computed` to `True` in your model Python
|
||||
file, and you will want to add the dependent fields of the compute method
|
||||
in `_get_after_validation_exceptions` and `_get_under_validation_exceptions`.
|
||||
85
base_tier_validation/readme/HISTORY.md
Normal file
85
base_tier_validation/readme/HISTORY.md
Normal file
@ -0,0 +1,85 @@
|
||||
## 17.0.1.0.0 (2024-01-10)
|
||||
|
||||
Migrated to Odoo 17.
|
||||
Merged module with tier_validation_waiting.
|
||||
To support sending messages in a validation sequence when it is their turn to validate.
|
||||
|
||||
## 14.0.1.0.0 (2020-11-19)
|
||||
|
||||
Migrated to Odoo 14.
|
||||
|
||||
## 13.0.1.2.2 (2020-08-30)
|
||||
|
||||
Fixes:
|
||||
|
||||
- When using approve_sequence option in any tier.definition there can be
|
||||
inconsistencies in the systray notifications
|
||||
- When using approve_sequence, still not approve only the needed
|
||||
sequence, but also other sequence for the same approver
|
||||
|
||||
## 12.0.3.3.1 (2019-12-02)
|
||||
|
||||
Fixes:
|
||||
|
||||
- Show comment on Reviews Table.
|
||||
- Edit notification with approve_sequence.
|
||||
|
||||
## 12.0.3.3.0 (2019-11-27)
|
||||
|
||||
New features:
|
||||
|
||||
- Add comment on Reviews Table.
|
||||
- Approve by sequence.
|
||||
|
||||
## 12.0.3.2.1 (2019-11-26)
|
||||
|
||||
Fixes:
|
||||
|
||||
- Remove message_subscribe_users
|
||||
|
||||
## 12.0.3.2.0 (2019-11-25)
|
||||
|
||||
New features:
|
||||
|
||||
- Notify reviewers
|
||||
|
||||
## 12.0.3.1.0 (2019-07-08)
|
||||
|
||||
Fixes:
|
||||
|
||||
- Singleton error
|
||||
|
||||
## 12.0.3.0.0 (2019-12-02)
|
||||
|
||||
Fixes:
|
||||
|
||||
- Edit Reviews Table
|
||||
|
||||
## 12.0.2.1.0 (2019-05-29)
|
||||
|
||||
Fixes:
|
||||
|
||||
- Edit drop-down style width and position
|
||||
|
||||
## 12.0.2.0.0 (2019-05-28)
|
||||
|
||||
New features:
|
||||
|
||||
- Pass parameters as functions.
|
||||
- Add Systray.
|
||||
|
||||
## 12.0.1.0.0 (2019-02-18)
|
||||
|
||||
Migrated to Odoo 12.
|
||||
|
||||
## 11.0.1.0.0 (2018-05-09)
|
||||
|
||||
Migrated to Odoo 11.
|
||||
|
||||
## 10.0.1.0.0 (2018-03-26)
|
||||
|
||||
Migrated to Odoo 10.
|
||||
|
||||
## 9.0.1.0.0 (2017-12-02)
|
||||
|
||||
First version.
|
||||
22
base_tier_validation/readme/ROADMAP.md
Normal file
22
base_tier_validation/readme/ROADMAP.md
Normal file
@ -0,0 +1,22 @@
|
||||
This is the list of known issues for this module. Any proposal for
|
||||
improvement will be very valuable.
|
||||
|
||||
- **Issue:**
|
||||
|
||||
When using approve_sequence option in any tier.definition there can be
|
||||
inconsistencies in the systray notifications.
|
||||
|
||||
**Description:**
|
||||
|
||||
Field can_review in tier.review is used to filter out, in the systray
|
||||
notifications, the reviews a user can approve. This can_review field
|
||||
is updated **in the database** in method review_user_count, this can
|
||||
make it very inconsistent for databases with a lot of users and
|
||||
recurring updates that can change the expected behavior.
|
||||
|
||||
- **Migration to 15.0:**
|
||||
|
||||
The parameter \_tier_validation_manual_config will become False, on
|
||||
14.0, the default value is True, as the change is applied after the
|
||||
migration. In order to use the new behavior we need to modify the
|
||||
value on our expected model.
|
||||
11
base_tier_validation/security/ir.model.access.csv
Normal file
11
base_tier_validation/security/ir.model.access.csv
Normal file
@ -0,0 +1,11 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_tier_review_group_public,access_tier_review_group_public,model_tier_review,base.group_public,1,0,0,0
|
||||
access_tier_definition_group_public,access_tier_definition_group_public,model_tier_definition,base.group_public,1,0,0,0
|
||||
access_tier_review_group_portal,access_tier_review_group_portal,model_tier_review,base.group_portal,1,0,0,0
|
||||
access_tier_definition_group_portal,access_tier_definition_group_portal,model_tier_definition,base.group_portal,1,0,0,0
|
||||
access_tier_review,access.tier.review,model_tier_review,base.group_user,1,1,1,1
|
||||
access_tier_definition_all,tier.definition.all,model_tier_definition,base.group_user,1,0,0,0
|
||||
access_tier_definition_settings,tier.definition.settings,model_tier_definition,base.group_erp_manager,1,1,1,1
|
||||
access_comment_wizard,access.comment.wizard,model_comment_wizard,base.group_user,1,1,1,1
|
||||
access_tier_validation_exceptions_all,tier.validation.exceptions,model_tier_validation_exception,base.group_user,1,0,0,0
|
||||
access_tier_validation_exceptions_settings,tier.validation.exceptions,model_tier_validation_exception,base.group_system,1,1,1,1
|
||||
|
15
base_tier_validation/security/tier_validation_security.xml
Normal file
15
base_tier_validation/security/tier_validation_security.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo noupdate="0">
|
||||
<record id="tier_definition_comp_rule" model="ir.rule">
|
||||
<field name="name">Tier Definition multi-company</field>
|
||||
<field name="model_id" ref="model_tier_definition" />
|
||||
<field name="global" eval="True" />
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
<record id="tier_review_comp_rule" model="ir.rule">
|
||||
<field name="name">Tier Review multi-company</field>
|
||||
<field name="model_id" ref="model_tier_review" />
|
||||
<field name="global" eval="True" />
|
||||
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
BIN
base_tier_validation/static/description/icon.png
Normal file
BIN
base_tier_validation/static/description/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
70
base_tier_validation/static/description/icon.svg
Normal file
70
base_tier_validation/static/description/icon.svg
Normal file
@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="37.041668mm"
|
||||
height="37.041668mm"
|
||||
viewBox="0 0 37.041668 37.041668"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
sodipodi:docname="icon.svg"
|
||||
inkscape:export-filename="icon.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="3.4193532"
|
||||
inkscape:cx="39.042472"
|
||||
inkscape:cy="56.58965"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" /><defs
|
||||
id="defs1" /><g
|
||||
inkscape:label="Capa 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-73.740303,-139.5361)"><rect
|
||||
style="color:#000000;overflow:visible;fill:#fe5759;fill-opacity:1;stroke:none;stroke-width:1.17122;paint-order:stroke fill markers"
|
||||
id="rect2"
|
||||
width="22.839754"
|
||||
height="4.9514699"
|
||||
x="41.960548"
|
||||
y="-173.60312"
|
||||
transform="rotate(134.32069,-8.9289536e-8,-7.4894587e-7)" /><rect
|
||||
style="color:#000000;overflow:visible;fill:#81fe4d;fill-opacity:1;stroke:none;stroke-width:1.17122;paint-order:stroke fill markers"
|
||||
id="rect4"
|
||||
width="22.839754"
|
||||
height="4.9514699"
|
||||
x="31.597769"
|
||||
y="-184.44992"
|
||||
transform="rotate(134.32069)" /><rect
|
||||
style="color:#000000;overflow:visible;fill:#fe161d;fill-opacity:1;stroke:none;stroke-width:1.18055;paint-order:stroke fill markers"
|
||||
id="rect1"
|
||||
width="23.017431"
|
||||
height="4.9918523"
|
||||
x="159.2585"
|
||||
y="49.542355"
|
||||
transform="matrix(0.70991783,0.70428451,-0.69302167,0.72091675,0,0)" /><rect
|
||||
style="color:#000000;display:inline;overflow:visible;fill:#59d236;fill-opacity:1;stroke:none;stroke-width:0.928049;paint-order:stroke fill markers"
|
||||
id="rect3"
|
||||
width="13.668949"
|
||||
height="5.1946406"
|
||||
x="170.78375"
|
||||
y="49.240173"
|
||||
transform="rotate(44.32069,1.1396491e-6,-1.4481696e-6)" /></g></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
657
base_tier_validation/static/description/index.html
Normal file
657
base_tier_validation/static/description/index.html
Normal file
@ -0,0 +1,657 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
|
||||
<title>README.rst</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger (goodger@python.org)
|
||||
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
Despite the name, some widely supported CSS2 features are used.
|
||||
|
||||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
.subscript {
|
||||
vertical-align: sub;
|
||||
font-size: smaller }
|
||||
|
||||
.superscript {
|
||||
vertical-align: super;
|
||||
font-size: smaller }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title, .code .error {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin: 0 0 0.5em 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
||||
clear: left ;
|
||||
float: left ;
|
||||
margin-right: 1em }
|
||||
|
||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
||||
clear: right ;
|
||||
float: right ;
|
||||
margin-left: 1em }
|
||||
|
||||
img.align-center, .figure.align-center, object.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left }
|
||||
|
||||
.align-center {
|
||||
clear: both ;
|
||||
text-align: center }
|
||||
|
||||
.align-right {
|
||||
text-align: right }
|
||||
|
||||
/* reset inner alignment in figures */
|
||||
div.align-right {
|
||||
text-align: inherit }
|
||||
|
||||
/* div.align-center * { */
|
||||
/* text-align: left } */
|
||||
|
||||
.align-top {
|
||||
vertical-align: top }
|
||||
|
||||
.align-middle {
|
||||
vertical-align: middle }
|
||||
|
||||
.align-bottom {
|
||||
vertical-align: bottom }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font: inherit }
|
||||
|
||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
pre.code .ln { color: gray; } /* line numbers */
|
||||
pre.code, code { background-color: #eeeeee }
|
||||
pre.code .comment, code .comment { color: #5C6576 }
|
||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic, pre.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
/* "booktabs" style (no vertical lines) */
|
||||
table.docutils.booktabs {
|
||||
border: 0px;
|
||||
border-top: 2px solid;
|
||||
border-bottom: 2px solid;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.docutils.booktabs * {
|
||||
border: 0px;
|
||||
}
|
||||
table.docutils.booktabs th {
|
||||
border-bottom: thin solid;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document">
|
||||
|
||||
|
||||
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
|
||||
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
|
||||
</a>
|
||||
<div class="section" id="base-tier-validation">
|
||||
<h1>Base Tier Validation</h1>
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:3e44413fd72f8949deba313c3f31047cbf30ba3b17d78342590d2376001d905f
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<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/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/server-ux/tree/18.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-18-0/server-ux-18-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=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p>Validating some operations is a common need across different areas in a
|
||||
company and sometimes it also involves several people and stages in the
|
||||
process. With this module you will be able to define your custom
|
||||
validation workflows for any Odoo document.</p>
|
||||
<p>This module does not provide a functionality by itself but an abstract
|
||||
model to implement a validation process based on tiers on other models
|
||||
(e.g. purchase orders, sales orders, budgets, expenses…).</p>
|
||||
<p><strong>Note:</strong> To be able to use this module in a new model you will need
|
||||
some development.</p>
|
||||
<p>See
|
||||
<a class="reference external" href="https://github.com/OCA/purchase-workflow">purchase_tier_validation</a>
|
||||
as an example of implementation.</p>
|
||||
<p>Additionally, if your state field is a (stored) computed field, you need
|
||||
to set <tt class="docutils literal">_tier_validation_state_field_is_computed</tt> to <tt class="docutils literal">True</tt> in your
|
||||
model Python file, and you will want to add the dependent fields of the
|
||||
compute method in <tt class="docutils literal">_get_after_validation_exceptions</tt> and
|
||||
<tt class="docutils literal">_get_under_validation_exceptions</tt>.</p>
|
||||
<p><strong>Table of contents</strong></p>
|
||||
<div class="contents local topic" id="contents">
|
||||
<ul class="simple">
|
||||
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
|
||||
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
|
||||
<li><a class="reference internal" href="#changelog" id="toc-entry-3">Changelog</a><ul>
|
||||
<li><a class="reference internal" href="#section-1" id="toc-entry-4">17.0.1.0.0 (2024-01-10)</a></li>
|
||||
<li><a class="reference internal" href="#section-2" id="toc-entry-5">14.0.1.0.0 (2020-11-19)</a></li>
|
||||
<li><a class="reference internal" href="#section-3" id="toc-entry-6">13.0.1.2.2 (2020-08-30)</a></li>
|
||||
<li><a class="reference internal" href="#section-4" id="toc-entry-7">12.0.3.3.1 (2019-12-02)</a></li>
|
||||
<li><a class="reference internal" href="#section-5" id="toc-entry-8">12.0.3.3.0 (2019-11-27)</a></li>
|
||||
<li><a class="reference internal" href="#section-6" id="toc-entry-9">12.0.3.2.1 (2019-11-26)</a></li>
|
||||
<li><a class="reference internal" href="#section-7" id="toc-entry-10">12.0.3.2.0 (2019-11-25)</a></li>
|
||||
<li><a class="reference internal" href="#section-8" id="toc-entry-11">12.0.3.1.0 (2019-07-08)</a></li>
|
||||
<li><a class="reference internal" href="#section-9" id="toc-entry-12">12.0.3.0.0 (2019-12-02)</a></li>
|
||||
<li><a class="reference internal" href="#section-10" id="toc-entry-13">12.0.2.1.0 (2019-05-29)</a></li>
|
||||
<li><a class="reference internal" href="#section-11" id="toc-entry-14">12.0.2.0.0 (2019-05-28)</a></li>
|
||||
<li><a class="reference internal" href="#section-12" id="toc-entry-15">12.0.1.0.0 (2019-02-18)</a></li>
|
||||
<li><a class="reference internal" href="#section-13" id="toc-entry-16">11.0.1.0.0 (2018-05-09)</a></li>
|
||||
<li><a class="reference internal" href="#section-14" id="toc-entry-17">10.0.1.0.0 (2018-03-26)</a></li>
|
||||
<li><a class="reference internal" href="#section-15" id="toc-entry-18">9.0.1.0.0 (2017-12-02)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-19">Bug Tracker</a></li>
|
||||
<li><a class="reference internal" href="#credits" id="toc-entry-20">Credits</a><ul>
|
||||
<li><a class="reference internal" href="#authors" id="toc-entry-21">Authors</a></li>
|
||||
<li><a class="reference internal" href="#contributors" id="toc-entry-22">Contributors</a></li>
|
||||
<li><a class="reference internal" href="#other-credits" id="toc-entry-23">Other credits</a></li>
|
||||
<li><a class="reference internal" href="#maintainers" id="toc-entry-24">Maintainers</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="configuration">
|
||||
<h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
|
||||
<p>To configure this module, you need to:</p>
|
||||
<ol class="arabic simple">
|
||||
<li>Go to <em>Settings > Technical > Tier Validations > Tier Definition</em>.</li>
|
||||
<li>Create as many tiers as you want for any model having tier validation
|
||||
functionality.</li>
|
||||
</ol>
|
||||
<p><strong>Note:</strong></p>
|
||||
<ul class="simple">
|
||||
<li>If check <em>Notify Reviewers on Creation</em>, all possible reviewers will
|
||||
be notified by email when this definition is triggered.</li>
|
||||
<li>If check <em>Notify reviewers on reaching pending</em> if you want to send a
|
||||
notification when pending status is reached. This is usefull in a
|
||||
approve by sequence scenario to only notify reviewers when it is their
|
||||
turn in the sequence.</li>
|
||||
<li>If check <em>Comment</em>, reviewers can comment after click Validate or
|
||||
Reject.</li>
|
||||
<li>If check <em>Approve by sequence</em>, reviewers is forced to review by
|
||||
specified sequence.</li>
|
||||
</ul>
|
||||
<p>To configure Tier Validation Exceptions, you need to:</p>
|
||||
<ol class="arabic simple">
|
||||
<li>Go to <em>Settings > Technical > Tier Validations > Tier Validation
|
||||
Exceptions</em>.</li>
|
||||
<li>Create as many tiers validation exceptions as you want for any model
|
||||
having tier validation functionality.</li>
|
||||
<li>Add desired fields to be checked in <em>Fields</em>.</li>
|
||||
<li>Add desired groups that can use this Exception in <em>Groups</em>.</li>
|
||||
<li>You must check <em>Write under Validation</em>, <em>Write after Validation</em> or
|
||||
both.</li>
|
||||
</ol>
|
||||
<p><strong>Note:</strong></p>
|
||||
<ul class="simple">
|
||||
<li>If you don’t create any exception, the Validated record will be
|
||||
readonly and cannot be modified.</li>
|
||||
<li>If check <em>Write under Validation</em>, records will be able to be modified
|
||||
only in the defined fields when the Validation process is ongoing.</li>
|
||||
<li>If check <em>Write after Validation</em>, records will be able to be modified
|
||||
only in the defined fields when the Validation process is finished.</li>
|
||||
<li>If check <em>Write after Validation</em> and <em>Write under Validation</em>,
|
||||
records will be able to be modified defined fields always.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="known-issues-roadmap">
|
||||
<h2><a class="toc-backref" href="#toc-entry-2">Known issues / Roadmap</a></h2>
|
||||
<p>This is the list of known issues for this module. Any proposal for
|
||||
improvement will be very valuable.</p>
|
||||
<ul>
|
||||
<li><p class="first"><strong>Issue:</strong></p>
|
||||
<p>When using approve_sequence option in any tier.definition there can be
|
||||
inconsistencies in the systray notifications.</p>
|
||||
<p><strong>Description:</strong></p>
|
||||
<p>Field can_review in tier.review is used to filter out, in the systray
|
||||
notifications, the reviews a user can approve. This can_review field
|
||||
is updated <strong>in the database</strong> in method review_user_count, this can
|
||||
make it very inconsistent for databases with a lot of users and
|
||||
recurring updates that can change the expected behavior.</p>
|
||||
</li>
|
||||
<li><p class="first"><strong>Migration to 15.0:</strong></p>
|
||||
<p>The parameter _tier_validation_manual_config will become False, on
|
||||
14.0, the default value is True, as the change is applied after the
|
||||
migration. In order to use the new behavior we need to modify the
|
||||
value on our expected model.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="changelog">
|
||||
<h2><a class="toc-backref" href="#toc-entry-3">Changelog</a></h2>
|
||||
<div class="section" id="section-1">
|
||||
<h3><a class="toc-backref" href="#toc-entry-4">17.0.1.0.0 (2024-01-10)</a></h3>
|
||||
<p>Migrated to Odoo 17. Merged module with tier_validation_waiting. To
|
||||
support sending messages in a validation sequence when it is their turn
|
||||
to validate.</p>
|
||||
</div>
|
||||
<div class="section" id="section-2">
|
||||
<h3><a class="toc-backref" href="#toc-entry-5">14.0.1.0.0 (2020-11-19)</a></h3>
|
||||
<p>Migrated to Odoo 14.</p>
|
||||
</div>
|
||||
<div class="section" id="section-3">
|
||||
<h3><a class="toc-backref" href="#toc-entry-6">13.0.1.2.2 (2020-08-30)</a></h3>
|
||||
<p>Fixes:</p>
|
||||
<ul class="simple">
|
||||
<li>When using approve_sequence option in any tier.definition there can be
|
||||
inconsistencies in the systray notifications</li>
|
||||
<li>When using approve_sequence, still not approve only the needed
|
||||
sequence, but also other sequence for the same approver</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-4">
|
||||
<h3><a class="toc-backref" href="#toc-entry-7">12.0.3.3.1 (2019-12-02)</a></h3>
|
||||
<p>Fixes:</p>
|
||||
<ul class="simple">
|
||||
<li>Show comment on Reviews Table.</li>
|
||||
<li>Edit notification with approve_sequence.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-5">
|
||||
<h3><a class="toc-backref" href="#toc-entry-8">12.0.3.3.0 (2019-11-27)</a></h3>
|
||||
<p>New features:</p>
|
||||
<ul class="simple">
|
||||
<li>Add comment on Reviews Table.</li>
|
||||
<li>Approve by sequence.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-6">
|
||||
<h3><a class="toc-backref" href="#toc-entry-9">12.0.3.2.1 (2019-11-26)</a></h3>
|
||||
<p>Fixes:</p>
|
||||
<ul class="simple">
|
||||
<li>Remove message_subscribe_users</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-7">
|
||||
<h3><a class="toc-backref" href="#toc-entry-10">12.0.3.2.0 (2019-11-25)</a></h3>
|
||||
<p>New features:</p>
|
||||
<ul class="simple">
|
||||
<li>Notify reviewers</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-8">
|
||||
<h3><a class="toc-backref" href="#toc-entry-11">12.0.3.1.0 (2019-07-08)</a></h3>
|
||||
<p>Fixes:</p>
|
||||
<ul class="simple">
|
||||
<li>Singleton error</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-9">
|
||||
<h3><a class="toc-backref" href="#toc-entry-12">12.0.3.0.0 (2019-12-02)</a></h3>
|
||||
<p>Fixes:</p>
|
||||
<ul class="simple">
|
||||
<li>Edit Reviews Table</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-10">
|
||||
<h3><a class="toc-backref" href="#toc-entry-13">12.0.2.1.0 (2019-05-29)</a></h3>
|
||||
<p>Fixes:</p>
|
||||
<ul class="simple">
|
||||
<li>Edit drop-down style width and position</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-11">
|
||||
<h3><a class="toc-backref" href="#toc-entry-14">12.0.2.0.0 (2019-05-28)</a></h3>
|
||||
<p>New features:</p>
|
||||
<ul class="simple">
|
||||
<li>Pass parameters as functions.</li>
|
||||
<li>Add Systray.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="section-12">
|
||||
<h3><a class="toc-backref" href="#toc-entry-15">12.0.1.0.0 (2019-02-18)</a></h3>
|
||||
<p>Migrated to Odoo 12.</p>
|
||||
</div>
|
||||
<div class="section" id="section-13">
|
||||
<h3><a class="toc-backref" href="#toc-entry-16">11.0.1.0.0 (2018-05-09)</a></h3>
|
||||
<p>Migrated to Odoo 11.</p>
|
||||
</div>
|
||||
<div class="section" id="section-14">
|
||||
<h3><a class="toc-backref" href="#toc-entry-17">10.0.1.0.0 (2018-03-26)</a></h3>
|
||||
<p>Migrated to Odoo 10.</p>
|
||||
</div>
|
||||
<div class="section" id="section-15">
|
||||
<h3><a class="toc-backref" href="#toc-entry-18">9.0.1.0.0 (2017-12-02)</a></h3>
|
||||
<p>First version.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="bug-tracker">
|
||||
<h2><a class="toc-backref" href="#toc-entry-19">Bug Tracker</a></h2>
|
||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-ux/issues">GitHub Issues</a>.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
<a class="reference external" href="https://github.com/OCA/server-ux/issues/new?body=module:%20base_tier_validation%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||
</div>
|
||||
<div class="section" id="credits">
|
||||
<h2><a class="toc-backref" href="#toc-entry-20">Credits</a></h2>
|
||||
<div class="section" id="authors">
|
||||
<h3><a class="toc-backref" href="#toc-entry-21">Authors</a></h3>
|
||||
<ul class="simple">
|
||||
<li>ForgeFlow</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="contributors">
|
||||
<h3><a class="toc-backref" href="#toc-entry-22">Contributors</a></h3>
|
||||
<ul class="simple">
|
||||
<li>Lois Rilo <<a class="reference external" href="mailto:lois.rilo@forgeflow.com">lois.rilo@forgeflow.com</a>></li>
|
||||
<li>Naglis Jonaitis <<a class="reference external" href="mailto:naglis@versada.eu">naglis@versada.eu</a>></li>
|
||||
<li>Adrià Gil Sorribes <<a class="reference external" href="mailto:adria.gil@forgeflow.com">adria.gil@forgeflow.com</a>></li>
|
||||
<li>Pimolnat Suntian <<a class="reference external" href="mailto:pimolnats@ecosoft.co.th">pimolnats@ecosoft.co.th</a>></li>
|
||||
<li>Pedro Gonzalez <<a class="reference external" href="mailto:pedro.gonzalez@pesol.es">pedro.gonzalez@pesol.es</a>></li>
|
||||
<li>Kitti U. <<a class="reference external" href="mailto:kittiu@ecosoft.co.th">kittiu@ecosoft.co.th</a>></li>
|
||||
<li>Saran Lim. <<a class="reference external" href="mailto:saranl@ecosoft.co.th">saranl@ecosoft.co.th</a>></li>
|
||||
<li>Carlos Lopez <<a class="reference external" href="mailto:celm1990@gmail.com">celm1990@gmail.com</a>></li>
|
||||
<li>Javier Colmeiro <<a class="reference external" href="mailto:javier.colmeiro@braintec.com">javier.colmeiro@braintec.com</a>></li>
|
||||
<li>bosd</li>
|
||||
<li>Evan Soh <<a class="reference external" href="mailto:evan.soh@omnisoftsolution.com">evan.soh@omnisoftsolution.com</a>></li>
|
||||
<li>Manuel Regidor <<a class="reference external" href="mailto:manuel.regidor@sygel.es">manuel.regidor@sygel.es</a>></li>
|
||||
<li>Eduardo de Miguel <<a class="reference external" href="mailto:edu@moduon.team">edu@moduon.team</a>></li>
|
||||
<li><a class="reference external" href="https://xcg-consulting.fr">XCG Consulting</a>:<ul>
|
||||
<li>Houzéfa Abbasbhay</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Stefan Rijnhart <<a class="reference external" href="mailto:stefan@opener.amsterdam">stefan@opener.amsterdam</a>></li>
|
||||
<li>Kevin Khao <<a class="reference external" href="mailto:kevinkhao@gmail.com">kevinkhao@gmail.com</a>></li>
|
||||
<li>Do Anh Duy <<a class="reference external" href="mailto:duyda@trobz.com">duyda@trobz.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="other-credits">
|
||||
<h3><a class="toc-backref" href="#toc-entry-23">Other credits</a></h3>
|
||||
<p>The migration of this module from 17.0 to 18.0 was financially supported
|
||||
by Camptocamp.</p>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
<h3><a class="toc-backref" href="#toc-entry-24">Maintainers</a></h3>
|
||||
<p>This module is maintained by the OCA.</p>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org">
|
||||
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
||||
</a>
|
||||
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.</p>
|
||||
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
|
||||
<p><a class="reference external image-reference" href="https://github.com/LoisRForgeFlow"><img alt="LoisRForgeFlow" src="https://github.com/LoisRForgeFlow.png?size=40px" /></a></p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-ux/tree/18.0/base_tier_validation">OCA/server-ux</a> project on GitHub.</p>
|
||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,74 @@
|
||||
import {Component, useState} from "@odoo/owl";
|
||||
import {Dropdown} from "@web/core/dropdown/dropdown";
|
||||
import {registry} from "@web/core/registry";
|
||||
import {useDiscussSystray} from "@mail/utils/common/hooks";
|
||||
import {useDropdownState} from "@web/core/dropdown/dropdown_hooks";
|
||||
import {useService} from "@web/core/utils/hooks";
|
||||
|
||||
export class TierReviewMenu extends Component {
|
||||
static components = {Dropdown};
|
||||
static props = [];
|
||||
static template = "base_tier_validation.TierReviewMenu";
|
||||
|
||||
setup() {
|
||||
super.setup();
|
||||
this.discussSystray = useDiscussSystray();
|
||||
this.orm = useService("orm");
|
||||
this.store = useState(useService("mail.store"));
|
||||
this.action = useService("action");
|
||||
this.dropdown = useDropdownState();
|
||||
this.fetchSystrayReviewer();
|
||||
}
|
||||
|
||||
async fetchSystrayReviewer() {
|
||||
const groups = await this.orm.call("res.users", "review_user_count");
|
||||
let total = 0;
|
||||
for (const group of groups) {
|
||||
total += group.pending_count || 0;
|
||||
}
|
||||
this.store.tierReviewCounter = total;
|
||||
this.store.tierReviewGroups = groups;
|
||||
}
|
||||
|
||||
availableViews() {
|
||||
return [
|
||||
[false, "kanban"],
|
||||
[false, "list"],
|
||||
[false, "form"],
|
||||
[false, "activity"],
|
||||
];
|
||||
}
|
||||
|
||||
openReviewGroup(group) {
|
||||
this.dropdown.close();
|
||||
const context = {};
|
||||
const domain = [["can_review", "=", true]];
|
||||
if (group.active_field) {
|
||||
domain.push(["active", "in", [true, false]]);
|
||||
}
|
||||
const views = this.availableViews();
|
||||
|
||||
this.action.doAction(
|
||||
{
|
||||
context,
|
||||
domain,
|
||||
name: group.name,
|
||||
res_model: group.model,
|
||||
search_view_id: [false],
|
||||
type: "ir.actions.act_window",
|
||||
views,
|
||||
},
|
||||
{
|
||||
clearBreadcrumbs: true,
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export const systrayItem = {
|
||||
Component: TierReviewMenu,
|
||||
};
|
||||
|
||||
registry
|
||||
.category("systray")
|
||||
.add("base_tier_validation.ReviewerMenu", systrayItem, {sequence: 99});
|
||||
@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<templates xml:space="preserve">
|
||||
|
||||
<t t-name="base_tier_validation.TierReviewMenu">
|
||||
<Dropdown
|
||||
position="'bottom-end'"
|
||||
state="dropdown"
|
||||
beforeOpen.bind="fetchSystrayReviewer"
|
||||
menuClass="discussSystray.menuClass"
|
||||
>
|
||||
<button>
|
||||
<i
|
||||
class="fa fa-lg fa-pencil-square-o"
|
||||
role="img"
|
||||
aria-label="Reviews"
|
||||
/>
|
||||
<span
|
||||
t-if="store.tierReviewCounter"
|
||||
class="o-mail-ActivityMenu-counter badge rounded-pill"
|
||||
>
|
||||
<t t-out="store.tierReviewCounter" />
|
||||
</span>
|
||||
</button>
|
||||
<t t-set-slot="content">
|
||||
<div t-att-class="`${discussSystray.contentClass} o-mail-ActivityMenu`">
|
||||
<div
|
||||
t-if="store.tierReviewCounter === 0"
|
||||
class="o-mail-ActivityMenu-empty align-items-center text-muted p-2 opacity-50 d-flex justify-content-center"
|
||||
>
|
||||
<span>No reviews to do.</span>
|
||||
</div>
|
||||
<div
|
||||
class="d-flex flex-column list-group-flush"
|
||||
name="reviewGroups"
|
||||
>
|
||||
<t
|
||||
t-foreach="store.tierReviewGroups"
|
||||
t-as="review"
|
||||
t-key="review_index"
|
||||
name="reviewGroupLoop"
|
||||
>
|
||||
<div
|
||||
class="o-mail-ActivityGroup list-group-item list-group-item-action d-flex p-2 cursor-pointer"
|
||||
t-att-data-model_name="review.model"
|
||||
t-on-click="() => this.openReviewGroup(review)"
|
||||
>
|
||||
<img alt="Review" t-att-src="review.icon" />
|
||||
<div class="flex-grow-1 overflow-hidden">
|
||||
<div
|
||||
class="d-flex px-2"
|
||||
name="reviewTitle"
|
||||
t-out="review.name"
|
||||
/>
|
||||
<div class="d-flex">
|
||||
<span
|
||||
t-attf-class="#{review.pending_count ? 'btn btn-link' : 'text-muted'} py-0 px-2 text-truncate"
|
||||
t-on-click.stop="() => this.openReviewGroup(review)"
|
||||
>
|
||||
<t t-out="review.pending_count" /> Pending
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</Dropdown>
|
||||
</t>
|
||||
|
||||
</templates>
|
||||
@ -0,0 +1,53 @@
|
||||
import {Component, useState} from "@odoo/owl";
|
||||
import {registry} from "@web/core/registry";
|
||||
import {useService} from "@web/core/utils/hooks";
|
||||
|
||||
export class ReviewsTable extends Component {
|
||||
setup() {
|
||||
super.setup();
|
||||
this.orm = useService("orm");
|
||||
this.state = useState({
|
||||
collapse: false,
|
||||
});
|
||||
}
|
||||
|
||||
_getReviewData() {
|
||||
const records = this.props.record.data.review_ids.records;
|
||||
return records.map((record) => record.data);
|
||||
}
|
||||
|
||||
onToggleCollapse(ev) {
|
||||
const panelHeading = ev.currentTarget.closest(".panel-heading");
|
||||
const collapseDiv = panelHeading.nextElementSibling.matches("div#collapse1")
|
||||
? panelHeading.nextElementSibling
|
||||
: null;
|
||||
if (!collapseDiv) return;
|
||||
if (this.state.collapse) {
|
||||
collapseDiv.style.display = "none";
|
||||
} else {
|
||||
collapseDiv.style.display = "block";
|
||||
}
|
||||
this.state.collapse = !this.state.collapse;
|
||||
}
|
||||
}
|
||||
|
||||
ReviewsTable.template = "base_tier_validation.Collapse";
|
||||
|
||||
export const reviewsTableComponent = {
|
||||
component: ReviewsTable,
|
||||
supportedTypes: ["one2many"],
|
||||
relatedFields: [
|
||||
{name: "id", type: "integer"},
|
||||
{name: "sequence", type: "integer"},
|
||||
{name: "name", type: "char"},
|
||||
{name: "display_status", type: "char"},
|
||||
{name: "todo_by", type: "char"},
|
||||
{name: "status", type: "char"},
|
||||
{name: "reviewed_formated_date", type: "char"},
|
||||
{name: "comment", type: "char"},
|
||||
{name: "requested_by", type: "many2one", relation: "partner"},
|
||||
{name: "done_by", type: "many2one", relation: "partner"},
|
||||
],
|
||||
};
|
||||
|
||||
registry.category("fields").add("form.tier_validation", reviewsTableComponent);
|
||||
@ -0,0 +1,41 @@
|
||||
ul.o_review {
|
||||
min-width: 600px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.panel-group {
|
||||
min-height: auto !important;
|
||||
margin-top: -6px !important;
|
||||
padding: 16px 16px 8px 16px !important;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
background-color: initial !important;
|
||||
}
|
||||
|
||||
.panel {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.panel-body {
|
||||
overflow-y: hidden;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.panel-title > a,
|
||||
.panel-title > a:active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.panel-heading a:before {
|
||||
font-family: FontAwesome;
|
||||
content: "\f0d7";
|
||||
float: right;
|
||||
transition: all 0.5s;
|
||||
}
|
||||
|
||||
.panel-heading.active a:before {
|
||||
-webkit-transform: rotate(180deg);
|
||||
-moz-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<templates>
|
||||
<t t-name="base_tier_validation.Collapse">
|
||||
<div class="o_form_sheet panel-group">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">
|
||||
<a
|
||||
class="o_info_btn"
|
||||
data-toggle="state.collapse"
|
||||
href="#"
|
||||
data-target="#collapse1"
|
||||
t-on-click="onToggleCollapse"
|
||||
>
|
||||
Reviews
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapse1" class="panel-collapse collapse active">
|
||||
<div class="panel-body o_review">
|
||||
<table class="oe_mt32 table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th
|
||||
name="th_sequence"
|
||||
class="text-center"
|
||||
>Sequence</th>
|
||||
<th
|
||||
name="th_requested_by"
|
||||
class="text-start"
|
||||
>Requested by</th>
|
||||
<th name="th_name" class="text-end">Description</th>
|
||||
<th
|
||||
name="th_display_status"
|
||||
class="text-end"
|
||||
>Status</th>
|
||||
<th name="th_todo_by" class="text-end">Todo by</th>
|
||||
<th name="th_done_by" class="text-end">Done by</th>
|
||||
<th
|
||||
name="th_reviewed_date"
|
||||
class="text-end"
|
||||
>Validation Date</th>
|
||||
<th name="th_comment" class="text-end">Comment</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sale_tbody">
|
||||
<t
|
||||
t-foreach="_getReviewData()"
|
||||
t-as="review"
|
||||
t-key="review.sequence"
|
||||
>
|
||||
<t
|
||||
t-if="review.status == 'waiting'"
|
||||
t-set="status_class"
|
||||
t-value="'text-muted'"
|
||||
/>
|
||||
<t
|
||||
t-if="review.status == 'pending'"
|
||||
t-set="status_class"
|
||||
t-value=""
|
||||
/>
|
||||
<t
|
||||
t-if="review.status == 'approved'"
|
||||
t-set="status_class"
|
||||
t-value="'alert alert-success'"
|
||||
/>
|
||||
<t
|
||||
t-if="review.status == 'rejected'"
|
||||
t-set="status_class"
|
||||
t-value="'alert alert-danger'"
|
||||
/>
|
||||
<tr t-att-class="status_class">
|
||||
<td name="td_sequence" class="text-center">
|
||||
<span t-out="review.sequence" />
|
||||
</td>
|
||||
<td name="td_requested_by" class="text-start">
|
||||
<span t-out="review.requested_by[1]" />
|
||||
</td>
|
||||
<td name="td_name" class="text-end">
|
||||
<span t-out="review.name" />
|
||||
</td>
|
||||
<td name="td_display_status" class="text-end">
|
||||
<span t-out="review.display_status" />
|
||||
</td>
|
||||
<td name="td_todo_by" class="text-end">
|
||||
<span t-out="review.todo_by" />
|
||||
</td>
|
||||
<td name="td_done_by" class="text-end">
|
||||
<span t-out="review.done_by[1]" />
|
||||
</td>
|
||||
<td name="td_reviewed_date" class="text-end">
|
||||
<t t-if="review.reviewed_formated_date">
|
||||
<span
|
||||
t-out="review.reviewed_formated_date"
|
||||
/>
|
||||
</t>
|
||||
</td>
|
||||
<td name="td_comment" class="text-start">
|
||||
<t t-if="review.comment">
|
||||
<span t-out="review.comment" />
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
@ -0,0 +1,33 @@
|
||||
import {reactive} from "@odoo/owl";
|
||||
import {registry} from "@web/core/registry";
|
||||
|
||||
export class TierReviewService {
|
||||
constructor(env, services) {
|
||||
this.env = env;
|
||||
this.store = services["mail.store"];
|
||||
this.busService = services.bus_service;
|
||||
}
|
||||
setup() {
|
||||
this.busService.subscribe("base.tier.validation/updated", (payload) => {
|
||||
if (payload.review_created) {
|
||||
this.store.tierReviewCounter++;
|
||||
}
|
||||
if (payload.review_deleted) {
|
||||
this.store.tierReviewCounter--;
|
||||
}
|
||||
});
|
||||
this.busService.start();
|
||||
}
|
||||
}
|
||||
|
||||
export const tierReviewService = {
|
||||
dependencies: ["bus_service", "mail.store"],
|
||||
|
||||
start(env, services) {
|
||||
const tier_review_service = reactive(new TierReviewService(env, services));
|
||||
tier_review_service.setup();
|
||||
return tier_review_service;
|
||||
},
|
||||
};
|
||||
|
||||
registry.category("services").add("tierReviewService", tierReviewService);
|
||||
97
base_tier_validation/templates/tier_validation_templates.xml
Normal file
97
base_tier_validation/templates/tier_validation_templates.xml
Normal file
@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<template id="tier_validation_buttons">
|
||||
<div>
|
||||
<field name="validation_status" invisible="1" />
|
||||
<button
|
||||
name="request_validation"
|
||||
string="Request Validation"
|
||||
t-attf-invisible="not need_validation or validation_status == 'rejected' or hide_reviews"
|
||||
type="object"
|
||||
/>
|
||||
<button
|
||||
name="restart_validation"
|
||||
string="Restart Validation"
|
||||
invisible="not review_ids or hide_reviews"
|
||||
type="object"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template id="tier_validation_label">
|
||||
<div>
|
||||
<div
|
||||
class="alert alert-warning mb-0"
|
||||
role="alert"
|
||||
t-attf-invisible="validation_status == 'validated' or hide_reviews or validation_status == 'rejected' or not review_ids"
|
||||
>
|
||||
<p class="mb-1">
|
||||
<i class="fa fa-lg fa-info-circle" />
|
||||
This Record needs to be
|
||||
validated.
|
||||
<button
|
||||
name="validate_tier"
|
||||
string="Validate"
|
||||
invisible="not can_review"
|
||||
type="object"
|
||||
class="btn-icon me-1 btn-success"
|
||||
icon="fa-thumbs-up"
|
||||
/>
|
||||
<button
|
||||
name="reject_tier"
|
||||
string="Reject"
|
||||
invisible="not can_review"
|
||||
type="object"
|
||||
class="btn-icon btn-danger"
|
||||
icon="fa-thumbs-down"
|
||||
/>
|
||||
<br /><field name="next_review" readonly="1" />
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
class="alert alert-success mb-0"
|
||||
role="alert"
|
||||
t-attf-invisible="validation_status != 'validated' or hide_reviews or not review_ids"
|
||||
>
|
||||
<p class="mb-1">
|
||||
<i class="fa fa-lg fa-thumbs-up" />
|
||||
Operation has been
|
||||
<b>validated</b>
|
||||
!
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
class="alert alert-danger mb-0"
|
||||
role="alert"
|
||||
t-attf-invisible="validation_status != 'rejected' or hide_reviews or not review_ids"
|
||||
>
|
||||
<p class="mb-1">
|
||||
<i class="fa fa-lg fa-thumbs-down" />
|
||||
Operation has been
|
||||
<b>rejected</b>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template id="tier_validation_reviews">
|
||||
<field
|
||||
name="review_ids"
|
||||
widget="tier_validation"
|
||||
invisible="not review_ids"
|
||||
class="w-100 mt-1"
|
||||
>
|
||||
<list>
|
||||
<field name="name" />
|
||||
<field name="sequence" />
|
||||
<field name="requested_by" />
|
||||
<field name="status" />
|
||||
<field name="display_status" />
|
||||
<field name="todo_by" />
|
||||
<field name="done_by" />
|
||||
<field name="reviewed_date" />
|
||||
<field name="reviewed_formated_date" />
|
||||
<field name="comment" />
|
||||
</list>
|
||||
</field>
|
||||
</template>
|
||||
</odoo>
|
||||
5
base_tier_validation/tests/__init__.py
Normal file
5
base_tier_validation/tests/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import test_tier_validation
|
||||
from . import test_tier_validation_reminder
|
||||
from . import test_tier
|
||||
217
base_tier_validation/tests/common.py
Normal file
217
base_tier_validation/tests/common.py
Normal file
@ -0,0 +1,217 @@
|
||||
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||
|
||||
from odoo_test_helper import FakeModelLoader
|
||||
|
||||
from odoo import Command
|
||||
from odoo.tests import new_test_user
|
||||
|
||||
from odoo.addons.base.tests.common import BaseCommon
|
||||
|
||||
|
||||
class CommonTierValidation(BaseCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.loader = FakeModelLoader(cls.env, cls.__module__)
|
||||
cls.loader.backup_registry()
|
||||
from .tier_validation_tester import (
|
||||
TierDefinition,
|
||||
TierValidationTester,
|
||||
TierValidationTester2,
|
||||
TierValidationTesterComputed,
|
||||
)
|
||||
|
||||
cls.loader.update_registry(
|
||||
(
|
||||
TierValidationTester,
|
||||
TierValidationTester2,
|
||||
TierValidationTesterComputed,
|
||||
TierDefinition,
|
||||
)
|
||||
)
|
||||
|
||||
cls.test_model = cls.env[TierValidationTester._name]
|
||||
cls.test_model_2 = cls.env[TierValidationTester2._name]
|
||||
cls.test_model_computed = cls.env[TierValidationTesterComputed._name]
|
||||
|
||||
cls.tester_model = cls.env["ir.model"].search(
|
||||
[("model", "=", "tier.validation.tester")]
|
||||
)
|
||||
cls.tester_model_2 = cls.env["ir.model"].search(
|
||||
[("model", "=", "tier.validation.tester2")]
|
||||
)
|
||||
cls.tester_model_computed = cls.env["ir.model"].search(
|
||||
[("model", "=", "tier.validation.tester.computed")]
|
||||
)
|
||||
# Create a multi-company
|
||||
cls.main_company = cls.env.ref("base.main_company")
|
||||
cls.other_company = cls.env["res.company"].create({"name": "My Company"})
|
||||
|
||||
models = (
|
||||
cls.tester_model,
|
||||
cls.tester_model_2,
|
||||
cls.tester_model_computed,
|
||||
)
|
||||
for model in models:
|
||||
# Access record:
|
||||
cls.env["ir.model.access"].create(
|
||||
{
|
||||
"name": f"access {model.name}",
|
||||
"model_id": model.id,
|
||||
"perm_read": 1,
|
||||
"perm_write": 1,
|
||||
"perm_create": 1,
|
||||
"perm_unlink": 1,
|
||||
}
|
||||
)
|
||||
|
||||
# Define views to avoid automatic views with all fields.
|
||||
cls.env["ir.ui.view"].create(
|
||||
{
|
||||
"model": model.model,
|
||||
"name": f"Demo view for {model}",
|
||||
"arch": """<form>
|
||||
<header>
|
||||
<button name="action_confirm" type="object" string="Confirm" />
|
||||
<field name="state" widget="statusbar" />
|
||||
</header>
|
||||
<sheet>
|
||||
<field name="test_field" />
|
||||
</sheet>
|
||||
</form>""",
|
||||
}
|
||||
)
|
||||
|
||||
# Create users:
|
||||
cls.test_user_1 = new_test_user(
|
||||
cls.env, name="John", login="test1", groups="base.group_system"
|
||||
)
|
||||
cls.test_user_2 = new_test_user(cls.env, name="Mike", login="test2")
|
||||
cls.test_user_3_multi_company = new_test_user(
|
||||
cls.env,
|
||||
name="Jane",
|
||||
login="test3",
|
||||
company_ids=[Command.set([cls.main_company.id, cls.other_company.id])],
|
||||
)
|
||||
# Create groups
|
||||
cls.test_group = cls.env["res.groups"].create(
|
||||
{
|
||||
"name": "TestGroup",
|
||||
"users": [(4, cls.test_user_1.id), (4, cls.test_user_2.id)],
|
||||
}
|
||||
)
|
||||
# Create tier definitions:
|
||||
cls.tier_def_obj = cls.env["tier.definition"]
|
||||
cls.tier_definition = cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_1.id,
|
||||
"definition_domain": "[('test_field', '=', 1.0)]",
|
||||
"sequence": 30,
|
||||
}
|
||||
)
|
||||
|
||||
cls.test_record = cls.test_model.create({"test_field": 1.0})
|
||||
cls.test_record_2 = cls.test_model_2.create({"test_field": 1.0})
|
||||
cls.test_record_computed = cls.test_model_computed.create({"test_field": 1.0})
|
||||
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_1.id,
|
||||
"definition_domain": "[('test_field', '>', 3.0)]",
|
||||
"approve_sequence": True,
|
||||
"notify_on_pending": False,
|
||||
"sequence": 20,
|
||||
"name": "Definition for test 19 - sequence - user 1",
|
||||
}
|
||||
)
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_2.id,
|
||||
"definition_domain": "[('test_field', '>', 3.0)]",
|
||||
"approve_sequence": True,
|
||||
"notify_on_pending": True,
|
||||
"sequence": 10,
|
||||
"name": "Definition for test 19 - sequence - user 2",
|
||||
}
|
||||
)
|
||||
# Create definition for test 20
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_1.id,
|
||||
"definition_domain": "[('test_field', '=', 0.9)]",
|
||||
"approve_sequence": False,
|
||||
"notify_on_pending": True,
|
||||
"sequence": 10,
|
||||
"name": "Definition for test 20 - no sequence - user 1 - no sequence",
|
||||
}
|
||||
)
|
||||
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model_computed.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_1.id,
|
||||
"definition_domain": "[]",
|
||||
"approve_sequence": True,
|
||||
"notify_on_pending": False,
|
||||
"sequence": 20,
|
||||
"name": "Definition for computed model",
|
||||
}
|
||||
)
|
||||
|
||||
# Create definition for test 30, 31
|
||||
# Main company tier definition
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model_2.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_1.id,
|
||||
"definition_domain": "[('test_field', '>=', 1.0)]",
|
||||
"approve_sequence": True,
|
||||
"notify_on_pending": False,
|
||||
"sequence": 30,
|
||||
"name": "Definition for test 30 - sequence - user 1 - main company",
|
||||
"company_id": cls.main_company.id,
|
||||
}
|
||||
)
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model_2.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_3_multi_company.id,
|
||||
"definition_domain": "[('test_field', '>=', 1.0)]",
|
||||
"approve_sequence": True,
|
||||
"notify_on_pending": False,
|
||||
"sequence": 20,
|
||||
"name": "Definition for test 30 - sequence - user 3 - main company",
|
||||
"company_id": cls.main_company.id,
|
||||
}
|
||||
)
|
||||
# Other company tier definition
|
||||
cls.tier_def_obj.create(
|
||||
{
|
||||
"model_id": cls.tester_model_2.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": cls.test_user_3_multi_company.id,
|
||||
"definition_domain": "[('test_field', '>=', 1.0)]",
|
||||
"approve_sequence": True,
|
||||
"notify_on_pending": False,
|
||||
"sequence": 30,
|
||||
"name": "Definition for test 30 - sequence - user 3 - other company",
|
||||
"company_id": cls.other_company.id,
|
||||
}
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.loader.restore_registry()
|
||||
super().tearDownClass()
|
||||
193
base_tier_validation/tests/test_tier.py
Normal file
193
base_tier_validation/tests/test_tier.py
Normal file
@ -0,0 +1,193 @@
|
||||
# Copyright 2024 DOB
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
||||
|
||||
from odoo_test_helper import FakeModelLoader
|
||||
|
||||
from odoo.tests import new_test_user
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
from .tier_validation_tester import (
|
||||
TierDefinition,
|
||||
TierValidationTester,
|
||||
)
|
||||
|
||||
|
||||
class TestTierDefinition(TransactionCase):
|
||||
"""Tests for base_tier_validation: TierDefinition creation and workflow.
|
||||
|
||||
Validates: Requirements 8.1, 8.2, 8.3, 8.4
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.loader = FakeModelLoader(cls.env, cls.__module__)
|
||||
cls.loader.backup_registry()
|
||||
cls.loader.update_registry((TierValidationTester, TierDefinition))
|
||||
|
||||
cls.test_model = cls.env[TierValidationTester._name]
|
||||
cls.tester_model = cls.env["ir.model"].search(
|
||||
[("model", "=", TierValidationTester._name)]
|
||||
)
|
||||
|
||||
# Grant access to the fake model
|
||||
cls.env["ir.model.access"].create(
|
||||
{
|
||||
"name": "access tier.validation.tester",
|
||||
"model_id": cls.tester_model.id,
|
||||
"perm_read": 1,
|
||||
"perm_write": 1,
|
||||
"perm_create": 1,
|
||||
"perm_unlink": 1,
|
||||
}
|
||||
)
|
||||
|
||||
# Minimal form view to avoid auto-view issues
|
||||
cls.env["ir.ui.view"].create(
|
||||
{
|
||||
"model": TierValidationTester._name,
|
||||
"name": "test_tier_tester_form",
|
||||
"arch": """<form>
|
||||
<header>
|
||||
<button name="action_confirm" type="object" string="Confirm" />
|
||||
<field name="state" widget="statusbar" />
|
||||
</header>
|
||||
<sheet>
|
||||
<field name="test_field" />
|
||||
</sheet>
|
||||
</form>""",
|
||||
}
|
||||
)
|
||||
|
||||
# Users: reviewer (admin) and requester (regular)
|
||||
cls.reviewer = new_test_user(
|
||||
cls.env,
|
||||
name="Reviewer",
|
||||
login="tier_reviewer",
|
||||
groups="base.group_system",
|
||||
)
|
||||
cls.requester = new_test_user(
|
||||
cls.env,
|
||||
name="Requester",
|
||||
login="tier_requester",
|
||||
)
|
||||
|
||||
cls.tier_def_obj = cls.env["tier.definition"]
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.loader.restore_registry()
|
||||
super().tearDownClass()
|
||||
|
||||
def test_01_create_tier_definition(self):
|
||||
"""WHEN a TierDefinition is created for a model with approval levels,
|
||||
base_tier_validation SHALL create the record without errors.
|
||||
|
||||
Validates: Requirement 8.1
|
||||
"""
|
||||
tier_def = self.tier_def_obj.create(
|
||||
{
|
||||
"model_id": self.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": self.reviewer.id,
|
||||
"definition_domain": "[]",
|
||||
"sequence": 10,
|
||||
}
|
||||
)
|
||||
self.assertTrue(tier_def.id, "TierDefinition should be created without errors")
|
||||
self.assertEqual(tier_def.model_id, self.tester_model)
|
||||
self.assertEqual(tier_def.reviewer_id, self.reviewer)
|
||||
|
||||
def test_02_request_validation_creates_tier_reviews(self):
|
||||
"""WHEN a document is submitted for approval,
|
||||
base_tier_validation SHALL create TierReview records for each level.
|
||||
|
||||
Validates: Requirement 8.2
|
||||
"""
|
||||
# Create two tier definitions (two approval levels)
|
||||
self.tier_def_obj.create(
|
||||
{
|
||||
"model_id": self.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": self.reviewer.id,
|
||||
"definition_domain": "[('test_field', '>', 0.0)]",
|
||||
"sequence": 10,
|
||||
}
|
||||
)
|
||||
self.tier_def_obj.create(
|
||||
{
|
||||
"model_id": self.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": self.reviewer.id,
|
||||
"definition_domain": "[('test_field', '>', 0.0)]",
|
||||
"sequence": 20,
|
||||
}
|
||||
)
|
||||
|
||||
record = self.test_model.create({"test_field": 1.0})
|
||||
self.assertFalse(record.review_ids, "No reviews before request")
|
||||
|
||||
reviews = record.with_user(self.requester).request_validation()
|
||||
|
||||
self.assertTrue(reviews, "Reviews should be created after request_validation")
|
||||
self.assertEqual(
|
||||
len(reviews),
|
||||
2,
|
||||
"One TierReview should be created per approval level",
|
||||
)
|
||||
|
||||
def test_03_approve_all_tiers_sets_validated_status(self):
|
||||
"""WHEN all approval levels are approved,
|
||||
base_tier_validation SHALL set the document validation_status to 'validated'.
|
||||
|
||||
Validates: Requirement 8.3
|
||||
"""
|
||||
self.tier_def_obj.create(
|
||||
{
|
||||
"model_id": self.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": self.reviewer.id,
|
||||
"definition_domain": "[('test_field', '>', 0.0)]",
|
||||
"sequence": 10,
|
||||
}
|
||||
)
|
||||
|
||||
record = self.test_model.create({"test_field": 1.0})
|
||||
record.with_user(self.requester).request_validation()
|
||||
|
||||
record_as_reviewer = record.with_user(self.reviewer)
|
||||
record_as_reviewer.validate_tier()
|
||||
|
||||
self.assertEqual(
|
||||
record.validation_status,
|
||||
"validated",
|
||||
"validation_status should be 'validated' after all tiers approved",
|
||||
)
|
||||
|
||||
def test_04_reject_tier_sets_rejected_status(self):
|
||||
"""IF one approval level is rejected,
|
||||
base_tier_validation SHALL set the document validation_status to 'rejected'.
|
||||
|
||||
Validates: Requirement 8.4
|
||||
"""
|
||||
self.tier_def_obj.create(
|
||||
{
|
||||
"model_id": self.tester_model.id,
|
||||
"review_type": "individual",
|
||||
"reviewer_id": self.reviewer.id,
|
||||
"definition_domain": "[('test_field', '>', 0.0)]",
|
||||
"sequence": 10,
|
||||
}
|
||||
)
|
||||
|
||||
record = self.test_model.create({"test_field": 1.0})
|
||||
record.with_user(self.requester).request_validation()
|
||||
|
||||
record_as_reviewer = record.with_user(self.reviewer)
|
||||
record_as_reviewer.reject_tier()
|
||||
|
||||
self.assertEqual(
|
||||
record.validation_status,
|
||||
"rejected",
|
||||
"validation_status should be 'rejected' after a tier is rejected",
|
||||
)
|
||||
1285
base_tier_validation/tests/test_tier_validation.py
Normal file
1285
base_tier_validation/tests/test_tier_validation.py
Normal file
File diff suppressed because it is too large
Load Diff
46
base_tier_validation/tests/test_tier_validation_reminder.py
Normal file
46
base_tier_validation/tests/test_tier_validation_reminder.py
Normal file
@ -0,0 +1,46 @@
|
||||
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from odoo import fields
|
||||
from odoo.tests.common import tagged
|
||||
|
||||
from .common import CommonTierValidation
|
||||
|
||||
|
||||
@tagged("post_install", "-at_install")
|
||||
class TierTierValidation(CommonTierValidation):
|
||||
def test_validation_reminder(self):
|
||||
"""Check the posting of reminder to reviews."""
|
||||
tier_definition = self.tier_definition
|
||||
tier_definition.notify_reminder_delay = 3
|
||||
|
||||
# Request a review today
|
||||
self.test_record.with_user(self.test_user_2.id).request_validation()
|
||||
review = self.env["tier.review"].search(
|
||||
[("definition_id", "=", tier_definition.id)]
|
||||
)
|
||||
self.assertTrue(review)
|
||||
self.assertEqual(review.last_reminder_date, False)
|
||||
|
||||
# 2 days later no reminder should be posted
|
||||
in_2_days = fields.Datetime.add(fields.Datetime.now(), days=2)
|
||||
with freeze_time(in_2_days):
|
||||
tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, False)
|
||||
# 4 days later first reminder
|
||||
in_4_days = fields.Datetime.add(fields.Datetime.now(), days=4)
|
||||
with freeze_time(in_4_days):
|
||||
self.tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, in_4_days)
|
||||
# 5 days later no new reminder
|
||||
in_6_days = fields.Datetime.add(fields.Datetime.now(), days=6)
|
||||
with freeze_time(in_6_days):
|
||||
self.tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, in_4_days)
|
||||
# 9 days later second reminder
|
||||
in_9_days = fields.Datetime.add(fields.Datetime.now(), days=9)
|
||||
with freeze_time(in_9_days):
|
||||
self.tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, in_9_days)
|
||||
118
base_tier_validation/tests/tier_validation_tester.py
Normal file
118
base_tier_validation/tests/tier_validation_tester.py
Normal file
@ -0,0 +1,118 @@
|
||||
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class TierValidationTester(models.Model):
|
||||
_name = "tier.validation.tester"
|
||||
_description = "Tier Validation Tester"
|
||||
_inherit = ["tier.validation", "mail.thread"]
|
||||
_tier_validation_manual_config = True
|
||||
|
||||
state = fields.Selection(
|
||||
selection=[
|
||||
("draft", "Draft"),
|
||||
("confirmed", "Confirmed"),
|
||||
("cancel", "Cancel"),
|
||||
],
|
||||
default="draft",
|
||||
)
|
||||
test_validation_field = fields.Integer(default=0)
|
||||
test_field = fields.Float()
|
||||
user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users")
|
||||
group_id = fields.Many2one("res.groups", string="Assigned to (group)")
|
||||
menu_id = fields.Many2one(
|
||||
"ir.ui.menu", help="For testing choosing a wrong field type"
|
||||
)
|
||||
|
||||
def action_confirm(self):
|
||||
self.write({"state": "confirmed"})
|
||||
|
||||
|
||||
class TierValidationTester2(models.Model):
|
||||
_name = "tier.validation.tester2"
|
||||
_description = "Tier Validation Tester 2"
|
||||
_inherit = ["tier.validation"]
|
||||
_tier_validation_manual_config = False
|
||||
|
||||
state = fields.Selection(
|
||||
selection=[
|
||||
("draft", "Draft"),
|
||||
("confirmed", "Confirmed"),
|
||||
("cancel", "Cancel"),
|
||||
],
|
||||
default="draft",
|
||||
)
|
||||
test_field = fields.Float()
|
||||
test_validation_field = fields.Float()
|
||||
user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users")
|
||||
company_id = fields.Many2one(comodel_name="res.company")
|
||||
|
||||
def action_confirm(self):
|
||||
self.write({"state": "confirmed"})
|
||||
|
||||
|
||||
class TierValidationTesterComputed(models.Model):
|
||||
_name = "tier.validation.tester.computed"
|
||||
_description = "Tier Validation Tester Computed"
|
||||
_inherit = ["tier.validation"]
|
||||
_tier_validation_manual_config = False
|
||||
_tier_validation_state_field_is_computed = True
|
||||
|
||||
confirmed = fields.Boolean()
|
||||
cancelled = fields.Boolean()
|
||||
state = fields.Selection(
|
||||
selection=[
|
||||
("draft", "Draft"),
|
||||
("confirmed", "Confirmed"),
|
||||
("cancel", "Cancel"),
|
||||
],
|
||||
compute="_compute_state",
|
||||
store=True,
|
||||
)
|
||||
test_field = fields.Float()
|
||||
test_validation_field = fields.Float()
|
||||
user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users")
|
||||
|
||||
@api.model
|
||||
def _get_after_validation_exceptions(self):
|
||||
return super()._get_after_validation_exceptions() + [
|
||||
"confirmed",
|
||||
"cancelled",
|
||||
]
|
||||
|
||||
@api.model
|
||||
def _get_under_validation_exceptions(self):
|
||||
return super()._get_under_validation_exceptions() + [
|
||||
"confirmed",
|
||||
"cancelled",
|
||||
]
|
||||
|
||||
@api.depends("confirmed", "cancelled")
|
||||
def _compute_state(self):
|
||||
for rec in self:
|
||||
if rec.cancelled:
|
||||
rec.state = "cancel"
|
||||
elif rec.confirmed:
|
||||
rec.state = "confirmed"
|
||||
else:
|
||||
rec.state = "draft"
|
||||
|
||||
def action_confirm(self):
|
||||
self.write({"confirmed": True})
|
||||
|
||||
def action_cancel(self):
|
||||
self.write({"cancelled": True})
|
||||
|
||||
|
||||
class TierDefinition(models.Model):
|
||||
_inherit = "tier.definition"
|
||||
|
||||
@api.model
|
||||
def _get_tier_validation_model_names(self):
|
||||
res = super()._get_tier_validation_model_names()
|
||||
res.append("tier.validation.tester")
|
||||
res.append("tier.validation.tester2")
|
||||
res.append("tier.validation.tester.computed")
|
||||
return res
|
||||
54
base_tier_validation/views/res_config_settings_views.xml
Normal file
54
base_tier_validation/views/res_config_settings_views.xml
Normal file
@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<!-- Uncomment me when related modules are migrated-->
|
||||
|
||||
<record id="res_config_settings_view_form_budget" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.budget</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="priority" eval="25" />
|
||||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@id='companies']" position="after">
|
||||
<div id="base_tier_validation">
|
||||
<block
|
||||
title="Tier Validation"
|
||||
name="base_tier_validation_option_setting_container"
|
||||
>
|
||||
<setting id="module_base_tier_validation_formula">
|
||||
<field name="module_base_tier_validation_formula" />
|
||||
<div class="text-muted">
|
||||
Option to use python formula to get reviewers and find documents
|
||||
</div>
|
||||
</setting>
|
||||
<!-- <setting
|
||||
id="module_base_tier_validation_server_action"
|
||||
>
|
||||
<field
|
||||
name="module_base_tier_validation_server_action"
|
||||
/>
|
||||
<div class="text-muted">
|
||||
Option to trigger server actions on completion of tier reviews
|
||||
</div>
|
||||
</setting> -->
|
||||
<!-- <setting
|
||||
id="module_base_tier_validation_forward"
|
||||
>
|
||||
<field name="module_base_tier_validation_forward"/>
|
||||
<div class="text-muted">
|
||||
Option to forward a tier validation to other reviewer, and backward
|
||||
</div>
|
||||
</setting> -->
|
||||
<!-- <setting
|
||||
id="module_base_tier_validation_report"
|
||||
>
|
||||
<field name="module_base_tier_validation_report" />
|
||||
<div class="text-muted">
|
||||
More reports about tier validations, i.e., summary of all my reviews
|
||||
</div>
|
||||
</setting> -->
|
||||
</block>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
162
base_tier_validation/views/tier_definition_view.xml
Normal file
162
base_tier_validation/views/tier_definition_view.xml
Normal file
@ -0,0 +1,162 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2017-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="tier_definition_view_tree" model="ir.ui.view">
|
||||
<field name="name">tier.definition.list</field>
|
||||
<field name="model">tier.definition</field>
|
||||
<field name="arch" type="xml">
|
||||
<list>
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="model_id" />
|
||||
<field name="name" />
|
||||
<field name="review_type" />
|
||||
<field name="reviewer_id" />
|
||||
<field name="reviewer_group_id" />
|
||||
<field name="reviewer_field_id" />
|
||||
<field name="notify_on_create" optional="show" />
|
||||
<field name="notify_on_pending" optional="show" />
|
||||
<field name="has_comment" optional="hide" />
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
optional="hide"
|
||||
/>
|
||||
<field name="active" />
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="tier_definition_view_form" model="ir.ui.view">
|
||||
<field name="name">tier.definition.form</field>
|
||||
<field name="model">tier.definition</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Tier Definition">
|
||||
<sheet>
|
||||
<div class="o_form_label" name="button_box" />
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Archived"
|
||||
bg_color="bg-danger"
|
||||
invisible="active"
|
||||
/>
|
||||
<div class="oe_title">
|
||||
<span class="oe_edit_only">Name</span>
|
||||
<h1>
|
||||
<field
|
||||
name="name"
|
||||
required="1"
|
||||
placeholder="e.g. Tier Validation for..."
|
||||
/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group name="left">
|
||||
<field name="model_id" options="{'no_create': True}" />
|
||||
<field name="model" invisible="1" />
|
||||
<field name="review_type" />
|
||||
<field name="allow_write_for_reviewer" />
|
||||
<field
|
||||
name="reviewer_id"
|
||||
invisible="review_type != 'individual'"
|
||||
/>
|
||||
<field
|
||||
name="reviewer_group_id"
|
||||
invisible="review_type != 'group'"
|
||||
/>
|
||||
<field
|
||||
name="reviewer_field_id"
|
||||
invisible="review_type != 'field'"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
</group>
|
||||
<group name="right">
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field name="sequence" />
|
||||
<field name="approve_sequence" />
|
||||
<label
|
||||
for="approve_sequence_bypass"
|
||||
class="o_form_label"
|
||||
invisible="not approve_sequence"
|
||||
/>
|
||||
<div
|
||||
name="approve_sequence_bypass_div"
|
||||
class="o_wrap_field d-flex d-sm-contents flex-column mb-3 mb-sm-0"
|
||||
invisible="not approve_sequence"
|
||||
>
|
||||
<field name="approve_sequence_bypass" />
|
||||
<span
|
||||
>Bypass, if previous tier was validated by same reviewer</span>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="apply" string="Apply On">
|
||||
<group name="bottom">
|
||||
<field name="definition_type" />
|
||||
<field
|
||||
name="definition_domain"
|
||||
widget="domain"
|
||||
options="{'model': 'model'}"
|
||||
invisible="definition_type != 'domain'"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
<page name="options" string="More Options">
|
||||
<group name="more_option">
|
||||
<group name="notify">
|
||||
<field name="notify_on_create" />
|
||||
<field name="notify_on_pending" />
|
||||
<field name="notify_on_accepted" />
|
||||
<field name="notify_on_rejected" />
|
||||
<field name="notify_on_restarted" />
|
||||
<field name="has_comment" />
|
||||
<field name="notify_reminder_delay" />
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="tier_definition_view_search" model="ir.ui.view">
|
||||
<field name="name">tier.definition.search</field>
|
||||
<field name="model">tier.definition</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="name" />
|
||||
<field name="model_id" />
|
||||
<field name="reviewer_id" />
|
||||
<field name="reviewer_group_id" />
|
||||
<field name="active" />
|
||||
<separator />
|
||||
<filter string="All" name="all" domain="[('active', 'in', (False, True))]" />
|
||||
<group>
|
||||
<filter string="Model" name="model_id" domain="[]" context="{'group_by':'model_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="tier_definition_action" model="ir.actions.act_window">
|
||||
<field name="name">Tier Definition</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">tier.definition</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="context">{'search_default_all': 1}</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_tier_confirmation"
|
||||
name="Tier Validations"
|
||||
parent="base.menu_custom"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_tier_definition"
|
||||
parent="menu_tier_confirmation"
|
||||
action="tier_definition_action"
|
||||
sequence="10"
|
||||
/>
|
||||
</odoo>
|
||||
25
base_tier_validation/views/tier_review_view.xml
Normal file
25
base_tier_validation/views/tier_review_view.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2017-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="tier_review_view_tree" model="ir.ui.view">
|
||||
<field name="name">tier.review.list</field>
|
||||
<field name="model">tier.review</field>
|
||||
<field name="arch" type="xml">
|
||||
<list
|
||||
decoration-danger="status=='rejected'"
|
||||
decoration-success="status=='approved'"
|
||||
>
|
||||
<field name="sequence" />
|
||||
<field name="requested_by" />
|
||||
<field name="review_type" />
|
||||
<field name="name" />
|
||||
<field name="status" />
|
||||
<field name="todo_by" />
|
||||
<field name="done_by" />
|
||||
<field name="reviewed_date" />
|
||||
<field name="comment" />
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
123
base_tier_validation/views/tier_validation_exception_view.xml
Normal file
123
base_tier_validation/views/tier_validation_exception_view.xml
Normal file
@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2024 Moduon Team (https://www.moduon.team)
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="tier_validation_exception_tree" model="ir.ui.view">
|
||||
<field name="name">tier.validation.exception.list</field>
|
||||
<field name="model">tier.validation.exception</field>
|
||||
<field name="arch" type="xml">
|
||||
<list>
|
||||
<field name="name" />
|
||||
<field name="model_id" />
|
||||
<field name="field_ids" widget="many2many_tags" optional="show" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
<field name="allowed_to_write_under_validation" />
|
||||
<field name="allowed_to_write_after_validation" />
|
||||
<field name="group_ids" widget="many2many_tags" />
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="tier_validation_exception_form" model="ir.ui.view">
|
||||
<field name="name">tier.validation.exception.form</field>
|
||||
<field name="model">tier.validation.exception</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Tier Validation Exception">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name" />
|
||||
<h1>
|
||||
<field name="name" nolabel="1" />
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group name="left">
|
||||
<field
|
||||
name="model_id"
|
||||
options="{'no_create': True, 'no_open': True}"
|
||||
/>
|
||||
<field
|
||||
name="field_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
/>
|
||||
</group>
|
||||
<group name="right">
|
||||
<field name="group_ids" widget="many2many_tags" />
|
||||
<field name="allowed_to_write_under_validation" />
|
||||
<field name="allowed_to_write_after_validation" />
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="tier_validation_exception_search" model="ir.ui.view">
|
||||
<field name="name">tier.validation.exception.search</field>
|
||||
<field name="model">tier.validation.exception</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="name" />
|
||||
<field name="model_id" />
|
||||
<field name="field_ids" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
<field name="group_ids" />
|
||||
<separator />
|
||||
<filter
|
||||
string="Write under validation"
|
||||
name="flt_allowed_to_write_under_validation_true"
|
||||
domain="[('allowed_to_write_under_validation', '=', True)]"
|
||||
/>
|
||||
<filter
|
||||
string="Write after validation"
|
||||
name="flt_allowed_to_write_after_validation_true"
|
||||
domain="[('allowed_to_write_after_validation', '=', True)]"
|
||||
/>
|
||||
<group>
|
||||
<filter
|
||||
string="Model"
|
||||
name="grp_model"
|
||||
domain="[]"
|
||||
context="{'group_by': 'model_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Company"
|
||||
name="grp_company"
|
||||
domain="[]"
|
||||
context="{'group_by': 'company_id'}"
|
||||
/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="tier_validation_exception_action" model="ir.actions.act_window">
|
||||
<field name="name">Tier Validation Exception</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">tier.validation.exception</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="help" type="html">
|
||||
<p
|
||||
class="o_view_nocontent_smiling_face"
|
||||
>Create a new Validation Exception!</p>
|
||||
<p
|
||||
>Once created, you can decide which fields you want to be editable when the record:</p>
|
||||
<ul>
|
||||
<li>It's in the validation process</li>
|
||||
<li>It's fully validated</li>
|
||||
</ul>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_tier_validation_exception"
|
||||
parent="menu_tier_confirmation"
|
||||
action="tier_validation_exception_action"
|
||||
sequence="20"
|
||||
/>
|
||||
</odoo>
|
||||
3
base_tier_validation/wizard/__init__.py
Normal file
3
base_tier_validation/wizard/__init__.py
Normal file
@ -0,0 +1,3 @@
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import comment_wizard
|
||||
25
base_tier_validation/wizard/comment_wizard.py
Normal file
25
base_tier_validation/wizard/comment_wizard.py
Normal file
@ -0,0 +1,25 @@
|
||||
# Copyright 2019 Ecosoft Co., Ltd. (http://ecosoft.co.th)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class CommentWizard(models.TransientModel):
|
||||
_name = "comment.wizard"
|
||||
_description = "Comment Wizard"
|
||||
|
||||
validate_reject = fields.Char()
|
||||
res_model = fields.Char()
|
||||
res_id = fields.Integer()
|
||||
review_ids = fields.Many2many(comodel_name="tier.review")
|
||||
comment = fields.Char(required=True)
|
||||
|
||||
def add_comment(self):
|
||||
self.ensure_one()
|
||||
rec = self.env[self.res_model].browse(self.res_id)
|
||||
self.review_ids.write({"comment": self.comment})
|
||||
if self.validate_reject == "validate":
|
||||
rec._validate_tier(self.review_ids)
|
||||
if self.validate_reject == "reject":
|
||||
rec._rejected_tier(self.review_ids)
|
||||
rec._update_counter({"review_deleted": True})
|
||||
26
base_tier_validation/wizard/comment_wizard_view.xml
Normal file
26
base_tier_validation/wizard/comment_wizard_view.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2019 Ecosoft Co., Ltd. (http://ecosoft.co.th)
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record id="view_comment_wizard" model="ir.ui.view">
|
||||
<field name="name">Comment Wizard</field>
|
||||
<field name="model">comment.wizard</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Comment">
|
||||
<group>
|
||||
<field colspan="2" name="comment" nolabel="1" />
|
||||
</group>
|
||||
<footer>
|
||||
<button
|
||||
name="add_comment"
|
||||
string="Comment"
|
||||
type="object"
|
||||
class="oe_highlight"
|
||||
/>
|
||||
<button special="cancel" string="Cancel" class="oe_link" />
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user