From fca5e0f8293c2e7c6bc8a6df60e03ce3b56e0baf Mon Sep 17 00:00:00 2001 From: Yves Goldberg Date: Fri, 29 Mar 2019 17:06:57 +0100 Subject: [PATCH 01/86] [ADD] agreement_legal migration --- agreement_legal/README.rst | 136 ++ agreement_legal/__init__.py | 4 + agreement_legal/__manifest__.py | 41 + agreement_legal/data/agreement_stage.xml | 49 + agreement_legal/data/agreement_type.xml | 16 + agreement_legal/data/ir_sequence.xml | 13 + agreement_legal/data/module_category.xml | 9 + agreement_legal/i18n/agreement_legal.pot | 1516 ++++++++++++++ agreement_legal/i18n/fr.po | 1800 +++++++++++++++++ agreement_legal/models/__init__.py | 18 + agreement_legal/models/agreement.py | 461 +++++ agreement_legal/models/agreement_appendix.py | 101 + agreement_legal/models/agreement_clause.py | 103 + .../models/agreement_increasetype.py | 27 + agreement_legal/models/agreement_line.py | 30 + agreement_legal/models/agreement_recital.py | 99 + .../models/agreement_renewaltype.py | 23 + agreement_legal/models/agreement_section.py | 102 + agreement_legal/models/agreement_stage.py | 28 + agreement_legal/models/agreement_status.py | 12 + agreement_legal/models/agreement_subtype.py | 14 + agreement_legal/models/agreement_type.py | 16 + agreement_legal/models/product_template.py | 12 + agreement_legal/models/res_config_settings.py | 38 + agreement_legal/models/res_partner.py | 13 + agreement_legal/readme/CONFIGURE.rst | 6 + agreement_legal/readme/CONTRIBUTORS.rst | 6 + agreement_legal/readme/CREDITS.rst | 5 + agreement_legal/readme/DESCRIPTION.rst | 9 + agreement_legal/readme/ROADMAP.rst | 3 + agreement_legal/readme/USAGE.rst | 7 + agreement_legal/report/agreement.xml | 151 ++ agreement_legal/security/ir.model.access.csv | 23 + agreement_legal/security/res_groups.xml | 22 + agreement_legal/static/description/icon.png | Bin 0 -> 6755 bytes agreement_legal/static/description/index.html | 476 +++++ agreement_legal/views/agreement.xml | 372 ++++ agreement_legal/views/agreement_appendix.xml | 95 + agreement_legal/views/agreement_clause.xml | 97 + .../views/agreement_increasetype.xml | 45 + agreement_legal/views/agreement_recital.xml | 94 + .../views/agreement_renewaltype.xml | 41 + agreement_legal/views/agreement_section.xml | 109 + agreement_legal/views/agreement_stages.xml | 43 + agreement_legal/views/agreement_subtype.xml | 45 + agreement_legal/views/agreement_type.xml | 45 + agreement_legal/views/menu.xml | 147 ++ agreement_legal/views/res_config_settings.xml | 161 ++ agreement_legal/views/res_partner.xml | 17 + 49 files changed, 6700 insertions(+) create mode 100644 agreement_legal/README.rst create mode 100644 agreement_legal/__init__.py create mode 100644 agreement_legal/__manifest__.py create mode 100644 agreement_legal/data/agreement_stage.xml create mode 100644 agreement_legal/data/agreement_type.xml create mode 100644 agreement_legal/data/ir_sequence.xml create mode 100644 agreement_legal/data/module_category.xml create mode 100644 agreement_legal/i18n/agreement_legal.pot create mode 100644 agreement_legal/i18n/fr.po create mode 100644 agreement_legal/models/__init__.py create mode 100644 agreement_legal/models/agreement.py create mode 100644 agreement_legal/models/agreement_appendix.py create mode 100644 agreement_legal/models/agreement_clause.py create mode 100644 agreement_legal/models/agreement_increasetype.py create mode 100644 agreement_legal/models/agreement_line.py create mode 100644 agreement_legal/models/agreement_recital.py create mode 100644 agreement_legal/models/agreement_renewaltype.py create mode 100644 agreement_legal/models/agreement_section.py create mode 100644 agreement_legal/models/agreement_stage.py create mode 100644 agreement_legal/models/agreement_status.py create mode 100644 agreement_legal/models/agreement_subtype.py create mode 100644 agreement_legal/models/agreement_type.py create mode 100644 agreement_legal/models/product_template.py create mode 100644 agreement_legal/models/res_config_settings.py create mode 100644 agreement_legal/models/res_partner.py create mode 100644 agreement_legal/readme/CONFIGURE.rst create mode 100644 agreement_legal/readme/CONTRIBUTORS.rst create mode 100644 agreement_legal/readme/CREDITS.rst create mode 100644 agreement_legal/readme/DESCRIPTION.rst create mode 100644 agreement_legal/readme/ROADMAP.rst create mode 100644 agreement_legal/readme/USAGE.rst create mode 100644 agreement_legal/report/agreement.xml create mode 100644 agreement_legal/security/ir.model.access.csv create mode 100644 agreement_legal/security/res_groups.xml create mode 100644 agreement_legal/static/description/icon.png create mode 100644 agreement_legal/static/description/index.html create mode 100644 agreement_legal/views/agreement.xml create mode 100644 agreement_legal/views/agreement_appendix.xml create mode 100644 agreement_legal/views/agreement_clause.xml create mode 100644 agreement_legal/views/agreement_increasetype.xml create mode 100644 agreement_legal/views/agreement_recital.xml create mode 100644 agreement_legal/views/agreement_renewaltype.xml create mode 100644 agreement_legal/views/agreement_section.xml create mode 100644 agreement_legal/views/agreement_stages.xml create mode 100644 agreement_legal/views/agreement_subtype.xml create mode 100644 agreement_legal/views/agreement_type.xml create mode 100644 agreement_legal/views/menu.xml create mode 100644 agreement_legal/views/res_config_settings.xml create mode 100644 agreement_legal/views/res_partner.xml diff --git a/agreement_legal/README.rst b/agreement_legal/README.rst new file mode 100644 index 000000000..430176782 --- /dev/null +++ b/agreement_legal/README.rst @@ -0,0 +1,136 @@ +================ +Agreements Legal +================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-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%2Fcontract-lightgray.png?logo=github + :target: https://github.com/OCA/contract/tree/12.0/agreement_legal + :alt: OCA/contract +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/contract-12-0/contract-12-0-agreement_legal + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/110/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows you to manage agreements, letter of intent and contract content. +The module is meant to be used by the legal team of a company and to allow them +to define sections, clauses and templates with their respective content that can +be dynamic. + +Based on the template, an agreement can be created and the pdf document generated. + +The agreement would go through a workflow to finally become a contract with the +customer signature. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module: + +* Go to Agreement > Configuration > Templates +* Create a new template with sections and clauses and their respective content +* Go to Agreement > Configuration > Stages +* Create and reorder stages to match your process + +Usage +===== + +To use this module: + +* Go to Agreement > Agreements +* Create a new agreement +* Select a template +* Follow the process to get the required approval +* Send the invitation to the customer to review and sign the agreement + +Known issues / Roadmap +====================== + +* Split the module to remove the dependencies on sale and account and provide + the same feature in extra modules (agreement_sale, agreement_account, + agreement_purchase) + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Pavlov Media +* Open Source Integrators +* Yves Goldberg (Ygol Internetwork) + +Contributors +~~~~~~~~~~~~ + +* Patrick Wilson +* Bhavesh Odedra +* Wolfgang Hall +* Maxime Chambreuil +* Sandip Mangukiya +* Yves Goldberg + +Other credits +~~~~~~~~~~~~~ + +The development of this module has been financially supported by: + +* Pavlov Media +* Open Source Integrators +* Yves Goldberg + +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-max3903| image:: https://github.com/max3903.png?size=40px + :target: https://github.com/max3903 + :alt: max3903 +.. |maintainer-ygol| image:: https://github.com/ygol.png?size=40px + :target: https://github.com/ygol + :alt: ygol + +Current `maintainers `__: + +|maintainer-max3903| |maintainer-ygol| + +This module is part of the `OCA/contract `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/agreement_legal/__init__.py b/agreement_legal/__init__.py new file mode 100644 index 000000000..073035d16 --- /dev/null +++ b/agreement_legal/__init__.py @@ -0,0 +1,4 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/agreement_legal/__manifest__.py b/agreement_legal/__manifest__.py new file mode 100644 index 000000000..d519218a2 --- /dev/null +++ b/agreement_legal/__manifest__.py @@ -0,0 +1,41 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Agreements Legal", + "summary": "Manage Agreements, LOI and Contracts", + "author": "Pavlov Media, " + "Open Source Integrators, " + "Yves Goldberg (Ygol Internetwork), " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/contract", + "category": "Partner", + "license": "AGPL-3", + "version": "12.0.1.0.0", + "depends": ["contacts", "agreement", "product"], + "data": [ + "data/ir_sequence.xml", + "data/module_category.xml", + "data/agreement_stage.xml", + "data/agreement_type.xml", + "security/res_groups.xml", + "security/ir.model.access.csv", + "report/agreement.xml", + "views/res_config_settings.xml", + "views/agreement_appendix.xml", + "views/agreement_clause.xml", + "views/agreement_recital.xml", + "views/agreement_section.xml", + "views/agreement_stages.xml", + "views/agreement_type.xml", + "views/agreement_subtype.xml", + "views/agreement_renewaltype.xml", + "views/agreement_increasetype.xml", + "views/res_partner.xml", + "views/agreement.xml", + "views/menu.xml", + ], + "application": True, + "development_status": "Beta", + "maintainers": ["max3903", "ygol"], +} diff --git a/agreement_legal/data/agreement_stage.xml b/agreement_legal/data/agreement_stage.xml new file mode 100644 index 000000000..cef2b25e6 --- /dev/null +++ b/agreement_legal/data/agreement_stage.xml @@ -0,0 +1,49 @@ + + + + + New + 10 + + + + Draft + 20 + + + + Reviewed + 30 + + + + Negotiation + 40 + + + + Out for Customer Signature + 50 + + + + Waiting Internal Signature + 60 + + + + Active + 70 + + + + Expired + 80 + + + + Cancelled + 100 + True + + diff --git a/agreement_legal/data/agreement_type.xml b/agreement_legal/data/agreement_type.xml new file mode 100644 index 000000000..4cdf67618 --- /dev/null +++ b/agreement_legal/data/agreement_type.xml @@ -0,0 +1,16 @@ + + + + + Agreement + + + + Contract + + + + Letter of Intent + + + diff --git a/agreement_legal/data/ir_sequence.xml b/agreement_legal/data/ir_sequence.xml new file mode 100644 index 000000000..d2104c559 --- /dev/null +++ b/agreement_legal/data/ir_sequence.xml @@ -0,0 +1,13 @@ + + + + + + Agreements + agreement + AG + 3 + + + + diff --git a/agreement_legal/data/module_category.xml b/agreement_legal/data/module_category.xml new file mode 100644 index 000000000..d3c2ee7a7 --- /dev/null +++ b/agreement_legal/data/module_category.xml @@ -0,0 +1,9 @@ + + + + + Agreement + 80 + + + diff --git a/agreement_legal/i18n/agreement_legal.pot b/agreement_legal/i18n/agreement_legal.pot new file mode 100644 index 000000000..cd6c8a010 --- /dev/null +++ b/agreement_legal/i18n/agreement_legal.pot @@ -0,0 +1,1516 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * agreement_legal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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: agreement_legal +#: selection:agreement,state:0 +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__active +msgid "Active" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Administration" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Advanced Features" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__agreement_id +#: model:ir.module.category,name:agreement_legal.agreement +#: model:ir.module.category,name:agreement_legal.module_agreement_legal_category +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_appendix +msgid "Agreement Appendices" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_clause_search_view +msgid "Agreement Clause Search" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_clause +msgid "Agreement Clauses" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_increasetype +#: model:ir.model,name:agreement_legal.model_agreement_increasetype +msgid "Agreement Increase Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_line +msgid "Agreement Lines" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Agreement Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_recital +msgid "Agreement Recitals" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_renewaltype +#: model:ir.model,name:agreement_legal.model_agreement_renewaltype +msgid "Agreement Renewal Type" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Agreement Search" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view +msgid "Agreement Section Search" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_section +#: model:ir.model,name:agreement_legal.model_agreement_section +msgid "Agreement Sections" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_stage +msgid "Agreement Stage" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_stage +msgid "Agreement Stages" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_subtype +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_form_view +msgid "Agreement Sub-Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__agreement_subtype_id +msgid "Agreement Sub-type" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_subtype +msgid "Agreement Subtypes" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__agreement_type_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__agreement_type_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_form_view +msgid "Agreement Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_type +#: model:ir.model,name:agreement_legal.model_agreement_type +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Agreement Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order +#: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement +#: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_product_product__agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_product_template__agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids +#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting +#: model:ir.ui.menu,name:agreement_legal.dashboard_agreements +#: model:ir.ui.menu,name:agreement_legal.operations_agreements +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Agreements" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Agreements Form" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view +msgid "Agreements Stage Form" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_increasetype_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_renewaltype_form_view +msgid "Agreements Type Form" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__special_terms +msgid "Any terms that you have agreed to and want to track on the agreement/contract." +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_appendix_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__appendix_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_appendices +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Appendices" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +msgid "Appendix" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__approved_user_id +msgid "Approved By" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__approved_date +msgid "Approved Date" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Approved by" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Archived" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__assigned_user_id +msgid "Assigned To" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "By:" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__change_notice +msgid "Change Notice (Days)" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__child_agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__previous_version_agreements_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Child Agreements" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +msgid "Clause" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__content +msgid "Clause Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_clause +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__clauses_ids +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__clauses_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_clauses +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Clauses" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__color +msgid "Color" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_partner_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Company" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_id +msgid "Company Contact" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Company Information" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_description +msgid "Compute dynamic description" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_special_terms +msgid "Compute dynamic special terms" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_configuration +msgid "Configuration" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_res_partner +msgid "Contact" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id +msgid "Contact on the account that signed the agreement/contract." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__content +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_data_contents +msgid "Contents" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.report,name:agreement_legal.partner_agreement_contract_document +msgid "Contract Document" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.report,name:agreement_legal.partner_agreement_contract_document_preview +msgid "Contract Document Preview" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Copy and paste the placeholder expression in the content" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Copy and paste the placeholder expression in the description or the special terms" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale +msgid "Create an agreement when the sale order is confirmed." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Create an agreement when the sales order is confirmed" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_uid +msgid "Created by" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_date +msgid "Created on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__currency_id +msgid "Currency" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_dashboard +msgid "Dashboard" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__termination_requested +msgid "Date that a request for termination was received." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__termination_date +msgid "Date that the contract was terminated." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_date +msgid "Date the contract was signed by Company." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_date +msgid "Date the contract was signed by the Partner." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Date:" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__default_value +msgid "Default Value" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__renewal_type_id +msgid "Describes what happens after the contract expires." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__description +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_increasetype_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_renewaltype_form_view +msgid "Description" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__description +msgid "Description of the agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__description +#: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__description +msgid "Description of the renewal type." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__display_name +msgid "Display Name" +msgstr "" + +#. module: agreement_legal +#: selection:agreement,state:0 +msgid "Draft" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__dynamic_content +msgid "Dynamic Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_description +msgid "Dynamic Description" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_special_terms +msgid "Dynamic Special Terms" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "Edit" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_email +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_email +msgid "Email" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__end_date +msgid "End Date" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Enter the default value if the field is empty" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__expiration_notice +msgid "Exp. Notice (Days)" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__field_id +msgid "Field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Field Service" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract_filename +msgid "Filename" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__copyvalue +msgid "Final placeholder expression, to be copy-pasted in the desired\n" +" template field." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "General" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Helpdesk" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__id +msgid "ID" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__code +msgid "ID used for internal contract tracking." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__active +msgid "If unchecked, it will allow you to hide the\n" +" agreement without removing it." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__active +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__active +msgid "If unchecked, it will allow you to hide the agreement without removing it." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__active +msgid "If unchecked, it will allow you to hide this appendix without removing it." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__active +msgid "If unchecked, it will allow you to hide this recital without removing it." +msgstr "" + +#. module: agreement_legal +#: selection:agreement,state:0 +msgid "Inactive" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__increase_percent +msgid "Increase Percentage" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__increase_type_id +msgid "Increase Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_increamenttypes +msgid "Increase Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__name +msgid "Increase types describe any increases that may happen during the contract." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Inventory" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__fold +msgid "Is Folded" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__is_template +msgid "Is a Template?" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type____last_update +msgid "Last Modified on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_date +msgid "Last Updated on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__parent_agreement_id +msgid "Link this agreement to a parent agreement. For example if this agreement is an amendment to another agreement. This list will only show other agreements related to the same account." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your Field Service orders and equipments to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_fieldservice_agreement +msgid "Link your Field Service orders and equipments to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your Helpdesk tickets to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_helpdesk_agreement +msgid "Link your Helpdesk tickets to an agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_rma +msgid "Link your RMAs to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your manufacturing orders to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_mrp +msgid "Link your manufacturing orders to an agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_stock +msgid "Link your pickings to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your projects and tasks to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_project +msgid "Link your projects and tasks to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your repair orders to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_repair +msgid "Link your repair orders to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your returns to an agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your subscriptions to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale_subscription +msgid "Link your subscriptions to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your transfers to an agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Maintenance" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__is_template +msgid "Make this agreement a template." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Manage maintenance agreements and contracts" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_maintenance +msgid "Manage maintenance agreements and contracts." +msgstr "" + +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_manager +msgid "Manager" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_masterdata +msgid "Master Data" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__name +msgid "Name" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Name:" +msgstr "" + +#. module: agreement_legal +#: code:addons/agreement_legal/models/agreement.py:102 +#: code:addons/agreement_legal/models/agreement.py:399 +#: code:addons/agreement_legal/models/agreement.py:402 +#, python-format +msgid "New" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "New Agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "New Version" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Non-Templates" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__notification_address_id +msgid "Notification Address" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__expiration_notice +msgid "Number of Days before expiration to be notified." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__change_notice +msgid "Number of Days to be notified before changes." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__term +msgid "Number of months this agreement/contract is in effect with the partner." +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_operations +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Operations" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__default_value +msgid "Optional value to use if the target field is empty." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__parent_agreement_id +msgid "Parent Agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Parties" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Partner" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_id +msgid "Partner Contact" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Partner Information" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Partners" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__increase_percent +msgid "Percentage that the amount will increase." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Performance" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Perhaps include invoices with total vs costs?" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_phone +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_phone +msgid "Phone" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__copyvalue +msgid "Placeholder Expression" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Preview" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Previouse Versions" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Primary Contact" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Print" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__product_id +msgid "Product" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_product_template +msgid "Product Template" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_products +msgid "Products" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__product_ids +msgid "Products & Services" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__line_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Products/Services" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Project" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__qty +msgid "Quantity" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +msgid "Recital" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_recital_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__recital_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_recitals +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Recitals" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "Record's Colour" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__code +msgid "Reference" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__renewal_type_id +msgid "Renewal Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_renewaltype +msgid "Renewal Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__name +msgid "Renewal types describe what happens after the agreement/contract expires." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Repair" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_reporting +msgid "Reporting" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Represented by" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Returns" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_user_id +msgid "Reviewed By" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_date +msgid "Reviewed Date" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Reviewed by" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__revision +msgid "Revision" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Revisions" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sale Subscriptions" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sales" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__section_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Section" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__content +msgid "Section Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sections_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_sections +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_list_view +msgid "Sections" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__field_id +msgid "Select target field from the related document model. If it is a\n" +" relationship field you will be able to select a target field at the\n" +" destination of the relationship." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Select the agreement field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +msgid "Select the appendix field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +msgid "Select the clause field" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__stage_id +msgid "Select the current stage of the agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +msgid "Select the recital field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Select the section field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Select the sub-field" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_subtype_id +msgid "Select the sub-type of this agreement. Sub-Types are related to agreement types." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_type_id +msgid "Select the type of agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__assigned_user_id +msgid "Select the user who manages this agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sell and purchase products in different units of measure" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__sequence +msgid "Sequence" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.action_agreement_config +#: model:ir.ui.menu,name:agreement_legal.agreement_settings +msgid "Settings" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Signatures" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_user_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_user_id +msgid "Signed By" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract +msgid "Signed Document" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_date +msgid "Signed on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__special_terms +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Special Terms" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__stage_id +msgid "Stage" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__name +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_list_view +msgid "Stage Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_stages +msgid "Stages" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__start_date +msgid "Start Date" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__state +msgid "State" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Status" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Structure" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_list_view +msgid "Sub-Type Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_subtypes +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Sub-Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sub_model_object_field_id +msgid "Sub-field" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sub_object_id +msgid "Sub-model" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__agreement_subtypes_ids +msgid "Subtypes" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_agreement_templates +#: model:ir.ui.menu,name:agreement_legal.template +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Templates" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__term +msgid "Term (Months)" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Term Dates" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__termination_date +msgid "Termination Date" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__termination_requested +msgid "Termination Requested Date" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__notification_address_id +msgid "The address to send notificaitons to, if different from customer address.(Address Type = Other)" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__increase_type_id +msgid "The amount that certain rates may increase." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_id +msgid "The customer or vendor this agreement is related to." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_contact_id +msgid "The primary contact in the company." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_contact_id +msgid "The primary partner contact (If Applicable)." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__revision +msgid "The revision will increase with every save event." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__title +msgid "The title is displayed on the PDF.The name is not." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_user_id +msgid "The user at our company who authorized/signed the agreement or contract." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__version +msgid "The versions are used to keep track of document history and previous versions can be referenced." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "This section (on the left) allows you to add dynamic fields inside the content." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section (on the left) allows you to add dynamic fields inside the description and special terms." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section is a place where financial records will show the current performance of this agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_stage__fold +msgid "This stage is folded in the kanban view by deafault." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__title +msgid "Title" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Title:" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Type Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_types +msgid "Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Units Of Measure" +msgstr "" + +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_user +msgid "User" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__version +msgid "Version" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Version:" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_model_object_field_id +msgid "When a relationship field is selected as first field, this\n" +" field lets you select the target field within the destination document\n" +" model (sub-model)." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_object_id +msgid "When a relationship field is selected as first field, this\n" +" field shows the document model the relationship goes to." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__end_date +msgid "When the agreement ends." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__start_date +msgid "When the agreement starts." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__dynamic_content +msgid "compute dynamic Content" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "oe_kanban_text_red" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "on" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "user & picture" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "| Created By:" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "| Created On:" +msgstr "" + diff --git a/agreement_legal/i18n/fr.po b/agreement_legal/i18n/fr.po new file mode 100644 index 000000000..75a426bf2 --- /dev/null +++ b/agreement_legal/i18n/fr.po @@ -0,0 +1,1800 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * agreement_legal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-24 16:40+0000\n" +"PO-Revision-Date: 2019-04-04 10:14+0000\n" +"Last-Translator: Yves Goldberg \n" +"Language-Team: \n" +"Language: fr\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 3.5.1\n" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_needaction +msgid "Action Needed" +msgstr "Nécessite une action" + +#. module: agreement_legal +#: selection:agreement,state:0 +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__active +msgid "Active" +msgstr "Actif" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Administration" +msgstr "Administration" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Advanced Features" +msgstr "Fonctionnalités avancées" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_account_analytic_line__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__agreement_id +#: model:ir.module.category,name:agreement_legal.agreement +#: model:ir.module.category,name:agreement_legal.module_agreement_legal_category +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Agreement" +msgstr "Accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_appendix +msgid "Agreement Appendices" +msgstr "Annexes de l'accord" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_clause_search_view +msgid "Agreement Clause Search" +msgstr "Recherche de clause d'accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_clause +msgid "Agreement Clauses" +msgstr "Clause de l'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_increasetype +msgid "Agreement Increase Type" +msgstr "Type d'augmentation d'accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_line +msgid "Agreement Lines" +msgstr "Lignes de l'accord" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Agreement Name" +msgstr "Nom de l'accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_recital +msgid "Agreement Recitals" +msgstr "Préambules de l'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_renewaltype +msgid "Agreement Renewal Type" +msgstr "Type de renouvellement de l'accord" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Agreement Search" +msgstr "Recherche d'accord" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view +msgid "Agreement Section Search" +msgstr "Recherche de section d'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_section +#: model:ir.model,name:agreement_legal.model_agreement_section +msgid "Agreement Sections" +msgstr "Sections de l'accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_serviceprofile +msgid "Agreement Service Profiles" +msgstr "Profils de service d'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_stage +msgid "Agreement Stage" +msgstr "Étape de l'accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_stage +msgid "Agreement Stages" +msgstr "Étapes de l'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_subtype +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_form_view +msgid "Agreement Sub-Types" +msgstr "Sous-types de l'accord" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__agreement_subtype_id +msgid "Agreement Sub-type" +msgstr "Sous-type de l'accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_subtype +msgid "Agreement Subtypes" +msgstr "Sous-types de l'accord" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__agreement_type_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__agreement_type_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_form_view +msgid "Agreement Type" +msgstr "Type de l'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_type +#: model:ir.model,name:agreement_legal.model_agreement_type +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Agreement Types" +msgstr "Types de l'accord" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order +#: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement +#: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_product_template__agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting +#: model:ir.ui.menu,name:agreement_legal.agreement_root +#: model:ir.ui.menu,name:agreement_legal.dashboard_agreements +#: model:ir.ui.menu,name:agreement_legal.operations_agreements +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Agreements" +msgstr "Accords" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Agreements Form" +msgstr "Formulaire des accords" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view +msgid "Agreements Stage Form" +msgstr "Formulaire d'étape des accords" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_increasetype_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_renewaltype_form_view +msgid "Agreements Type Form" +msgstr "Formulaire du type d'accords" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__analytic_id +msgid "Analytic Account" +msgstr "Compte analytique" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_account_analytic_line +msgid "Analytic Line" +msgstr "Ligne analytique" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__special_terms +msgid "Any terms that you have agreed to and want to track on the agreement/contract." +msgstr "Toutes les conditions que vous avez acceptées et que vous souhaitez suivre sur l’accord / contrat." + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_appendix_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__appendix_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_appendices +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Appendices" +msgstr "Annexes" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +msgid "Appendix" +msgstr "Annexe" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__approved_user_id +msgid "Approved By" +msgstr "Approuvé par" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__approved_date +msgid "Approved Date" +msgstr "Date d'approbation" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Approved by" +msgstr "Approuvé par" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Archived" +msgstr "Archivé" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__assigned_user_id +msgid "Assigned To" +msgstr "Assigné à" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_attachment_count +msgid "Attachment Count" +msgstr "Nombre de pièces jointes" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "By:" +msgstr "Par :" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__change_notice +msgid "Change Notice (Days)" +msgstr "Avis de modification (Jours)" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__child_agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__previous_version_agreements_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Child Agreements" +msgstr "Sous-Accords" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +msgid "Clause" +msgstr "Clause" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__content +msgid "Clause Content" +msgstr "Contenu de la clause" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_clause +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__clauses_ids +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__clauses_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_clauses +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Clauses" +msgstr "Clauses" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__color +msgid "Color" +msgstr "Couleur" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_partner_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Company" +msgstr "Société" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_id +msgid "Company Contact" +msgstr "Contact de la société" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Company Information" +msgstr "Informations sur la société" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_company_mrc +msgid "Company MRC" +msgstr "Société MRC" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_company_nrc +msgid "Company NRC" +msgstr "Société NRC" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_description +msgid "Compute dynamic description" +msgstr "Générer description dynamique" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_special_terms +msgid "Compute dynamic special terms" +msgstr "Générer les termes spéciaux dynamiques" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de config" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_configuration +msgid "Configuration" +msgstr "Configuration" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_res_partner +msgid "Contact" +msgstr "Contact" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id +msgid "Contact on the account that signed the agreement/contract." +msgstr "Contact du compte qui a signé l'accord / contrat." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__content +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Content" +msgstr "Contenu" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_data_contents +msgid "Contents" +msgstr "Contenu" + +#. module: agreement_legal +#: model:ir.actions.report,name:agreement_legal.partner_agreement_contract_document +msgid "Contract Document" +msgstr "Document contractuel" + +#. module: agreement_legal +#: model:ir.actions.report,name:agreement_legal.partner_agreement_contract_document_preview +msgid "Contract Document Preview" +msgstr "Aperçu du contrat" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__contract_value +msgid "Contract Value" +msgstr "Valeur du contrat" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Copy and paste the placeholder expression in the content" +msgstr "Copiez et collez l'expression dans le contenu" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Copy and paste the placeholder expression in the description or the special terms" +msgstr "Copiez et collez l'expression dans la description ou les conditions spéciales" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale +msgid "Create an agreement when the sale order is confirmed." +msgstr "Créez un contrat lorsque la commande est confirmée." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Create an agreement when the sales order is confirmed" +msgstr "Créer un contrat lorsque la commande client est confirmée" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__currency_id +msgid "Currency" +msgstr "Devise" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_customer_mrc +msgid "Customer MRC" +msgstr "MRC client" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_customer_nrc +msgid "Customer NRC" +msgstr "NRC client" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_dashboard +msgid "Dashboard" +msgstr "Tableau de bord" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__termination_requested +msgid "Date that a request for termination was received." +msgstr "Date à laquelle la demande de résiliation a été reçue." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__termination_date +msgid "Date that the contract was terminated." +msgstr "Date à laquelle le contrat a été résilié." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_date +msgid "Date the contract was signed by Company." +msgstr "Date à laquelle le contrat a été signé par la société." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_date +msgid "Date the contract was signed by the Partner." +msgstr "Date de signature du contrat par le partenaire." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Date:" +msgstr "Date :" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__default_value +msgid "Default Value" +msgstr "Valeur par défaut" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__renewal_type_id +msgid "Describes what happens after the contract expires." +msgstr "Description de ce qui se passe après l'expiration du contrat." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__description +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_increasetype_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_renewaltype_form_view +msgid "Description" +msgstr "Description" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__description +msgid "Description of the agreement" +msgstr "Description de l'accord" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__description +#: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__description +msgid "Description of the renewal type." +msgstr "Description du type de renouvellement." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: agreement_legal +#: selection:agreement,state:0 +msgid "Draft" +msgstr "Bozza" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__dynamic_content +msgid "Dynamic Content" +msgstr "Contenu dynamique" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_description +msgid "Dynamic Description" +msgstr "Description dynamique" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_special_terms +msgid "Dynamic Special Terms" +msgstr "Conditions spéciales dynamiques" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "Edit" +msgstr "Modifier" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_email +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_email +msgid "Email" +msgstr "Courriel" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__end_date +msgid "End Date" +msgstr "Date de fin" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Enter the default value if the field is empty" +msgstr "Entrez la valeur par défaut si le champ est vide" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__expiration_notice +msgid "Exp. Notice (Days)" +msgstr "Préavis (Jours)" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__field_id +msgid "Field" +msgstr "Champ" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Field Service" +msgstr "Service sur site" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract_filename +msgid "Filename" +msgstr "Nom du fichier" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__copyvalue +msgid "" +"Final placeholder expression, to be copy-pasted in the desired\n" +" template field." +msgstr "" +"Expression de substitution finale, à copier-coller dans\n" +" le champ du modèle." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Financials" +msgstr "Finance" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_follower_ids +msgid "Followers" +msgstr "Abonnés" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_channel_ids +msgid "Followers (Channels)" +msgstr "Abonnés (Canaux)" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_partner_ids +msgid "Followers (Partners)" +msgstr "Abonnés (Partenaires)" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "General" +msgstr "Général" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Helpdesk" +msgstr "Assistance" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__id +msgid "ID" +msgstr "ID" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__reference +msgid "ID used for internal contract tracking." +msgstr "ID utilisé pour le suivi interne des contrats." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__message_unread +msgid "If checked new messages require your attention." +msgstr "Si coché, de nouveaux messages demandent votre attention." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si coché, de nouveaux messages demandent votre attention." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Si actif, certains messages ont une erreur de livraison." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__active +msgid "" +"If unchecked, it will allow you to hide the\n" +" agreement without removing it." +msgstr "" +"Si décoché, cela vous permettra de cacher l'\n" +" accord sans l'enlever." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__active +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__active +msgid "If unchecked, it will allow you to hide the agreement without removing it." +msgstr "Si cette case est décochée, cela vous permettra de cacher l'accord sans le supprimer." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__active +msgid "If unchecked, it will allow you to hide this appendix without removing it." +msgstr "Si cette case est décochée, cela vous permettra de masquer cette annexe sans la supprimer." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__active +msgid "If unchecked, it will allow you to hide this recital without removing it." +msgstr "Si cette case est décochée, cela vous permettra de masquer ce préambule sans le supprimer." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_serviceprofile__active +msgid "If unchecked, it will allow you to hide this service profile without removing it." +msgstr "Si cette case est décochée, cela vous permettra de masquer ce profil de service sans le supprimer." + +#. module: agreement_legal +#: selection:agreement,state:0 +msgid "Inactive" +msgstr "Inattivo" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__increase_percent +msgid "Increase Percentage" +msgstr "Augmentation (en pourcentage)" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__increase_type_id +msgid "Increase Type" +msgstr "Type de l'augmentation" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_increamenttypes +msgid "Increase Types" +msgstr "Types de l'augmentation" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__name +msgid "Increase types describe any increases that may happen during the contract." +msgstr "Les types d'augmentation décrivent les augmentations éventuelles en cours de contrat." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Inventory" +msgstr "Inventaire" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__fold +msgid "Is Folded" +msgstr "Est replié" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_is_follower +msgid "Is Follower" +msgstr "Est un abonné" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__is_template +msgid "Is a Template?" +msgstr "Modèle ?" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__parent_agreement_id +msgid "Link this agreement to a parent agreement. For example if this agreement is an amendment to another agreement. This list will only show other agreements related to the same account." +msgstr "Liez cet accord à un accord parent. Par exemple, dans le cas d'amendement à un accord. Cette liste ne montrera que les autres accords liés au même compte." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your Field Service orders and equipments to an agreement" +msgstr "Liez vos commandes de service après-vente et équipements pour le contrat" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_fieldservice_agreement +msgid "Link your Field Service orders and equipments to an agreement." +msgstr "Liez vos commandes de service après-vente et vos équipements à un contrat." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your Helpdesk tickets to an agreement" +msgstr "Liez vos tickets de support à un contrat" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_helpdesk_agreement +msgid "Link your Helpdesk tickets to an agreement." +msgstr "Liez vos tickets de support à un contrat." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_rma +msgid "Link your RMAs to an agreement." +msgstr "Liez vos RMA à un accord." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your manufacturing orders to an agreement" +msgstr "Liez vos ordres de fabrication à un contrat" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_mrp +msgid "Link your manufacturing orders to an agreement." +msgstr "Liez vos ordres de fabrication à un accord." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_stock +msgid "Link your pickings to an agreement." +msgstr "Liez vos prélèvements d'inventaire à un accord." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your projects and tasks to an agreement" +msgstr "Liez vos projets et tâches à un accord" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_project +msgid "Link your projects and tasks to an agreement." +msgstr "Liez vos projets et tâches à un accord." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your repair orders to an agreement" +msgstr "Liez vos commandes de réparation à un contrat" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_repair +msgid "Link your repair orders to an agreement." +msgstr "Liez vos commandes de réparation à un contrat." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your returns to an agreement" +msgstr "Liez vos retours à un accord" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your subscriptions to an agreement" +msgstr "Liez vos abonnements à un contrat" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale_subscription +msgid "Link your subscriptions to an agreement." +msgstr "Liez vos abonnements à un contrat." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your transfers to an agreement" +msgstr "Liez vos transferts à un accord" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_main_attachment_id +msgid "Main Attachment" +msgstr "Pièce jointe principale" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Maintenance" +msgstr "Entretien" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__is_template +msgid "Make this agreement a template." +msgstr "Faites de cet accord un modèle." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Manage maintenance agreements and contracts" +msgstr "Gérer les contrats de maintenance et les contrats" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_maintenance +msgid "Manage maintenance agreements and contracts." +msgstr "Gérer les contrats de maintenance et les contrats." + +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_manager +msgid "Manager" +msgstr "Responsable" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Manufacturing" +msgstr "Fabrication" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_masterdata +msgid "Master Data" +msgstr "Données de base" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_has_error +msgid "Message Delivery error" +msgstr "Erreur d'envoi du message" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_ids +msgid "Messages" +msgstr "Messages" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__name +msgid "Name" +msgstr "Nom" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Name:" +msgstr "Nom :" + +#. module: agreement_legal +#: code:addons/agreement_legal/models/agreement.py:108 +#: code:addons/agreement_legal/models/agreement.py:444 +#: code:addons/agreement_legal/models/agreement.py:445 +#, python-format +msgid "New" +msgstr "Nouveau" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "New Agreement" +msgstr "Nouvel accord" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "New Version" +msgstr "Nouvelle version" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Non-Templates" +msgstr "Non-modèles" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__notification_address_id +msgid "Notification Address" +msgstr "Adresse de notification" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_needaction_counter +msgid "Number of Actions" +msgstr "Nombre d'actions" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__expiration_notice +msgid "Number of Days before expiration to be notified." +msgstr "Nombre de jours avant expiration à notifier." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__change_notice +msgid "Number of Days to be notified before changes." +msgstr "Nombre de jours à notifier avant les modifications." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_has_error_counter +msgid "Number of error" +msgstr "Nombre d'erreurs" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Nombre de messages exigeant une action" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Nombre de messages avec des erreurs d'envoi" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__term +msgid "Number of months this agreement/contract is in effect with the partner." +msgstr "Nombre de mois de validité de cet accord / contrat avec le partenaire." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__message_unread_counter +msgid "Number of unread messages" +msgstr "Nombre de messages non lus" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_operations +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Operations" +msgstr "Opérations" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__default_value +msgid "Optional value to use if the target field is empty." +msgstr "Valeur facultative à utiliser si le champ cible est vide." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__parent_agreement_id +msgid "Parent Agreement" +msgstr "Contrat parent" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Parties" +msgstr "Parties de l'accord" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Partner" +msgstr "Partenaire" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_id +msgid "Partner Contact" +msgstr "Contact partenaire" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Partner Information" +msgstr "Information partenaire" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Partners" +msgstr "Partenaires" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__payment_term_id +msgid "Payment Term" +msgstr "Modalité de paiement" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Payment Terms" +msgstr "Conditions de paiement" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__increase_percent +msgid "Percentage that the amount will increase." +msgstr "Pourcentage que le montant va augmenter." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Performance" +msgstr "Performance" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Perhaps include invoices with total vs costs?" +msgstr "Peut-être inclure le total des factures vs coûts ?" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_phone +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_phone +msgid "Phone" +msgstr "Téléphone" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__copyvalue +msgid "Placeholder Expression" +msgstr "Expression fictive" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Preview" +msgstr "Prévisualiser" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Previouse Versions" +msgstr "Versions précédentes" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Primary Contact" +msgstr "Contact principal" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Print" +msgstr "Imprimer" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__product_id +msgid "Product" +msgstr "Article" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_products +msgid "Products" +msgstr "Articles" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__product_ids +msgid "Products & Services" +msgstr "Produits & Services" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__line_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Products/Services" +msgstr "Produits/Services" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Project" +msgstr "Projet" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__qty +msgid "Quantity" +msgstr "Quantité" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +msgid "Recital" +msgstr "Préambule" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_recital_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__recital_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_recitals +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Recitals" +msgstr "Préambules" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "Record's Colour" +msgstr "Couleur de l'enregistrement" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reference +msgid "Reference" +msgstr "Référence" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__renewal_type_id +msgid "Renewal Type" +msgstr "Type de renouvellement" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_renewaltype +msgid "Renewal Types" +msgstr "Types de renouvellement" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__name +msgid "Renewal types describe what happens after the agreement/contract expires." +msgstr "Les types de renouvellement décrivent ce qui se passe après l'expiration de l'accord / du contrat." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Repair" +msgstr "Réparation" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_reporting +msgid "Reporting" +msgstr "Rapport" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Represented by" +msgstr "Représenté par" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Returns" +msgstr "Retours" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__analytic_line_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Revenues and Costs" +msgstr "Revenus et Coûts" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_user_id +msgid "Reviewed By" +msgstr "Révisée par" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_date +msgid "Reviewed Date" +msgstr "Date de révision" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Reviewed by" +msgstr "Révisée par" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__revision +msgid "Revision" +msgstr "Révision" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Revisions" +msgstr "Révisions" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sale Subscriptions" +msgstr "Abonnements" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sales" +msgstr "Vente" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sale_order_id +msgid "Sales Order" +msgstr "Bon de commande" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__section_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Section" +msgstr "Section" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__content +msgid "Section Content" +msgstr "Contenu de la section" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sections_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_sections +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_list_view +msgid "Sections" +msgstr "Sections" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__field_id +msgid "" +"Select target field from the related document model. If it is a\n" +" relationship field you will be able to select a target field at the\n" +" destination of the relationship." +msgstr "" +"Sélectionnez le champ cible dans le modèle de document associé. Dans le cas d'un\n" +" champ relationnel, vous serez en mesure de sélectionner un champ cible à la\n" +" destination de la relation." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sale_order_id +msgid "Select the Sales Order that this agreement is related to." +msgstr "Sélectionnez la commande à laquelle cet accord se rapporte." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Select the agreement field" +msgstr "Sélectionnez le champ \"accord\"" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +msgid "Select the appendix field" +msgstr "Sélectionnez le champ \"annexe\"" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +msgid "Select the clause field" +msgstr "Sélectionnez le champ \"clause\"" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__stage_id +msgid "Select the current stage of the agreement." +msgstr "Sélectionnez le stade actuel de l'accord." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +msgid "Select the recital field" +msgstr "Sélectionnez le champ \"préambule\"" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Select the section field" +msgstr "Sélectionnez le champ \"section\"" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Select the sub-field" +msgstr "Sélectionnez le sous-champ" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_subtype_id +msgid "Select the sub-type of this agreement. Sub-Types are related to agreement types." +msgstr "Sélectionnez le sous-type de cet accord. Les sous-types sont liés aux types d'accord." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_type_id +msgid "Select the type of agreement." +msgstr "Sélectionnez le type d'accord." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__assigned_user_id +msgid "Select the user who manages this agreement." +msgstr "Sélectionnez l'utilisateur qui gère cet accord." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sell and purchase products in different units of measure" +msgstr "Acheter et vendre dans des unités de mesure différentes" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__order_lines_services_ids +msgid "Service Order Lines" +msgstr "Lignes de commande de service" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_serviceprofile_form +msgid "Service Profile" +msgstr "Profil de service" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_serviceprofile_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__serviceprofile_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_serviceprofiles +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_serviceprofile_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Service Profiles" +msgstr "Profils de service" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.order_lines_search_view +msgid "Service Type" +msgstr "Type de service" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.action_agreement_config +#: model:ir.ui.menu,name:agreement_legal.agreement_settings +msgid "Settings" +msgstr "Configuration" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Signatures" +msgstr "Signatures" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_user_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_user_id +msgid "Signed By" +msgstr "Signé par" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract +msgid "Signed Document" +msgstr "Document signé" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_date +msgid "Signed on" +msgstr "Signé le" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__special_terms +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Special Terms" +msgstr "Conditions spéciales" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__stage_id +msgid "Stage" +msgstr "Étape" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__name +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_list_view +msgid "Stage Name" +msgstr "Nom de l'étape" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_stages +msgid "Stages" +msgstr "Étapes" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__start_date +msgid "Start Date" +msgstr "Date de début" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__state +msgid "State" +msgstr "État" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Status" +msgstr "Statut" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Structure" +msgstr "Structure" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_list_view +msgid "Sub-Type Name" +msgstr "Nom du sous-type" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_subtypes +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Sub-Types" +msgstr "Sous-types" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sub_model_object_field_id +msgid "Sub-field" +msgstr "Sous champ" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sub_object_id +msgid "Sub-model" +msgstr "Sous-modèle" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__agreement_subtypes_ids +msgid "Subtypes" +msgstr "Sous-types" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_agreement_templates +#: model:ir.ui.menu,name:agreement_legal.template +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Templates" +msgstr "Modèles" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__term +msgid "Term (Months)" +msgstr "Terme (mois)" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Term Dates" +msgstr "Dates d'expiration" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__termination_date +msgid "Termination Date" +msgstr "Date de résiliation" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__termination_requested +msgid "Termination Requested Date" +msgstr "Date de résiliation demandée" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__payment_term_id +msgid "Terms of payments." +msgstr "Conditions de paiements." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__notification_address_id +msgid "The address to send notificaitons to, if different from customer address.(Address Type = Other)" +msgstr "Adresse à laquelle envoyer les notifications, si différente de l'adresse du client. (Type d'adresse = Autre)" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__increase_type_id +msgid "The amount that certain rates may increase." +msgstr "Le montant que certains taux peuvent augmenter." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_id +msgid "The customer or vendor this agreement is related to." +msgstr "Le client ou le fournisseur auquel cet accord est lié." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_contact_id +msgid "The primary contact in the company." +msgstr "Le contact principal dans l'entreprise." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_contact_id +msgid "The primary partner contact (If Applicable)." +msgstr "Le contact principal du partenaire (le cas échéant)." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__revision +msgid "The revision will increase with every save event." +msgstr "Le numéro de révision augmentera à chaque sauvegarde." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__title +msgid "The title is displayed on the PDF.The name is not." +msgstr "Le titre est affiché sur le PDF. Le nom ne l’est pas." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_user_id +msgid "The user at our company who authorized/signed the agreement or contract." +msgstr "L'utilisateur de notre société qui a autorisé / signé l'accord ou le contrat." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__version +msgid "The versions are used to keep track of document history and previous versions can be referenced." +msgstr "Les versions permettent de suivre l'historique des documents et les versions précédentes peuvent être référencées." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "This section (on the left) allows you to add dynamic fields inside the content." +msgstr "Cette section (à gauche) vous permet d'ajouter des champs dynamiques à l'intérieur du contenu." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section (on the left) allows you to add dynamic fields inside the description and special terms." +msgstr "Cette section (à gauche) vous permet d'ajouter des champs dynamiques à l'intérieur de la description et des termes spéciaux." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section is a place where financial records will show the current performance of this agreement." +msgstr "Cette section est un endroit où les registres financiers montreront la performance actuelle de cet accord." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_stage__fold +msgid "This stage is folded in the kanban view by deafault." +msgstr "Cette étape est repliée dans la vue kanban par défaut." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__title +msgid "Title" +msgstr "Titre" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Title:" +msgstr "Titre :" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__total_company_mrc +msgid "Total company monthly recurring costs." +msgstr "Total des coûts récurrents mensuels de la société." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__total_company_nrc +msgid "Total company non-recurring costs." +msgstr "Total des coûts non récurrents de la société." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__total_customer_mrc +msgid "Total custemer monthly recurring costs." +msgstr "Total des coûts récurrents mensuels du client." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__total_customer_nrc +msgid "Total custemer non-monthly recurring costs." +msgstr "Total des coûts client mensuels non-récurrents." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__contract_value +msgid "Total value of the contract over ther entire term." +msgstr "Valeur totale du contrat sur toute la durée." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Type Name" +msgstr "Nom du type" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_types +msgid "Types" +msgstr "Types" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__uom_id +msgid "Unit of Measure" +msgstr "Unité de mesure" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Units Of Measure" +msgstr "Unités de mesure" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_unread +msgid "Unread Messages" +msgstr "Messages non lus" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Compteur de messages non lus" + +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_user +msgid "User" +msgstr "Utilisateur" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__version +msgid "Version" +msgstr "Version" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Version:" +msgstr "Version :" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__website_message_ids +msgid "Website Messages" +msgstr "Messages du site web" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__website_message_ids +msgid "Website communication history" +msgstr "Historique de communication du site web" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_model_object_field_id +msgid "" +"When a relationship field is selected as first field, this\n" +" field lets you select the target field within the destination document\n" +" model (sub-model)." +msgstr "" +"Lorsqu'un champ relationnel est sélectionné en premier, cela\n" +" vous permet de sélectionner le champ cible dans le document de destination\n" +" modèle (sous-modèle)." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_object_id +msgid "" +"When a relationship field is selected as first field, this\n" +" field shows the document model the relationship goes to." +msgstr "" +"Lorsqu'un champ relationnel est sélectionné, ce\n" +" champ indique le modèle de document cible." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__end_date +msgid "When the agreement ends." +msgstr "Quand l'accord se termine." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__start_date +msgid "When the agreement starts." +msgstr "Quand l'accord commence." + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement +msgid "agreement" +msgstr "accord" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_increasetype +msgid "agreement.increasetype" +msgstr "agreement.increasetype" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_renewaltype +msgid "agreement.renewaltype" +msgstr "agreement.renewaltype" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__dynamic_content +msgid "compute dynamic Content" +msgstr "Générer le contenu dynamique" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "oe_kanban_text_red" +msgstr "oe_kanban_text_red" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "on" +msgstr "le" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "user & picture" +msgstr "utilisateur et image" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "| Created By:" +msgstr "| Créé par :" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "| Created On:" +msgstr "| Créé le :" diff --git a/agreement_legal/models/__init__.py b/agreement_legal/models/__init__.py new file mode 100644 index 000000000..c24e38c08 --- /dev/null +++ b/agreement_legal/models/__init__.py @@ -0,0 +1,18 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import ( + res_config_settings, + agreement_stage, + agreement, + agreement_appendix, + agreement_clause, + agreement_line, + agreement_recital, + agreement_section, + agreement_type, + agreement_subtype, + res_partner, + product_template, + agreement_renewaltype, + agreement_increasetype, +) diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py new file mode 100644 index 000000000..8a87cf965 --- /dev/null +++ b/agreement_legal/models/agreement.py @@ -0,0 +1,461 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models + + +class Agreement(models.Model): + _name = "agreement" + _inherit = ["agreement", "mail.thread"] + + def _default_stage_id(self): + return self.env.ref("agreement_legal.agreement_stage_new") + + # General + name = fields.Char(string="Title", required=True) + is_template = fields.Boolean( + string="Is a Template?", + default=False, + copy=False, + help="Make this agreement a template.", + ) + version = fields.Integer( + string="Version", + default=1, + copy=False, + help="The versions are used to keep track of document history and " + "previous versions can be referenced.", + ) + revision = fields.Integer( + string="Revision", + default=0, + copy=False, + help="The revision will increase with every save event.", + ) + description = fields.Text( + string="Description", + track_visibility="onchange", + help="Description of the agreement", + ) + dynamic_description = fields.Text( + compute="_compute_dynamic_description", + string="Dynamic Description", + help="Compute dynamic description", + ) + start_date = fields.Date( + string="Start Date", + track_visibility="onchange", + help="When the agreement starts.", + ) + end_date = fields.Date( + string="End Date", + track_visibility="onchange", + help="When the agreement ends.", + ) + color = fields.Integer() + active = fields.Boolean( + string="Active", + default=True, + help="If unchecked, it will allow you to hide the agreement without " + "removing it.", + ) + company_signed_date = fields.Date( + string="Signed on", + track_visibility="onchange", + help="Date the contract was signed by Company.", + ) + partner_signed_date = fields.Date( + string="Signed on", + track_visibility="onchange", + help="Date the contract was signed by the Partner.", + ) + term = fields.Integer( + string="Term (Months)", + track_visibility="onchange", + help="Number of months this agreement/contract is in effect with the " + "partner.", + ) + expiration_notice = fields.Integer( + string="Exp. Notice (Days)", + track_visibility="onchange", + help="Number of Days before expiration to be notified.", + ) + change_notice = fields.Integer( + string="Change Notice (Days)", + track_visibility="onchange", + help="Number of Days to be notified before changes.", + ) + special_terms = fields.Text( + string="Special Terms", + track_visibility="onchange", + help="Any terms that you have agreed to and want to track on the " + "agreement/contract.", + ) + dynamic_special_terms = fields.Text( + compute="_compute_dynamic_special_terms", + string="Dynamic Special Terms", + help="Compute dynamic special terms", + ) + code = fields.Char( + string="Reference", + required=True, + default=lambda self: _("New"), + track_visibility="onchange", + copy=False, + help="ID used for internal contract tracking.", + ) + increase_type_id = fields.Many2one( + "agreement.increasetype", + string="Increase Type", + track_visibility="onchange", + help="The amount that certain rates may increase.", + ) + termination_requested = fields.Date( + string="Termination Requested Date", + track_visibility="onchange", + help="Date that a request for termination was received.", + ) + termination_date = fields.Date( + string="Termination Date", + track_visibility="onchange", + help="Date that the contract was terminated.", + ) + reviewed_date = fields.Date( + string="Reviewed Date", track_visibility="onchange" + ) + reviewed_user_id = fields.Many2one( + "res.users", string="Reviewed By", track_visibility="onchange" + ) + approved_date = fields.Date( + string="Approved Date", track_visibility="onchange" + ) + approved_user_id = fields.Many2one( + "res.users", string="Approved By", track_visibility="onchange" + ) + currency_id = fields.Many2one("res.currency", string="Currency") + partner_id = fields.Many2one( + "res.partner", + string="Partner", + required=False, + copy=True, + help="The customer or vendor this agreement is related to.", + ) + company_partner_id = fields.Many2one( + "res.partner", + string="Company", + copy=True, + default=lambda self: self.env.user.company_id.partner_id, + ) + partner_contact_id = fields.Many2one( + "res.partner", + string="Partner Contact", + copy=True, + help="The primary partner contact (If Applicable).", + ) + partner_contact_phone = fields.Char( + related="partner_contact_id.phone", string="Phone" + ) + partner_contact_email = fields.Char( + related="partner_contact_id.email", string="Email" + ) + company_contact_id = fields.Many2one( + "res.partner", + string="Company Contact", + copy=True, + help="The primary contact in the company.", + ) + company_contact_phone = fields.Char( + related="company_contact_id.phone", string="Phone" + ) + company_contact_email = fields.Char( + related="company_contact_id.email", string="Email" + ) + use_parties_content = fields.Boolean( + string="Use parties content", + help="Use custom content for parties") + + def _get_default_parties(self): + deftext = """ +

Company Information

+

+ ${object.company_partner_id.name or ''}.
+ ${object.company_partner_id.street or ''}
+ ${object.company_partner_id.state_id.code or ''} + ${object.company_partner_id.zip or ''} + ${object.company_partner_id.city or ''}
+ ${object.company_partner_id.country_id.name or ''}.

+ Represented by ${object.company_contact_id.name or ''}. +

+

+

Partner Information

+

+ ${object.partner_id.name or ''}.
+ ${object.partner_id.street or ''}
+ ${object.partner_id.state_id.code or ''} + ${object.partner_id.zip or ''} ${object.partner_id.city or ''}
+ ${object.partner_id.country_id.name or ''}.

+ Represented by ${object.partner_contact_id.name or ''}. +

+ """ + return deftext + + parties = fields.Html( + string="Parties", + track_visibility="onchange", + default=_get_default_parties, + help="Parties of the agreement", + ) + dynamic_parties = fields.Html( + compute="_compute_dynamic_parties", + string="Dynamic Parties", + help="Compute dynamic parties", + ) + agreement_type_id = fields.Many2one( + "agreement.type", + string="Agreement Type", + track_visibility="onchange", + help="Select the type of agreement.", + ) + agreement_subtype_id = fields.Many2one( + "agreement.subtype", + string="Agreement Sub-type", + track_visibility="onchange", + help="Select the sub-type of this agreement. Sub-Types are related to " + "agreement types.", + ) + product_ids = fields.Many2many( + "product.template", string="Products & Services" + ) + assigned_user_id = fields.Many2one( + "res.users", + string="Assigned To", + track_visibility="onchange", + help="Select the user who manages this agreement.", + ) + company_signed_user_id = fields.Many2one( + "res.users", + string="Signed By", + track_visibility="onchange", + help="The user at our company who authorized/signed the agreement or " + "contract.", + ) + partner_signed_user_id = fields.Many2one( + "res.partner", + string="Signed By", + track_visibility="onchange", + help="Contact on the account that signed the agreement/contract.", + ) + parent_agreement_id = fields.Many2one( + "agreement", + string="Parent Agreement", + help="Link this agreement to a parent agreement. For example if this " + "agreement is an amendment to another agreement. This list will " + "only show other agreements related to the same account.", + ) + renewal_type_id = fields.Many2one( + "agreement.renewaltype", + string="Renewal Type", + track_visibility="onchange", + help="Describes what happens after the contract expires.", + ) + recital_ids = fields.One2many( + "agreement.recital", "agreement_id", string="Recitals", copy=True + ) + sections_ids = fields.One2many( + "agreement.section", "agreement_id", string="Sections", copy=True + ) + clauses_ids = fields.One2many( + "agreement.clause", "agreement_id", string="Clauses", copy=True + ) + appendix_ids = fields.One2many( + "agreement.appendix", "agreement_id", string="Appendices", copy=True + ) + previous_version_agreements_ids = fields.One2many( + "agreement", + "parent_agreement_id", + string="Child Agreements", + copy=False, + domain=[("active", "=", False)], + ) + child_agreements_ids = fields.One2many( + "agreement", + "parent_agreement_id", + string="Child Agreements", + copy=False, + domain=[("active", "=", True)], + ) + line_ids = fields.One2many( + "agreement.line", + "agreement_id", + string="Products/Services", + copy=False, + ) + state = fields.Selection( + [("draft", "Draft"), ("active", "Active"), ("inactive", "Inactive")], + default="draft", + track_visibility="always", + ) + notification_address_id = fields.Many2one( + "res.partner", + string="Notification Address", + help="The address to send notificaitons to, if different from " + "customer address.(Address Type = Other)", + ) + signed_contract_filename = fields.Char(string="Filename") + signed_contract = fields.Binary( + string="Signed Document", track_visibility="always" + ) + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + help="""Select target field from the related document model. If it is a + relationship field you will be able to select a target field at the + destination of the relationship.""", + ) + sub_object_id = fields.Many2one( + "ir.model", + string="Sub-model", + help="""When a relationship field is selected as first field, this + field shows the document model the relationship goes to.""", + ) + sub_model_object_field_id = fields.Many2one( + "ir.model.fields", + string="Sub-field", + help="""When a relationship field is selected as first field, this + field lets you select the target field within the destination document + model (sub-model).""", + ) + default_value = fields.Char( + string="Default Value", + help="Optional value to use if the target field is empty.", + ) + copyvalue = fields.Char( + string="Placeholder Expression", + help="""Final placeholder expression, to be copy-pasted in the desired + template field.""", + ) + + # compute the dynamic content for mako expression + @api.multi + def _compute_dynamic_description(self): + MailTemplates = self.env["mail.template"] + for agreement in self: + lang = agreement.partner_id.lang or "en_US" + description = MailTemplates.with_context( + lang=lang + )._render_template( + agreement.description, "agreement", agreement.id + ) + agreement.dynamic_description = description + + @api.multi + def _compute_dynamic_parties(self): + MailTemplates = self.env["mail.template"] + for agreement in self: + lang = agreement.partner_id.lang or "en_US" + parties = MailTemplates.with_context( + lang=lang + )._render_template( + agreement.parties, "agreement", agreement.id + ) + agreement.dynamic_parties = parties + + @api.multi + def _compute_dynamic_special_terms(self): + MailTemplates = self.env["mail.template"] + for agreement in self: + lang = agreement.partner_id.lang or "en_US" + special_terms = MailTemplates.with_context( + lang=lang + )._render_template( + agreement.special_terms, "agreement", agreement.id + ) + agreement.dynamic_special_terms = special_terms + + @api.onchange("field_id", "sub_model_object_field_id", "default_value") + def onchange_copyvalue(self): + self.sub_object_id = False + self.copyvalue = False + self.sub_object_id = False + if self.field_id and not self.field_id.relation: + self.copyvalue = "${{object.{} or {}}}".format( + self.field_id.name, self.default_value or "''" + ) + self.sub_model_object_field_id = False + if self.field_id and self.field_id.relation: + self.sub_object_id = self.env["ir.model"].search( + [("model", "=", self.field_id.relation)] + )[0] + if self.sub_model_object_field_id: + self.copyvalue = "${{object.{}.{} or {}}}".format( + self.field_id.name, + self.sub_model_object_field_id.name, + self.default_value or "''", + ) + + # Used for Kanban grouped_by view + @api.model + def _read_group_stage_ids(self, stages, domain, order): + stage_ids = self.env["agreement.stage"].search([]) + return stage_ids + + stage_id = fields.Many2one( + "agreement.stage", + string="Stage", + group_expand="_read_group_stage_ids", + help="Select the current stage of the agreement.", + track_visibility="onchange", + index=True, + # default=lambda self: self._default_stage_id(), + ) + + # Create New Version Button + @api.multi + def create_new_version(self, vals): + for rec in self: + if not rec.state == "draft": + # Make sure status is draft + rec.state = "draft" + default_vals = { + "name": "{} - OLD VERSION".format(rec.name), + "active": False, + "parent_agreement_id": rec.id, + } + # Make a current copy and mark it as old + rec.copy(default=default_vals) + # Increment the Version + rec.version = rec.version + 1 + # Reset revision to 0 since it's a new version + vals["revision"] = 0 + return super(Agreement, self).write(vals) + + def create_new_agreement(self): + default_vals = { + "name": "NEW", + "active": True, + "version": 1, + "revision": 0, + "state": "draft", + } + res = self.copy(default=default_vals) + return { + "res_model": "agreement", + "type": "ir.actions.act_window", + "view_mode": "form", + "view_type": "form", + "res_id": res.id, + } + + @api.model + def create(self, vals): + if vals.get("code", _("New")) == _("New"): + vals["code"] = self.env["ir.sequence"].next_by_code( + "agreement" + ) or _("New") + return super(Agreement, self).create(vals) + + # Increments the revision on each save action + @api.multi + def write(self, vals): + vals["revision"] = self.revision + 1 + return super(Agreement, self).write(vals) diff --git a/agreement_legal/models/agreement_appendix.py b/agreement_legal/models/agreement_appendix.py new file mode 100644 index 000000000..e81bd53cd --- /dev/null +++ b/agreement_legal/models/agreement_appendix.py @@ -0,0 +1,101 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AgreementAppendix(models.Model): + _name = "agreement.appendix" + _description = "Agreement Appendices" + _order = "sequence" + + name = fields.Char(string="Name", required=True) + title = fields.Char( + string="Title", + required=True, + help="The title is displayed on the PDF." "The name is not.", + ) + sequence = fields.Integer( + string="Sequence", + default=10) + content = fields.Html(string="Content") + dynamic_content = fields.Html( + compute="_compute_dynamic_content", + string="Dynamic Content", + help="compute dynamic Content", + ) + agreement_id = fields.Many2one( + "agreement", + string="Agreement", + ondelete="cascade") + active = fields.Boolean( + string="Active", + default=True, + help="If unchecked, it will allow you to hide this appendix without " + "removing it.", + ) + + # Dynamic field editor + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + help="""Select target field from the related document model. If it is a + relationship field you will be able to select a target field at the + destination of the relationship.""", + ) + sub_object_id = fields.Many2one( + "ir.model", + string="Sub-model", + help="""When a relationship field is selected as first field, this + field shows the document model the relationship goes to.""", + ) + sub_model_object_field_id = fields.Many2one( + "ir.model.fields", + string="Sub-field", + help="""When a relationship field is selected as first field, this + field lets you select the target field within the destination document + model (sub-model).""", + ) + default_value = fields.Char( + string="Default Value", + help="Optional value to use if the target field is empty.", + ) + copyvalue = fields.Char( + string="Placeholder Expression", + help="""Final placeholder expression, to be copy-pasted in the desired + template field.""", + ) + + @api.onchange('field_id', 'sub_model_object_field_id', 'default_value') + def onchange_copyvalue(self): + self.sub_object_id = False + self.copyvalue = False + self.sub_object_id = False + if self.field_id and not self.field_id.relation: + self.copyvalue = "${object.%s or %s}" % \ + (self.field_id.name, + self.default_value or '\'\'') + self.sub_model_object_field_id = False + if self.field_id and self.field_id.relation: + self.sub_object_id = self.env['ir.model'].search( + [('model', '=', self.field_id.relation)])[0] + if self.sub_model_object_field_id: + self.copyvalue = "${object.%s.%s or %s}" %\ + (self.field_id.name, + self.sub_model_object_field_id.name, + self.default_value or '\'\'') + + # compute the dynamic content for mako expression + @api.multi + def _compute_dynamic_content(self): + MailTemplates = self.env["mail.template"] + for appendix in self: + lang = ( + appendix.agreement_id + and appendix.agreement_id.partner_id.lang + or "en_US" + ) + content = MailTemplates.with_context(lang=lang)._render_template( + appendix.content, "agreement.appendix", appendix.id + ) + appendix.dynamic_content = content diff --git a/agreement_legal/models/agreement_clause.py b/agreement_legal/models/agreement_clause.py new file mode 100644 index 000000000..2c2debadd --- /dev/null +++ b/agreement_legal/models/agreement_clause.py @@ -0,0 +1,103 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AgreementClause(models.Model): + _name = "agreement.clause" + _description = "Agreement Clauses" + _order = "sequence" + + name = fields.Char(string="Name", required=True) + title = fields.Char( + string="Title", + help="The title is displayed on the PDF." "The name is not." + ) + sequence = fields.Integer(string="Sequence") + agreement_id = fields.Many2one( + "agreement", + string="Agreement", + ondelete="cascade") + section_id = fields.Many2one( + "agreement.section", + string="Section", + ondelete="cascade" + ) + content = fields.Html(string="Clause Content") + dynamic_content = fields.Html( + compute="_compute_dynamic_content", + string="Dynamic Content", + help="compute dynamic Content", + ) + active = fields.Boolean( + string="Active", + default=True, + help="If unchecked, it will allow you to hide the agreement without " + "removing it.", + ) + + # Dynamic field editor + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + help="""Select target field from the related document model. If it is a + relationship field you will be able to select a target field at the + destination of the relationship.""", + ) + sub_object_id = fields.Many2one( + "ir.model", + string="Sub-model", + help="""When a relationship field is selected as first field, this + field shows the document model the relationship goes to.""", + ) + sub_model_object_field_id = fields.Many2one( + "ir.model.fields", + string="Sub-field", + help="""When a relationship field is selected as first field, this + field lets you select the target field within the destination document + model (sub-model).""", + ) + default_value = fields.Char( + string="Default Value", + help="Optional value to use if the target field is empty.", + ) + copyvalue = fields.Char( + string="Placeholder Expression", + help="""Final placeholder expression, to be copy-pasted in the desired + template field.""", + ) + + @api.onchange('field_id', 'sub_model_object_field_id', 'default_value') + def onchange_copyvalue(self): + self.sub_object_id = False + self.copyvalue = False + self.sub_object_id = False + if self.field_id and not self.field_id.relation: + self.copyvalue = "${object.%s or %s}" % \ + (self.field_id.name, + self.default_value or '\'\'') + self.sub_model_object_field_id = False + if self.field_id and self.field_id.relation: + self.sub_object_id = self.env['ir.model'].search( + [('model', '=', self.field_id.relation)])[0] + if self.sub_model_object_field_id: + self.copyvalue = "${object.%s.%s or %s}" %\ + (self.field_id.name, + self.sub_model_object_field_id.name, + self.default_value or '\'\'') + + # compute the dynamic content for mako expression + @api.multi + def _compute_dynamic_content(self): + MailTemplates = self.env["mail.template"] + for clause in self: + lang = ( + clause.agreement_id + and clause.agreement_id.partner_id.lang + or "en_US" + ) + content = MailTemplates.with_context(lang=lang)._render_template( + clause.content, "agreement.clause", clause.id + ) + clause.dynamic_content = content diff --git a/agreement_legal/models/agreement_increasetype.py b/agreement_legal/models/agreement_increasetype.py new file mode 100644 index 000000000..094168c15 --- /dev/null +++ b/agreement_legal/models/agreement_increasetype.py @@ -0,0 +1,27 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +# Main Agreement Increase Type Records Model +class AgreementIncreaseType(models.Model): + _name = "agreement.increasetype" + _description = "Agreement Increase Type" + + # General + name = fields.Char( + string="Title", + required=True, + help="Increase types describe any increases that may happen during " + "the contract.", + ) + description = fields.Text( + string="Description", + required=True, + help="Description of the renewal type." + ) + increase_percent = fields.Integer( + string="Increase Percentage", + help="Percentage that the amount will increase." + ) diff --git a/agreement_legal/models/agreement_line.py b/agreement_legal/models/agreement_line.py new file mode 100644 index 000000000..3960681f3 --- /dev/null +++ b/agreement_legal/models/agreement_line.py @@ -0,0 +1,30 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AgreementLine(models.Model): + _name = "agreement.line" + _description = "Agreement Lines" + + product_id = fields.Many2one( + "product.product", + string="Product") + name = fields.Char( + string="Description", + required=True) + agreement_id = fields.Many2one( + "agreement", + string="Agreement", + ondelete="cascade") + qty = fields.Float(string="Quantity") + uom_id = fields.Many2one( + "uom.uom", + string="Unit of Measure", + required=True) + + @api.onchange("product_id") + def _onchange_product_id(self): + self.name = self.product_id.name + self.uom_id = self.product_id.uom_id.id diff --git a/agreement_legal/models/agreement_recital.py b/agreement_legal/models/agreement_recital.py new file mode 100644 index 000000000..15b045170 --- /dev/null +++ b/agreement_legal/models/agreement_recital.py @@ -0,0 +1,99 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AgreementRecital(models.Model): + _name = "agreement.recital" + _description = "Agreement Recitals" + _order = "sequence" + + name = fields.Char(string="Name", required=True) + title = fields.Char( + string="Title", + help="The title is displayed on the PDF." "The name is not.", + ) + sequence = fields.Integer(string="Sequence", default=10) + content = fields.Html(string="Content") + dynamic_content = fields.Html( + compute="_compute_dynamic_content", + string="Dynamic Content", + help="compute dynamic Content", + ) + agreement_id = fields.Many2one( + "agreement", string="Agreement", ondelete="cascade" + ) + active = fields.Boolean( + string="Active", + default=True, + help="If unchecked, it will allow you to hide this recital without " + "removing it.", + ) + + # Dynamic field editor + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + help="""Select target field from the related document model. If it is a + relationship field you will be able to select a target field at the + destination of the relationship.""", + ) + sub_object_id = fields.Many2one( + "ir.model", + string="Sub-model", + help="""When a relationship field is selected as first field, this + field shows the document model the relationship goes to.""", + ) + sub_model_object_field_id = fields.Many2one( + "ir.model.fields", + string="Sub-field", + help="""When a relationship field is selected as first field, this + field lets you select the target field within the destination document + model (sub-model).""", + ) + default_value = fields.Char( + string="Default Value", + help="Optional value to use if the target field is empty.", + ) + copyvalue = fields.Char( + string="Placeholder Expression", + help="""Final placeholder expression, to be copy-pasted in the desired + template field.""", + ) + + @api.onchange("field_id", "sub_model_object_field_id", "default_value") + def onchange_copyvalue(self): + self.sub_object_id = False + self.copyvalue = False + self.sub_object_id = False + if self.field_id and not self.field_id.relation: + self.copyvalue = "${{object.{} or {}}}".format( + self.field_id.name, self.default_value or "''" + ) + self.sub_model_object_field_id = False + if self.field_id and self.field_id.relation: + self.sub_object_id = self.env["ir.model"].search( + [("model", "=", self.field_id.relation)] + )[0] + if self.sub_model_object_field_id: + self.copyvalue = "${{object.{}.{} or {}}}".format( + self.field_id.name, + self.sub_model_object_field_id.name, + self.default_value or "''", + ) + + # compute the dynamic content for mako expression + @api.multi + def _compute_dynamic_content(self): + MailTemplates = self.env["mail.template"] + for recital in self: + lang = ( + recital.agreement_id + and recital.agreement_id.partner_id.lang + or "en_US" + ) + content = MailTemplates.with_context(lang=lang)._render_template( + recital.content, "agreement.recital", recital.id + ) + recital.dynamic_content = content diff --git a/agreement_legal/models/agreement_renewaltype.py b/agreement_legal/models/agreement_renewaltype.py new file mode 100644 index 000000000..ee03893c8 --- /dev/null +++ b/agreement_legal/models/agreement_renewaltype.py @@ -0,0 +1,23 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +# Main Agreement Section Records Model +class AgreementRenewalType(models.Model): + _name = "agreement.renewaltype" + _description = "Agreement Renewal Type" + + # General + name = fields.Char( + string="Title", + required=True, + help="Renewal types describe what happens after the " + "agreement/contract expires.", + ) + description = fields.Text( + string="Description", + required=True, + help="Description of the renewal type." + ) diff --git a/agreement_legal/models/agreement_section.py b/agreement_legal/models/agreement_section.py new file mode 100644 index 000000000..2fe67ea9b --- /dev/null +++ b/agreement_legal/models/agreement_section.py @@ -0,0 +1,102 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AgreementSection(models.Model): + _name = "agreement.section" + _description = "Agreement Sections" + _order = "sequence" + + name = fields.Char(string="Name", required=True) + title = fields.Char( + string="Title", + help="The title is displayed on the PDF." "The name is not.", + ) + sequence = fields.Integer(string="Sequence") + agreement_id = fields.Many2one( + "agreement", string="Agreement", ondelete="cascade" + ) + clauses_ids = fields.One2many( + "agreement.clause", "section_id", string="Clauses" + ) + content = fields.Html(string="Section Content") + dynamic_content = fields.Html( + compute="_compute_dynamic_content", + string="Dynamic Content", + help="compute dynamic Content", + ) + active = fields.Boolean( + string="Active", + default=True, + help="""If unchecked, it will allow you to hide the + agreement without removing it.""", + ) + + # Dynamic field editor + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + help="""Select target field from the related document model. If it is a + relationship field you will be able to select a target field at the + destination of the relationship.""", + ) + sub_object_id = fields.Many2one( + "ir.model", + string="Sub-model", + help="""When a relationship field is selected as first field, this + field shows the document model the relationship goes to.""", + ) + sub_model_object_field_id = fields.Many2one( + "ir.model.fields", + string="Sub-field", + help="""When a relationship field is selected as first field, this + field lets you select the target field within the destination document + model (sub-model).""", + ) + default_value = fields.Char( + string="Default Value", + help="Optional value to use if the target field is empty.", + ) + copyvalue = fields.Char( + string="Placeholder Expression", + help="""Final placeholder expression, to be copy-pasted in the desired + template field.""", + ) + + @api.onchange("field_id", "sub_model_object_field_id", "default_value") + def onchange_copyvalue(self): + self.sub_object_id = False + self.copyvalue = False + self.sub_object_id = False + if self.field_id and not self.field_id.relation: + self.copyvalue = "${{object.{} or {}}}".format( + self.field_id.name, self.default_value or "''" + ) + self.sub_model_object_field_id = False + if self.field_id and self.field_id.relation: + self.sub_object_id = self.env["ir.model"].search( + [("model", "=", self.field_id.relation)] + )[0] + if self.sub_model_object_field_id: + self.copyvalue = "${{object.{}.{} or {}}}".format( + self.field_id.name, + self.sub_model_object_field_id.name, + self.default_value or "''", + ) + + # compute the dynamic content for mako expression + @api.multi + def _compute_dynamic_content(self): + MailTemplates = self.env["mail.template"] + for section in self: + lang = ( + section.agreement_id + and section.agreement_id.partner_id.lang + or "en_US" + ) + content = MailTemplates.with_context(lang=lang)._render_template( + section.content, "agreement.section", section.id + ) + section.dynamic_content = content diff --git a/agreement_legal/models/agreement_stage.py b/agreement_legal/models/agreement_stage.py new file mode 100644 index 000000000..05cbb459e --- /dev/null +++ b/agreement_legal/models/agreement_stage.py @@ -0,0 +1,28 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +# Main Agreement Section Records Model +class AgreementStage(models.Model): + _name = "agreement.stage" + _description = "Agreement Stages" + _order = "sequence" + + # General + name = fields.Char( + string="Stage Name", + required=True) + description = fields.Text( + string="Description", + required=False) + sequence = fields.Integer( + string="Sequence", + default="1", + required=False) + fold = fields.Boolean( + string="Is Folded", + required=False, + help="This stage is folded in the kanban view by deafault.", + ) diff --git a/agreement_legal/models/agreement_status.py b/agreement_legal/models/agreement_status.py new file mode 100644 index 000000000..8d9ef3a2d --- /dev/null +++ b/agreement_legal/models/agreement_status.py @@ -0,0 +1,12 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +# Main Agreement Status Records Model +class AgreementStatus(models.Model): + _name = "agreement.type" + + # General + name = fields.Char(string="Title", required=True) diff --git a/agreement_legal/models/agreement_subtype.py b/agreement_legal/models/agreement_subtype.py new file mode 100644 index 000000000..961be0883 --- /dev/null +++ b/agreement_legal/models/agreement_subtype.py @@ -0,0 +1,14 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class AgreementSubtype(models.Model): + _name = "agreement.subtype" + _description = "Agreement Subtypes" + + name = fields.Char(string="Name", required=True) + agreement_type_id = fields.Many2one( + "agreement.type", + string="Agreement Type") diff --git a/agreement_legal/models/agreement_type.py b/agreement_legal/models/agreement_type.py new file mode 100644 index 000000000..3422ec93e --- /dev/null +++ b/agreement_legal/models/agreement_type.py @@ -0,0 +1,16 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class AgreementType(models.Model): + _name = "agreement.type" + _description = "Agreement Types" + + name = fields.Char(string="Name", required=True) + agreement_subtypes_ids = fields.One2many( + "agreement.subtype", + "agreement_type_id", + string="Subtypes" + ) diff --git a/agreement_legal/models/product_template.py b/agreement_legal/models/product_template.py new file mode 100644 index 000000000..3c3b6e9ee --- /dev/null +++ b/agreement_legal/models/product_template.py @@ -0,0 +1,12 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class Product(models.Model): + _inherit = "product.template" + + agreements_ids = fields.Many2many( + "agreement", + string="Agreements") diff --git a/agreement_legal/models/res_config_settings.py b/agreement_legal/models/res_config_settings.py new file mode 100644 index 000000000..7864ddc76 --- /dev/null +++ b/agreement_legal/models/res_config_settings.py @@ -0,0 +1,38 @@ +# Copyright (C) 2018 - TODAY, Open Source Integrators +# 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" + + module_agreement_maintenance = fields.Boolean( + string="Manage maintenance agreements and contracts." + ) + module_agreement_mrp = fields.Boolean( + string="Link your manufacturing orders to an agreement." + ) + module_agreement_project = fields.Boolean( + string="Link your projects and tasks to an agreement." + ) + module_agreement_repair = fields.Boolean( + string="Link your repair orders to an agreement." + ) + module_agreement_rma = fields.Boolean( + string="Link your RMAs to an agreement.") + module_agreement_sale = fields.Boolean( + string="Create an agreement when the sale order is confirmed." + ) + module_agreement_sale_subscription = fields.Boolean( + string="Link your subscriptions to an agreement." + ) + module_agreement_stock = fields.Boolean( + string="Link your pickings to an agreement." + ) + module_fieldservice_agreement = fields.Boolean( + string="Link your Field Service orders and equipments to an agreement." + ) + module_helpdesk_agreement = fields.Boolean( + string="Link your Helpdesk tickets to an agreement." + ) diff --git a/agreement_legal/models/res_partner.py b/agreement_legal/models/res_partner.py new file mode 100644 index 000000000..66f42bce7 --- /dev/null +++ b/agreement_legal/models/res_partner.py @@ -0,0 +1,13 @@ +# Copyright (C) 2018 - TODAY, Pavlov Media +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class Partner(models.Model): + _inherit = "res.partner" + + agreement_ids = fields.One2many( + "agreement", + "partner_id", + string="Agreements") diff --git a/agreement_legal/readme/CONFIGURE.rst b/agreement_legal/readme/CONFIGURE.rst new file mode 100644 index 000000000..3871fc34e --- /dev/null +++ b/agreement_legal/readme/CONFIGURE.rst @@ -0,0 +1,6 @@ +To configure this module: + +* Go to Agreement > Configuration > Templates +* Create a new template with sections and clauses and their respective content +* Go to Agreement > Configuration > Stages +* Create and reorder stages to match your process diff --git a/agreement_legal/readme/CONTRIBUTORS.rst b/agreement_legal/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..a0afb1231 --- /dev/null +++ b/agreement_legal/readme/CONTRIBUTORS.rst @@ -0,0 +1,6 @@ +* Patrick Wilson +* Bhavesh Odedra +* Wolfgang Hall +* Maxime Chambreuil +* Sandip Mangukiya +* Yves Goldberg diff --git a/agreement_legal/readme/CREDITS.rst b/agreement_legal/readme/CREDITS.rst new file mode 100644 index 000000000..76f8e5a33 --- /dev/null +++ b/agreement_legal/readme/CREDITS.rst @@ -0,0 +1,5 @@ +The development of this module has been financially supported by: + +* Pavlov Media +* Open Source Integrators +* Yves Goldberg diff --git a/agreement_legal/readme/DESCRIPTION.rst b/agreement_legal/readme/DESCRIPTION.rst new file mode 100644 index 000000000..0680b36cf --- /dev/null +++ b/agreement_legal/readme/DESCRIPTION.rst @@ -0,0 +1,9 @@ +This module allows you to manage agreements, letter of intent and contract content. +The module is meant to be used by the legal team of a company and to allow them +to define sections, clauses and templates with their respective content that can +be dynamic. + +Based on the template, an agreement can be created and the pdf document generated. + +The agreement would go through a workflow to finally become a contract with the +customer signature. diff --git a/agreement_legal/readme/ROADMAP.rst b/agreement_legal/readme/ROADMAP.rst new file mode 100644 index 000000000..58ac79c67 --- /dev/null +++ b/agreement_legal/readme/ROADMAP.rst @@ -0,0 +1,3 @@ +* Split the module to remove the dependencies on sale and account and provide + the same feature in extra modules (agreement_sale, agreement_account, + agreement_purchase) diff --git a/agreement_legal/readme/USAGE.rst b/agreement_legal/readme/USAGE.rst new file mode 100644 index 000000000..7e8996481 --- /dev/null +++ b/agreement_legal/readme/USAGE.rst @@ -0,0 +1,7 @@ +To use this module: + +* Go to Agreement > Agreements +* Create a new agreement +* Select a template +* Follow the process to get the required approval +* Send the invitation to the customer to review and sign the agreement diff --git a/agreement_legal/report/agreement.xml b/agreement_legal/report/agreement.xml new file mode 100644 index 000000000..546fa2121 --- /dev/null +++ b/agreement_legal/report/agreement.xml @@ -0,0 +1,151 @@ + + + + + + + + + + diff --git a/agreement_legal/security/ir.model.access.csv b/agreement_legal/security/ir.model.access.csv new file mode 100644 index 000000000..2126d3635 --- /dev/null +++ b/agreement_legal/security/ir.model.access.csv @@ -0,0 +1,23 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_agreement_allusers,agreement all users,model_agreement,group_agreement_user,1,1,1,0 +access_agreement_manager,agreement manager,model_agreement,group_agreement_manager,1,1,1,1 +access_agreement_recital_allusers,recital all users,model_agreement_recital,group_agreement_user,1,1,1,0 +access_agreement_recital_manager,recital manager,model_agreement_recital,group_agreement_manager,1,1,1,1 +access_agreement_section_allusers,section all users,model_agreement_section,group_agreement_user,1,1,1,0 +access_agreement_section_manager,section manager,model_agreement_section,group_agreement_manager,1,1,1,1 +access_agreement_clause_allusers,clause all users,model_agreement_clause,group_agreement_user,1,1,1,0 +access_agreement_clause_manager,clause manager,model_agreement_clause,group_agreement_manager,1,1,1,1 +access_agreement_appendix_allusers,appendix all users,model_agreement_appendix,group_agreement_user,1,1,1,0 +access_agreement_appendix_manager,appendix manager,model_agreement_appendix,group_agreement_manager,1,1,1,1 +access_agreement_line_allusers,agreement line all users,model_agreement_line,group_agreement_user,1,1,1,0 +access_agreement_line_manager,agreement line manager,model_agreement_line,group_agreement_manager,1,1,1,1 +access_agreement_stage_allusers,stage all users,model_agreement_stage,group_agreement_user,1,0,0,0 +access_agreement_stage_manager,stage manager,model_agreement_stage,group_agreement_manager,1,1,1,1 +access_agreement_type_allusers,type all users,model_agreement_type,group_agreement_user,1,0,0,0 +access_agreement_type_manager,type manager,model_agreement_type,group_agreement_manager,1,1,1,1 +access_agreement_subtype_allusers,subtype all users,model_agreement_subtype,group_agreement_user,1,0,0,0 +access_agreement_subtype_manager,subtype manager,model_agreement_subtype,group_agreement_manager,1,1,1,1 +access_agreement_renewaltype_allusers,renewaltype all users,model_agreement_renewaltype,group_agreement_user,1,0,0,0 +access_agreement_renewaltype_manager,renewaltype manager,model_agreement_renewaltype,group_agreement_manager,1,1,1,1 +access_agreement_increasetype_allusers,increasetype all users,model_agreement_increasetype,group_agreement_user,1,0,0,0 +access_agreement_increasetype_manager,increasetype manager,model_agreement_increasetype,group_agreement_manager,1,1,1,1 diff --git a/agreement_legal/security/res_groups.xml b/agreement_legal/security/res_groups.xml new file mode 100644 index 000000000..5edde0149 --- /dev/null +++ b/agreement_legal/security/res_groups.xml @@ -0,0 +1,22 @@ + + + + Agreement + 17 + + + + User + + + + + + + Manager + + + + + + diff --git a/agreement_legal/static/description/icon.png b/agreement_legal/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..23ce93135053c48a74469807879f2805b12382ad GIT binary patch literal 6755 zcmV-p8l2^cP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vG&=l}pD=mCOb1snhX8Td&=K~#8N-CKFQ zBvp0(s=Io9`)n{X!YCjrLL4@uLLx?^7>Nlg;0OWKpNe}Tf-$lvB8s2}{h8qK3&9P6 zA)<*}0!9po;{xiS0)rw5Gt55ky?(Ek>Z-1M-??>PSHF1!0kiLh2wasDW7Mv0M0u zAiRJ^rHqA4zG5Ljk*y(xm+2{|26%Krt8`xQhXRsC)@DI(@bcpppYg!>v;++1pP(b zB62H-0kN3ksaS zR}aWD)l0;!XGCohU_SQS-CoR|NhIdH`PiGAGavhN=hn!rHy`_k8N??N6qOqcfEdVw zYK|$D#GZf7Gu%fHdYr?({Mo+@_XY!NOCXPXgWMR+(PN&k`H&?-_G#d?mP(6sE#^fQ20q0-8j1dCw}k zkNIsfAY={-+|HERRq|lXT!gdv#KlNdZY2*$l4K6eI%=noM#Knb7R#__Ub83iBR9sa zFLdiVCFRHD>9SKnDWkpcn%?@EO&5gVpby@rj9@?sHi^Q-qQSKUjyWwxW|ca#UuB0u zRG>iA2Tk&I&2eY0T1Cbf)pL%s{Ilq|(Hd)o!Q4DO^FtI$#ekTn?LZ?-MFvJyxORb_ z>t+tZ9t!Y8RHmF5#}bqqAx+Q;hf(QH(*?Vjj4BulV;sJs&UBLV$q{GRIwmk5wUTaI zPKj<^&w^?pE1F~K3_{l~y0WhELE1URYE6NS;p8;#;^$jB*xl)2=}?K=p}@_W(I;w+ zfU*gTRDkHrhv0w@`Rni?$knwyx?Sx)Em}l5YM@yh!_LMGKJX_)IODm?c{&tPQ6zQr zD6zX}$Tg)BJEH7KpxapPc;Ycd^QPUjg>B6Q*PSqoV-Gz9 zjme!Tb7~TnjA5-|1*P(0n=&M21_gw)Mu3UYAr4M3Iol=;hCz*!Vr-O@t~$4!d|frI z&7;^9M~JDYv`|9Cp--uI@a>He&iwjTEE$pkoH$|Vyh=GikyreM6yRWS#xeV$ zIm0+WCgh%Fx|Uun*b5a-DN&_m)=R|->ctR4oL8j_4pRZkN2*x9bPQ*H;;SguM^UYW zc+KVCz`o0hSUy(Aa5=zGjSA-))e^T>DYW&=^!<|Pu-(&2RWH#jRJ34friC;9DG<-;`cUSOSg-~W5bx3 z7_oKb!X=@U!7{&ok^Q#S$P@L9I4F@fa@~u`J3S!jn&6KI?i9!!BPrd-1ZQrq-QUxh z97iZJ^6!{#Vf%&0;?Y)@`a*73!Z$u2mEtHKnQo#?#*~UTvJH=Ho5n+1rtt9gY5accZalbUlJ!a4_q$1~zjqV9@zYnCnW2IbQCleq zY8Yjr@SKD8$K9KzG0LQBtjLQng(@+67s+gik$>NjGS=PtORRm%OEAkZ&0Yy%Qs5W` zTmQ;lG(7nG?k||}1Hd5P794-t6f7%U#KMEOelo4{JfER-xQCO5R zobUp(f=4x}6j_!rx6IQfD%dvN#`dk7@PX^^!g)9S0w2He`?!?&k+0v0OTKgmF8|tX zxc1!F;KMhq$Mx?%9^F*&eXn3!*U-`QV9#0A1SZdt-%IVr_Q%f$_dZ~tpABl8 z135bdR&cZc=@zzcR1BPJx~J@!U5dJCSfL<1!ir2$t0Nd2ZD27^hOyC6j172o?`ml*;~!Y!`u$0Z`i@ut?0d90Se^8Td4qZSoo^N5QMyV;A)2&-CMd*04maX|1vsm~nuBmutIOCtbNg`ZFX*R)9@;RCkPR}v| z>yBgFf^+g_WWBNW1}+nP94%=9%LsGobPV-TxkUfj5!Ge0}|0_~u1#Ws>B)$z_vHxhaEeo5$bg zZ5^!Ke;I!KlMQ&+NiQWsEvDYQ_@vAh&C#hA-ca?PBBJ8D^q82rN)kmF9SU*qyKlhQ zqGf2;hmi83rc~NIlG{dniI(#U2YY=b)(4W*BrA9l(3(nu$e9VL{qCka%{l`1Xzgm1 zn{~)!kAd);>wk@}uKyKo`q8g(`uYF)&vkW3EUrS>wgm}aMv>+`;i+8&YJKdBia>R?#4(ziJ^8*Td{p}mE>Wyphstc~d z5ANS$?-2Y}Fq&EE);CfHyd79wA<;a`D!Bn{&qKCboe&x zsewwzl>@sY*=hn#khRpU7+~IEH6a&ury#+*xhw55m4PWH2O8Gn^;to1tXjrt7hi*u zFZnl|{88d1H?q7Dr(ALaUUA7S_{H5Dam{;9z$I%|BdsmQ&Injk>S58y2)=*kJ#ImQ zx4b~gH!Ef>y00(=bBCb#H<{$S&PaZo2j>CCGe1<}CbHMj0+Z5XADktmbuMbpj}3Nz zpaQ0vE!_JrXXD<_y&W6ZzJvHq!~5303lCp)Ca!$%8vOM|*WpLp3OAp9EDk$pKXkZN zbiDSMOzjC`+?i+&$iH5Q=)Hi=8W(GKpLk`nTMA2h$^-OP+2sb@|MuQO*Wt`)99JODd1!_n1}{TmoC8e&P0&Q5wX@V- zR(wcEAQn;H*!*iLYiC``5Mw)fS!#GaY>Xt_QJo zQ-W7rycQ>Z`Zly14cD5yZUQ@Ng9w~d~ZL7G|Jod!AuSn4q|pvgcW zr~Gs>3NxQ~bo8a8b*M>hEbWl@9<`}I2@vrdk2AtjLZ?GyTf|_cy3X~O&k;Rjyi&%7 ztKN%8cTDm+J%cTsDmv{+Y-j&yt&104cnxm&_D@l&GovfiFH#PLpg!@kA~C{=`j0d$bBoL z7oZ|z->zyg?xRvPi?F#HK{So29Sz*|sWp}g>)h5`+X{vBDX@~2BHILdho?X}S`YET z>wk#djSgz%0%{CsNyM7=1yfqkzUW}9;!KMN_p>G{Soiad*!*Y{Eed??*)PX` z{P-cf;bn(m`N%L@+!AvCh$*m?okShds^ExozJ$f&`=DDLMz=fylq=}*!sXL*9of2} z%E%T2>9rLsQtF zUW#+CxgBf2dpBNr!8K?ybEL!>Z3=JOk+jLHoK`Mxu1)r72lEE!+5D4d=fGWts2$63 zI7r{^>p1L@0P|Lq;}$(&8ifw;@H?mQgO8t#MyrdEH#5Dma_BA`4&5Ae8bJScYA}L9AWchiVI$I z6ej8=3ePyh^+i`Fl4wLUnEn2Uo*>UPi%TB1N4x-DNBnl3{uK)c43Tru&6BWzlC&A+`nVd{-k;f2JjUC=akURrN^^ zVDyd5!gOz8n@1Kc*=n_{%%iL>%qzyXt1aTTh$D{aMEK42-8lWv4#w|4a~c*6RdDt9 zHewND!mc>LA0N0F7oGAvY@%}7JaXHl>DP41blXwKxbgs##d~iiiiykzpEi5Qwt$NP zHYg9K1YIta0jf7J!pa17^hlUir%mCT6vCBKL>?uq%4V~PX4bDZ)mtn(j1?^^0_|CB z-LezE-QGlxYo!dVvz-`+OoaIKsYm0Xt=rIPHs;oK^Rdsd8 zuFfgZE=X*bx2P}R+S0n6{Q9Rx5w>w8Ws21eG$hhuMIO0~-0SXq5F2^wocH4AprdV+ zbZG>gPA<5~TkX!l`B4`5>eUKPzw#E0O)N!Ft|Mh05LX#c^}7Rop(C2gS;&ZckH9B= zIm(*WvBh0lOD*zjFD4W|Y9MIOpwOarCwJn~Q;tS6o<>5I>g#cBAqngi;E^9DxClyk zy+%`EpT*4X&G_g^hoiydgl6J`q)Z0%^;sZ|iV-_s*_EoF!pj51@H_>W_t-^5!jq)l zIH@KcI7hjCi4DD2w^V@>))c@oDxEUKHx*2ttMxiATz4l%#ulSg8$qkS3_)cGagjMe zMY#Y~PCk|2%V6?c^8ia<$&j{yk|4eM2^e5{;9WfKAfzG`MI)Z!FMQfCPXz`XqCgI% z?*h&3C7j79+p?bR~!Gtq|H&EY!0ST(6H8_VwOLkeSnlgioS-oQA}qt+B;g@JzL@;O!O!#kbt5Cu@>3 zS<+fqT3;rZR!J31OzTb&Zea)6D2~r0BDg2lL)Q8e{9r+D5n0lMoig^MPqjNE^@p$~ zA*EpQsO-|sm$$h-H_Mt#5ek~-3H)dAM(BPGo=xN;4yg!flKaQ@u9aDx3+q{^aUN|P z(adDlAp^=S6kt`xZoZ+OJ^D6V+pS@*p;B*!1Qrt*G`%M}58wz5vH-@4Tto(AicN#)*iZ~mu;Cdk z)Xj^Q)v@V!mIvEw^UyT!=aR5T`%b|WCdK#B+?GNKxxj+x`wdk$;^Nm1$4qMH8M-N^ zl0gBIt{&SlPM&0JodR0G5#~Ha{~TDLQlFVosJi|Qj(aSywHJT^&zJ||$;!Qu+1uQK z@iH8ZotBskyO+;?2zG`Ek5i zvg+&nlgn#KZ+$6E?+eZC%}qsz9U5e4ooq9$s&r_58NvK`17FFZmdPtYgbn#DvgT#> z=cX7@Ln)9&hOY2*`>1yDC3zL)J=%Qst5nT^)&7 + + + + + +Agreements Legal + + + + + + diff --git a/agreement_legal/views/agreement.xml b/agreement_legal/views/agreement.xml new file mode 100644 index 000000000..b400b10b4 --- /dev/null +++ b/agreement_legal/views/agreement.xml @@ -0,0 +1,372 @@ + + + + + + Agreement List + agreement + + + + + + + + + + + + + + + + Agreement Form + agreement + +
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+ This section (on the left) allows you to add dynamic fields inside the description and special terms. +

    +
  1. Select the agreement field
  2. +
  3. Select the sub-field
  4. +
  5. Enter the default value if the field is empty
  6. +
  7. Copy and paste the placeholder expression in the description or the special terms
  8. +
+

+
+ + + + + +

+ This section (on the left) allows you to replace the default listing of the parties with custom dynamic content. +

+
+ +
+ +
+
+ +
+ +
+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

This section is a place where financial records will show the current performance of this agreement.

+

Perhaps include invoices with total vs costs?

+
+
+ +
+

Reviewed by on .

+

Approved by on .

+
+
+
+ Version: . + | Created By: + | Created On: +
+
+
+ + +
+
+
+
+ + + + Agreement Kanban + agreement + + + + + + +
+
+
+
+ + +
+
+ + oe_kanban_text_red +
+ +
+
+
+ +
+
+ - +
+
+
+ V: +
+
+ user & picture +
+
+
+
+
+ + + + + + + + + Agreement Search + agreement + + + + + + + + + + + + + + + + + + agreement.graph + agreement + + + + + + + + + agreement.pivot + agreement + + + + + + + + + Agreements + agreement + form + graph,pivot + + + + + + Agreements + agreement + [('is_template', '=', False)] + kanban,tree,form + + + + Agreements + agreement + [('is_template', '=', False)] + tree,form + + + + Templates + agreement + [('is_template', '=', True)] + + tree,kanban,form + + + diff --git a/agreement_legal/views/agreement_appendix.xml b/agreement_legal/views/agreement_appendix.xml new file mode 100644 index 000000000..2d5229284 --- /dev/null +++ b/agreement_legal/views/agreement_appendix.xml @@ -0,0 +1,95 @@ + + + + + + + Agreement Appendix Tree + agreement.appendix + + + + + + + + + + + + + + Agreement Appendix Form + agreement.appendix + +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + +

+ This section (on the left) allows you to add dynamic fields inside the content. +

    +
  1. Select the appendix field
  2. +
  3. Select the sub-field
  4. +
  5. Enter the default value if the field is empty
  6. +
  7. Copy and paste the placeholder expression in the content
  8. +
+

+
+
+
+
+
+ + + + Agreement Appendix Search + agreement.appendix + + + + + + + + + + Appendices + agreement.appendix + tree,form + + +
diff --git a/agreement_legal/views/agreement_clause.xml b/agreement_legal/views/agreement_clause.xml new file mode 100644 index 000000000..276947e76 --- /dev/null +++ b/agreement_legal/views/agreement_clause.xml @@ -0,0 +1,97 @@ + + + + + + Agreement Clause List + agreement.clause + + + + + + + + + + + + + + + Agreement clause Form + agreement.clause + +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + +

+ This section (on the left) allows you to add dynamic fields inside the content. +

    +
  1. Select the clause field
  2. +
  3. Select the sub-field
  4. +
  5. Enter the default value if the field is empty
  6. +
  7. Copy and paste the placeholder expression in the content
  8. +
+

+
+
+
+
+
+ + + + Agreement Clause Search + agreement.clause + + + + + + + + + + + Clauses + agreement.clause + tree,form + + +
diff --git a/agreement_legal/views/agreement_increasetype.xml b/agreement_legal/views/agreement_increasetype.xml new file mode 100644 index 000000000..8ec1504d5 --- /dev/null +++ b/agreement_legal/views/agreement_increasetype.xml @@ -0,0 +1,45 @@ + + + + + + Agreement Increase Type List + agreement.increasetype + + + + + + + + + + + + Agreement Increase Type Form + agreement.increasetype + +
+ + + + + + + + + + + +
+
+
+ + + + Agreement Increase Type + agreement.increasetype + tree,form + + +
diff --git a/agreement_legal/views/agreement_recital.xml b/agreement_legal/views/agreement_recital.xml new file mode 100644 index 000000000..008d63a32 --- /dev/null +++ b/agreement_legal/views/agreement_recital.xml @@ -0,0 +1,94 @@ + + + + + + Agreement Recital Tree + agreement.recital + + + + + + + + + + + + + + Agreement Recital Form + agreement.recital + +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + +

+ This section (on the left) allows you to add dynamic fields inside the content. +

    +
  1. Select the recital field
  2. +
  3. Select the sub-field
  4. +
  5. Enter the default value if the field is empty
  6. +
  7. Copy and paste the placeholder expression in the content
  8. +
+

+
+
+
+
+
+ + + + Agreement Recital Search + agreement.recital + + + + + + + + + + Recitals + agreement.recital + tree,form + + +
diff --git a/agreement_legal/views/agreement_renewaltype.xml b/agreement_legal/views/agreement_renewaltype.xml new file mode 100644 index 000000000..9dde1fe80 --- /dev/null +++ b/agreement_legal/views/agreement_renewaltype.xml @@ -0,0 +1,41 @@ + + + + + + Agreement Renewal Type List + agreement.renewaltype + + + + + + + + + + + Agreement Renewal Type Form + agreement.renewaltype + +
+ + + + + + + + +
+
+
+ + + + Agreement Renewal Type + agreement.renewaltype + tree,form + + +
diff --git a/agreement_legal/views/agreement_section.xml b/agreement_legal/views/agreement_section.xml new file mode 100644 index 000000000..517197ae0 --- /dev/null +++ b/agreement_legal/views/agreement_section.xml @@ -0,0 +1,109 @@ + + + + + + Agreement Section List + agreement.section + + + + + + + + + + + + + + Agreement Section Form + agreement.section + +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +

+ This section (on the left) allows you to add dynamic fields inside the content. +

    +
  1. Select the section field
  2. +
  3. Select the sub-field
  4. +
  5. Enter the default value if the field is empty
  6. +
  7. Copy and paste the placeholder expression in the content
  8. +
+

+
+
+ + + + + + + + + +
+
+
+
+
+ + + + Agreement Section Search + agreement.section + + + + + + + + + + Agreement Sections + agreement.section + tree,form + + +
diff --git a/agreement_legal/views/agreement_stages.xml b/agreement_legal/views/agreement_stages.xml new file mode 100644 index 000000000..fdb413800 --- /dev/null +++ b/agreement_legal/views/agreement_stages.xml @@ -0,0 +1,43 @@ + + + + + + Agreement Stage List + agreement.stage + + + + + + + + + + + Agreement Stage Form + agreement.stage + +
+ +
+
+ + + + +
+
+
+
+ + + + Agreement Stage + agreement.stage + tree,form + + +
diff --git a/agreement_legal/views/agreement_subtype.xml b/agreement_legal/views/agreement_subtype.xml new file mode 100644 index 000000000..a22063eb4 --- /dev/null +++ b/agreement_legal/views/agreement_subtype.xml @@ -0,0 +1,45 @@ + + + + + + Agreement Subtype List + agreement.subtype + + + + + + + + + + + Agreement Sub Type Form + agreement.subtype + +
+ +
+
+ + + + + + +
+
+
+
+ + + + Agreement Sub-Types + agreement.subtype + tree,form + + +
diff --git a/agreement_legal/views/agreement_type.xml b/agreement_legal/views/agreement_type.xml new file mode 100644 index 000000000..1d86cab56 --- /dev/null +++ b/agreement_legal/views/agreement_type.xml @@ -0,0 +1,45 @@ + + + + + + Agreement Type List + agreement.type + + + + + + + + + + + Agreement Type Form + agreement.type + +
+ +
+
+ + + + + +
+
+
+
+ + + + Agreement Types + agreement.type + tree,form + + +
diff --git a/agreement_legal/views/menu.xml b/agreement_legal/views/menu.xml new file mode 100644 index 000000000..7bf163189 --- /dev/null +++ b/agreement_legal/views/menu.xml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/agreement_legal/views/res_config_settings.xml b/agreement_legal/views/res_config_settings.xml new file mode 100644 index 000000000..0d58c3d7a --- /dev/null +++ b/agreement_legal/views/res_config_settings.xml @@ -0,0 +1,161 @@ + + + + + res.config.settings.view.form.agreement + res.config.settings + + + + +
+

Operations

+
+
+
+ +
+
+
+
+
+

Advanced Features

+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ + + +
diff --git a/agreement_legal/views/res_partner.xml b/agreement_legal/views/res_partner.xml new file mode 100644 index 000000000..6b37099aa --- /dev/null +++ b/agreement_legal/views/res_partner.xml @@ -0,0 +1,17 @@ + + + + + res.partner + + + + + + + + + + + + From a5ce1658a3f9b3b03b173596148a4914e2768fb0 Mon Sep 17 00:00:00 2001 From: Murtuza Saleh Date: Thu, 18 Apr 2019 21:07:34 +0530 Subject: [PATCH 02/86] [FIX][12.0] Menu Icon. [UPD] Update agreement_legal.pot --- agreement_legal/i18n/agreement_legal.pot | 45 ++++++++++++++++++++++-- agreement_legal/views/menu.xml | 2 +- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/agreement_legal/i18n/agreement_legal.pot b/agreement_legal/i18n/agreement_legal.pot index cd6c8a010..39a240325 100644 --- a/agreement_legal/i18n/agreement_legal.pot +++ b/agreement_legal/i18n/agreement_legal.pot @@ -290,6 +290,11 @@ msgstr "" msgid "Compute dynamic description" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_parties +msgid "Compute dynamic parties" +msgstr "" + #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_special_terms msgid "Compute dynamic special terms" @@ -492,6 +497,11 @@ msgstr "" msgid "Dynamic Description" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_parties +msgid "Dynamic Parties" +msgstr "" + #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_special_terms msgid "Dynamic Special Terms" @@ -826,8 +836,8 @@ msgstr "" #. module: agreement_legal #: code:addons/agreement_legal/models/agreement.py:102 -#: code:addons/agreement_legal/models/agreement.py:399 -#: code:addons/agreement_legal/models/agreement.py:402 +#: code:addons/agreement_legal/models/agreement.py:451 +#: code:addons/agreement_legal/models/agreement.py:454 #, python-format msgid "New" msgstr "" @@ -888,11 +898,22 @@ msgid "Parent Agreement" msgstr "" #. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__parties #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document msgid "Parties" msgstr "" +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Parties Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__parties +msgid "Parties of the agreement" +msgstr "" + #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_id #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view @@ -1389,6 +1410,11 @@ msgstr "" msgid "This section (on the left) allows you to add dynamic fields inside the description and special terms." msgstr "" +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section (on the left) allows you to replace the default listing of the parties with custom dynamic content." +msgstr "" + #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "This section is a place where financial records will show the current performance of this agreement." @@ -1435,6 +1461,21 @@ msgstr "" msgid "Units Of Measure" msgstr "" +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Use custom content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__use_parties_content +msgid "Use custom content for parties" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__use_parties_content +msgid "Use parties content" +msgstr "" + #. module: agreement_legal #: model:res.groups,name:agreement_legal.group_agreement_user msgid "User" diff --git a/agreement_legal/views/menu.xml b/agreement_legal/views/menu.xml index 7bf163189..09d72b49a 100644 --- a/agreement_legal/views/menu.xml +++ b/agreement_legal/views/menu.xml @@ -8,7 +8,7 @@ From 4ab56ee65affaa76aaeab4eb225d6018695c403e Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Tue, 30 Apr 2019 09:14:38 -0500 Subject: [PATCH 03/86] [FIX] Icon in settings --- agreement_legal/__init__.py | 8 + agreement_legal/__manifest__.py | 6 +- agreement_legal/i18n/agreement_legal.pot | 63 +- agreement_legal/i18n/fr.po | 623 +++---- agreement_legal/i18n/pt_PT.po | 1559 +++++++++++++++++ agreement_legal/models/agreement.py | 212 +-- agreement_legal/models/agreement_clause.py | 27 +- agreement_legal/models/agreement_section.py | 45 +- agreement_legal/models/res_config_settings.py | 2 +- agreement_legal/report/agreement.xml | 4 +- agreement_legal/security/ir.model.access.csv | 16 +- agreement_legal/security/res_groups.xml | 10 +- agreement_legal/views/agreement.xml | 11 +- agreement_legal/views/menu.xml | 2 +- agreement_legal/views/res_config_settings.xml | 4 +- 15 files changed, 2058 insertions(+), 534 deletions(-) create mode 100644 agreement_legal/i18n/pt_PT.po diff --git a/agreement_legal/__init__.py b/agreement_legal/__init__.py index 073035d16..c8c5c214f 100644 --- a/agreement_legal/__init__.py +++ b/agreement_legal/__init__.py @@ -1,4 +1,12 @@ # Copyright (C) 2018 - TODAY, Pavlov Media # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import api, SUPERUSER_ID from . import models + + +def post_init_agreement_legal(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, dict()) + cr.execute('UPDATE agreement SET stage_id = %s WHERE stage_id IS NULL;', + (env.ref('agreement_legal.agreement_stage_new').id,)) + return True diff --git a/agreement_legal/__manifest__.py b/agreement_legal/__manifest__.py index d519218a2..aae585b4e 100644 --- a/agreement_legal/__manifest__.py +++ b/agreement_legal/__manifest__.py @@ -35,7 +35,11 @@ "views/agreement.xml", "views/menu.xml", ], + "post_init_hook": "post_init_agreement_legal", "application": True, "development_status": "Beta", - "maintainers": ["max3903", "ygol"], + "maintainers": [ + "max3903", + "ygol" + ], } diff --git a/agreement_legal/i18n/agreement_legal.pot b/agreement_legal/i18n/agreement_legal.pot index 39a240325..ba5df9f01 100644 --- a/agreement_legal/i18n/agreement_legal.pot +++ b/agreement_legal/i18n/agreement_legal.pot @@ -42,6 +42,7 @@ msgstr "" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__agreement_id #: model:ir.module.category,name:agreement_legal.agreement #: model:ir.module.category,name:agreement_legal.module_agreement_legal_category +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document msgid "Agreement" msgstr "" @@ -165,11 +166,6 @@ msgstr "" msgid "Agreements" msgstr "" -#. module: agreement_legal -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "Agreements Form" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -237,7 +233,6 @@ msgstr "" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__child_agreements_ids -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__previous_version_agreements_ids #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "Child Agreements" msgstr "" @@ -269,7 +264,6 @@ msgid "Color" msgstr "" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_partner_id #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document msgid "Company" @@ -514,7 +508,6 @@ msgstr "" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_email -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_email msgid "Email" msgstr "" @@ -595,15 +588,10 @@ msgstr "" msgid "ID used for internal contract tracking." msgstr "" -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement_section__active -msgid "If unchecked, it will allow you to hide the\n" -" agreement without removing it." -msgstr "" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__active #: model:ir.model.fields,help:agreement_legal.field_agreement_clause__active +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__active msgid "If unchecked, it will allow you to hide the agreement without removing it." msgstr "" @@ -720,7 +708,7 @@ msgid "Link your Helpdesk tickets to an agreement" msgstr "" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_helpdesk_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_helpdesk msgid "Link your Helpdesk tickets to an agreement." msgstr "" @@ -835,9 +823,9 @@ msgid "Name:" msgstr "" #. module: agreement_legal -#: code:addons/agreement_legal/models/agreement.py:102 -#: code:addons/agreement_legal/models/agreement.py:451 -#: code:addons/agreement_legal/models/agreement.py:454 +#: code:addons/agreement_legal/models/agreement.py:84 +#: code:addons/agreement_legal/models/agreement.py:384 +#: code:addons/agreement_legal/models/agreement.py:387 #, python-format msgid "New" msgstr "" @@ -926,11 +914,21 @@ msgstr "" msgid "Partner Contact" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_email +msgid "Partner Email" +msgstr "" + #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document msgid "Partner Information" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_phone +msgid "Partner Phone" +msgstr "" + #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view msgid "Partners" @@ -953,7 +951,6 @@ msgstr "" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_phone -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_phone msgid "Phone" msgstr "" @@ -971,6 +968,11 @@ msgstr "" msgid "Preview" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__previous_version_agreements_ids +msgid "Previous Versions" +msgstr "" + #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "Previouse Versions" @@ -1022,6 +1024,11 @@ msgstr "" msgid "Quantity" msgstr "" +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_readonly +msgid "Read-Only Users" +msgstr "" + #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form msgid "Recital" @@ -1229,10 +1236,14 @@ msgstr "" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_user_id -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_user_id msgid "Signed By" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_user_id +msgid "Signed By (Partner)" +msgstr "" + #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract msgid "Signed Document" @@ -1240,10 +1251,14 @@ msgstr "" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_date -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_date msgid "Signed on" msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_date +msgid "Signed on (Partner)" +msgstr "" + #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__special_terms #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view @@ -1379,11 +1394,15 @@ msgstr "" msgid "The revision will increase with every save event." msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__title +msgid "The title is displayed on the PDF. The name is not." +msgstr "" + #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__title #: model:ir.model.fields,help:agreement_legal.field_agreement_clause__title #: model:ir.model.fields,help:agreement_legal.field_agreement_recital__title -#: model:ir.model.fields,help:agreement_legal.field_agreement_section__title msgid "The title is displayed on the PDF.The name is not." msgstr "" diff --git a/agreement_legal/i18n/fr.po b/agreement_legal/i18n/fr.po index 75a426bf2..a5a1e0883 100644 --- a/agreement_legal/i18n/fr.po +++ b/agreement_legal/i18n/fr.po @@ -17,11 +17,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 3.5.1\n" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_needaction -msgid "Action Needed" -msgstr "Nécessite une action" - #. module: agreement_legal #: selection:agreement,state:0 #: model:ir.model.fields,field_description:agreement_legal.field_agreement__active @@ -29,7 +24,6 @@ msgstr "Nécessite une action" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__active #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__active #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__active -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__active msgid "Active" msgstr "Actif" @@ -44,13 +38,12 @@ msgid "Advanced Features" msgstr "Fonctionnalités avancées" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_account_analytic_line__agreement_id +#: model:ir.model,name:agreement_legal.model_agreement #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__agreement_id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__agreement_id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__agreement_id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__agreement_id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__agreement_id -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__agreement_id #: model:ir.module.category,name:agreement_legal.agreement #: model:ir.module.category,name:agreement_legal.module_agreement_legal_category #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document @@ -74,6 +67,7 @@ msgstr "Clause de l'accord" #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_increasetype +#: model:ir.model,name:agreement_legal.model_agreement_increasetype msgid "Agreement Increase Type" msgstr "Type d'augmentation d'accord" @@ -94,6 +88,7 @@ msgstr "Préambules de l'accord" #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_renewaltype +#: model:ir.model,name:agreement_legal.model_agreement_renewaltype msgid "Agreement Renewal Type" msgstr "Type de renouvellement de l'accord" @@ -113,11 +108,6 @@ msgstr "Recherche de section d'accord" msgid "Agreement Sections" msgstr "Sections de l'accord" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_agreement_serviceprofile -msgid "Agreement Service Profiles" -msgstr "Profils de service d'accord" - #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_stage msgid "Agreement Stage" @@ -163,10 +153,11 @@ msgstr "Types de l'accord" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_product_product__agreements_ids #: model:ir.model.fields,field_description:agreement_legal.field_product_template__agreements_ids #: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids +#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting -#: model:ir.ui.menu,name:agreement_legal.agreement_root #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view @@ -194,20 +185,14 @@ msgstr "Formulaire d'étape des accords" msgid "Agreements Type Form" msgstr "Formulaire du type d'accords" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__analytic_id -msgid "Analytic Account" -msgstr "Compte analytique" - -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_account_analytic_line -msgid "Analytic Line" -msgstr "Ligne analytique" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__special_terms -msgid "Any terms that you have agreed to and want to track on the agreement/contract." -msgstr "Toutes les conditions que vous avez acceptées et que vous souhaitez suivre sur l’accord / contrat." +msgid "" +"Any terms that you have agreed to and want to track on the agreement/" +"contract." +msgstr "" +"Toutes les conditions que vous avez acceptées et que vous souhaitez suivre " +"sur l’accord / contrat." #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.agreement_appendix_action @@ -248,11 +233,6 @@ msgstr "Archivé" msgid "Assigned To" msgstr "Assigné à" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_attachment_count -msgid "Attachment Count" -msgstr "Nombre de pièces jointes" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document msgid "By:" @@ -313,21 +293,18 @@ msgstr "Contact de la société" msgid "Company Information" msgstr "Informations sur la société" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_company_mrc -msgid "Company MRC" -msgstr "Société MRC" - -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_company_nrc -msgid "Company NRC" -msgstr "Société NRC" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_description msgid "Compute dynamic description" msgstr "Générer description dynamique" +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_parties +#, fuzzy +#| msgid "Compute dynamic special terms" +msgid "Compute dynamic parties" +msgstr "Générer les termes spéciaux dynamiques" + #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_special_terms msgid "Compute dynamic special terms" @@ -375,11 +352,6 @@ msgstr "Document contractuel" msgid "Contract Document Preview" msgstr "Aperçu du contrat" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__contract_value -msgid "Contract Value" -msgstr "Valeur du contrat" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form @@ -390,8 +362,11 @@ msgstr "Copiez et collez l'expression dans le contenu" #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "Copy and paste the placeholder expression in the description or the special terms" -msgstr "Copiez et collez l'expression dans la description ou les conditions spéciales" +msgid "" +"Copy and paste the placeholder expression in the description or the special " +"terms" +msgstr "" +"Copiez et collez l'expression dans la description ou les conditions spéciales" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale @@ -404,7 +379,6 @@ msgid "Create an agreement when the sales order is confirmed" msgstr "Créer un contrat lorsque la commande client est confirmée" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_uid @@ -412,7 +386,6 @@ msgstr "Créer un contrat lorsque la commande client est confirmée" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_uid -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_uid @@ -420,7 +393,6 @@ msgid "Created by" msgstr "Créé par" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_date @@ -428,7 +400,6 @@ msgstr "Créé par" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_date -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_date @@ -440,16 +411,6 @@ msgstr "Créé le" msgid "Currency" msgstr "Devise" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_customer_mrc -msgid "Customer MRC" -msgstr "MRC client" - -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__total_customer_nrc -msgid "Customer NRC" -msgstr "NRC client" - #. module: agreement_legal #: model:ir.ui.menu,name:agreement_legal.agreement_dashboard msgid "Dashboard" @@ -518,7 +479,6 @@ msgid "Description of the renewal type." msgstr "Description du type de renouvellement." #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__display_name @@ -526,7 +486,6 @@ msgstr "Description du type de renouvellement." #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__display_name -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__display_name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__display_name @@ -551,6 +510,13 @@ msgstr "Contenu dynamique" msgid "Dynamic Description" msgstr "Description dynamique" +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_parties +#, fuzzy +#| msgid "Dynamic Content" +msgid "Dynamic Parties" +msgstr "Contenu dynamique" + #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_special_terms msgid "Dynamic Special Terms" @@ -618,26 +584,6 @@ msgstr "" "Expression de substitution finale, à copier-coller dans\n" " le champ du modèle." -#. module: agreement_legal -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "Financials" -msgstr "Finance" - -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_follower_ids -msgid "Followers" -msgstr "Abonnés" - -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_channel_ids -msgid "Followers (Channels)" -msgstr "Abonnés (Canaux)" - -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_partner_ids -msgid "Followers (Partners)" -msgstr "Abonnés (Partenaires)" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "General" @@ -649,7 +595,6 @@ msgid "Helpdesk" msgstr "Assistance" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__id @@ -657,7 +602,6 @@ msgstr "Assistance" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__id -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__id #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__id @@ -665,25 +609,10 @@ msgid "ID" msgstr "ID" #. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__reference +#: model:ir.model.fields,help:agreement_legal.field_agreement__code msgid "ID used for internal contract tracking." msgstr "ID utilisé pour le suivi interne des contrats." -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__message_unread -msgid "If checked new messages require your attention." -msgstr "Si coché, de nouveaux messages demandent votre attention." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__message_needaction -msgid "If checked, new messages require your attention." -msgstr "Si coché, de nouveaux messages demandent votre attention." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__message_has_error -msgid "If checked, some messages have a delivery error." -msgstr "Si actif, certains messages ont une erreur de livraison." - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_section__active msgid "" @@ -696,23 +625,27 @@ msgstr "" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__active #: model:ir.model.fields,help:agreement_legal.field_agreement_clause__active -msgid "If unchecked, it will allow you to hide the agreement without removing it." -msgstr "Si cette case est décochée, cela vous permettra de cacher l'accord sans le supprimer." +msgid "" +"If unchecked, it will allow you to hide the agreement without removing it." +msgstr "" +"Si cette case est décochée, cela vous permettra de cacher l'accord sans le " +"supprimer." #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__active -msgid "If unchecked, it will allow you to hide this appendix without removing it." -msgstr "Si cette case est décochée, cela vous permettra de masquer cette annexe sans la supprimer." +msgid "" +"If unchecked, it will allow you to hide this appendix without removing it." +msgstr "" +"Si cette case est décochée, cela vous permettra de masquer cette annexe sans " +"la supprimer." #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_recital__active -msgid "If unchecked, it will allow you to hide this recital without removing it." -msgstr "Si cette case est décochée, cela vous permettra de masquer ce préambule sans le supprimer." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement_serviceprofile__active -msgid "If unchecked, it will allow you to hide this service profile without removing it." -msgstr "Si cette case est décochée, cela vous permettra de masquer ce profil de service sans le supprimer." +msgid "" +"If unchecked, it will allow you to hide this recital without removing it." +msgstr "" +"Si cette case est décochée, cela vous permettra de masquer ce préambule sans " +"le supprimer." #. module: agreement_legal #: selection:agreement,state:0 @@ -736,8 +669,11 @@ msgstr "Types de l'augmentation" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__name -msgid "Increase types describe any increases that may happen during the contract." -msgstr "Les types d'augmentation décrivent les augmentations éventuelles en cours de contrat." +msgid "" +"Increase types describe any increases that may happen during the contract." +msgstr "" +"Les types d'augmentation décrivent les augmentations éventuelles en cours de " +"contrat." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form @@ -749,18 +685,12 @@ msgstr "Inventaire" msgid "Is Folded" msgstr "Est replié" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_is_follower -msgid "Is Follower" -msgstr "Est un abonné" - #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__is_template msgid "Is a Template?" msgstr "Modèle ?" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype____last_update @@ -768,7 +698,6 @@ msgstr "Modèle ?" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype____last_update #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type____last_update @@ -776,7 +705,6 @@ msgid "Last Modified on" msgstr "Dernière modification le" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_uid @@ -784,7 +712,6 @@ msgstr "Dernière modification le" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_uid -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_uid @@ -792,7 +719,6 @@ msgid "Last Updated by" msgstr "Dernière mise à jour par" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_date @@ -800,7 +726,6 @@ msgstr "Dernière mise à jour par" #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_date -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_date #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_date @@ -809,18 +734,26 @@ msgstr "Dernière mise à jour le" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__parent_agreement_id -msgid "Link this agreement to a parent agreement. For example if this agreement is an amendment to another agreement. This list will only show other agreements related to the same account." -msgstr "Liez cet accord à un accord parent. Par exemple, dans le cas d'amendement à un accord. Cette liste ne montrera que les autres accords liés au même compte." +msgid "" +"Link this agreement to a parent agreement. For example if this agreement is " +"an amendment to another agreement. This list will only show other agreements " +"related to the same account." +msgstr "" +"Liez cet accord à un accord parent. Par exemple, dans le cas d'amendement à " +"un accord. Cette liste ne montrera que les autres accords liés au même " +"compte." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Link your Field Service orders and equipments to an agreement" -msgstr "Liez vos commandes de service après-vente et équipements pour le contrat" +msgstr "" +"Liez vos commandes de service après-vente et équipements pour le contrat" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_fieldservice_agreement msgid "Link your Field Service orders and equipments to an agreement." -msgstr "Liez vos commandes de service après-vente et vos équipements à un contrat." +msgstr "" +"Liez vos commandes de service après-vente et vos équipements à un contrat." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form @@ -828,7 +761,7 @@ msgid "Link your Helpdesk tickets to an agreement" msgstr "Liez vos tickets de support à un contrat" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_helpdesk_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_helpdesk msgid "Link your Helpdesk tickets to an agreement." msgstr "Liez vos tickets de support à un contrat." @@ -892,11 +825,6 @@ msgstr "Liez vos abonnements à un contrat." msgid "Link your transfers to an agreement" msgstr "Liez vos transferts à un accord" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_main_attachment_id -msgid "Main Attachment" -msgstr "Pièce jointe principale" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Maintenance" @@ -932,22 +860,11 @@ msgstr "Fabrication" msgid "Master Data" msgstr "Données de base" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_has_error -msgid "Message Delivery error" -msgstr "Erreur d'envoi du message" - -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_ids -msgid "Messages" -msgstr "Messages" - #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__name -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_serviceprofile__name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__name #: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__name msgid "Name" @@ -959,9 +876,9 @@ msgid "Name:" msgstr "Nom :" #. module: agreement_legal -#: code:addons/agreement_legal/models/agreement.py:108 -#: code:addons/agreement_legal/models/agreement.py:444 -#: code:addons/agreement_legal/models/agreement.py:445 +#: code:addons/agreement_legal/models/agreement.py:102 +#: code:addons/agreement_legal/models/agreement.py:451 +#: code:addons/agreement_legal/models/agreement.py:454 #, python-format msgid "New" msgstr "Nouveau" @@ -986,11 +903,6 @@ msgstr "Non-modèles" msgid "Notification Address" msgstr "Adresse de notification" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_needaction_counter -msgid "Number of Actions" -msgstr "Nombre d'actions" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__expiration_notice msgid "Number of Days before expiration to be notified." @@ -1001,31 +913,11 @@ msgstr "Nombre de jours avant expiration à notifier." msgid "Number of Days to be notified before changes." msgstr "Nombre de jours à notifier avant les modifications." -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_has_error_counter -msgid "Number of error" -msgstr "Nombre d'erreurs" - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__message_needaction_counter -msgid "Number of messages which requires an action" -msgstr "Nombre de messages exigeant une action" - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__message_has_error_counter -msgid "Number of messages with delivery error" -msgstr "Nombre de messages avec des erreurs d'envoi" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__term msgid "Number of months this agreement/contract is in effect with the partner." msgstr "Nombre de mois de validité de cet accord / contrat avec le partenaire." -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__message_unread_counter -msgid "Number of unread messages" -msgstr "Nombre de messages non lus" - #. module: agreement_legal #: model:ir.ui.menu,name:agreement_legal.agreement_operations #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form @@ -1047,11 +939,26 @@ msgid "Parent Agreement" msgstr "Contrat parent" #. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__parties #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view #: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document msgid "Parties" msgstr "Parties de l'accord" +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#, fuzzy +#| msgid "Partner Contact" +msgid "Parties Content" +msgstr "Contact partenaire" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__parties +#, fuzzy +#| msgid "Description of the agreement" +msgid "Parties of the agreement" +msgstr "Description de l'accord" + #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_id #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view @@ -1074,16 +981,6 @@ msgstr "Information partenaire" msgid "Partners" msgstr "Partenaires" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__payment_term_id -msgid "Payment Term" -msgstr "Modalité de paiement" - -#. module: agreement_legal -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "Payment Terms" -msgstr "Conditions de paiement" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__increase_percent msgid "Percentage that the amount will increase." @@ -1191,7 +1088,7 @@ msgid "Record's Colour" msgstr "Couleur de l'enregistrement" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reference +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__code msgid "Reference" msgstr "Référence" @@ -1207,8 +1104,11 @@ msgstr "Types de renouvellement" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__name -msgid "Renewal types describe what happens after the agreement/contract expires." -msgstr "Les types de renouvellement décrivent ce qui se passe après l'expiration de l'accord / du contrat." +msgid "" +"Renewal types describe what happens after the agreement/contract expires." +msgstr "" +"Les types de renouvellement décrivent ce qui se passe après l'expiration de " +"l'accord / du contrat." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form @@ -1230,12 +1130,6 @@ msgstr "Représenté par" msgid "Returns" msgstr "Retours" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__analytic_line_ids -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "Revenues and Costs" -msgstr "Revenus et Coûts" - #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_user_id msgid "Reviewed By" @@ -1271,11 +1165,6 @@ msgstr "Abonnements" msgid "Sales" msgstr "Vente" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sale_order_id -msgid "Sales Order" -msgstr "Bon de commande" - #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__section_id #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view @@ -1303,18 +1192,16 @@ msgstr "Sections" #: model:ir.model.fields,help:agreement_legal.field_agreement_section__field_id msgid "" "Select target field from the related document model. If it is a\n" -" relationship field you will be able to select a target field at the\n" +" relationship field you will be able to select a target field at " +"the\n" " destination of the relationship." msgstr "" -"Sélectionnez le champ cible dans le modèle de document associé. Dans le cas d'un\n" -" champ relationnel, vous serez en mesure de sélectionner un champ cible à la\n" +"Sélectionnez le champ cible dans le modèle de document associé. Dans le cas " +"d'un\n" +" champ relationnel, vous serez en mesure de sélectionner un champ " +"cible à la\n" " destination de la relation." -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__sale_order_id -msgid "Select the Sales Order that this agreement is related to." -msgstr "Sélectionnez la commande à laquelle cet accord se rapporte." - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "Select the agreement field" @@ -1356,8 +1243,12 @@ msgstr "Sélectionnez le sous-champ" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_subtype_id -msgid "Select the sub-type of this agreement. Sub-Types are related to agreement types." -msgstr "Sélectionnez le sous-type de cet accord. Les sous-types sont liés aux types d'accord." +msgid "" +"Select the sub-type of this agreement. Sub-Types are related to agreement " +"types." +msgstr "" +"Sélectionnez le sous-type de cet accord. Les sous-types sont liés aux types " +"d'accord." #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_type_id @@ -1383,30 +1274,6 @@ msgstr "Acheter et vendre dans des unités de mesure différentes" msgid "Sequence" msgstr "Séquence" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__order_lines_services_ids -msgid "Service Order Lines" -msgstr "Lignes de commande de service" - -#. module: agreement_legal -#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_serviceprofile_form -msgid "Service Profile" -msgstr "Profil de service" - -#. module: agreement_legal -#: model:ir.actions.act_window,name:agreement_legal.agreement_serviceprofile_action -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__serviceprofile_ids -#: model:ir.ui.menu,name:agreement_legal.agreement_serviceprofiles -#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_serviceprofile_tree -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "Service Profiles" -msgstr "Profils de service" - -#. module: agreement_legal -#: model_terms:ir.ui.view,arch_db:agreement_legal.order_lines_search_view -msgid "Service Type" -msgstr "Type de service" - #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.action_agreement_config #: model:ir.ui.menu,name:agreement_legal.agreement_settings @@ -1541,15 +1408,14 @@ msgstr "Date de résiliation" msgid "Termination Requested Date" msgstr "Date de résiliation demandée" -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__payment_term_id -msgid "Terms of payments." -msgstr "Conditions de paiements." - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__notification_address_id -msgid "The address to send notificaitons to, if different from customer address.(Address Type = Other)" -msgstr "Adresse à laquelle envoyer les notifications, si différente de l'adresse du client. (Type d'adresse = Autre)" +msgid "" +"The address to send notificaitons to, if different from customer address." +"(Address Type = Other)" +msgstr "" +"Adresse à laquelle envoyer les notifications, si différente de l'adresse du " +"client. (Type d'adresse = Autre)" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__increase_type_id @@ -1586,31 +1452,62 @@ msgstr "Le titre est affiché sur le PDF. Le nom ne l’est pas." #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_user_id -msgid "The user at our company who authorized/signed the agreement or contract." -msgstr "L'utilisateur de notre société qui a autorisé / signé l'accord ou le contrat." +msgid "" +"The user at our company who authorized/signed the agreement or contract." +msgstr "" +"L'utilisateur de notre société qui a autorisé / signé l'accord ou le contrat." #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__version -msgid "The versions are used to keep track of document history and previous versions can be referenced." -msgstr "Les versions permettent de suivre l'historique des documents et les versions précédentes peuvent être référencées." +msgid "" +"The versions are used to keep track of document history and previous " +"versions can be referenced." +msgstr "" +"Les versions permettent de suivre l'historique des documents et les versions " +"précédentes peuvent être référencées." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view -msgid "This section (on the left) allows you to add dynamic fields inside the content." -msgstr "Cette section (à gauche) vous permet d'ajouter des champs dynamiques à l'intérieur du contenu." +msgid "" +"This section (on the left) allows you to add dynamic fields inside the " +"content." +msgstr "" +"Cette section (à gauche) vous permet d'ajouter des champs dynamiques à " +"l'intérieur du contenu." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "This section (on the left) allows you to add dynamic fields inside the description and special terms." -msgstr "Cette section (à gauche) vous permet d'ajouter des champs dynamiques à l'intérieur de la description et des termes spéciaux." +msgid "" +"This section (on the left) allows you to add dynamic fields inside the " +"description and special terms." +msgstr "" +"Cette section (à gauche) vous permet d'ajouter des champs dynamiques à " +"l'intérieur de la description et des termes spéciaux." #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view -msgid "This section is a place where financial records will show the current performance of this agreement." -msgstr "Cette section est un endroit où les registres financiers montreront la performance actuelle de cet accord." +#, fuzzy +#| msgid "" +#| "This section (on the left) allows you to add dynamic fields inside the " +#| "content." +msgid "" +"This section (on the left) allows you to replace the default listing of the " +"parties with custom dynamic content." +msgstr "" +"Cette section (à gauche) vous permet d'ajouter des champs dynamiques à " +"l'intérieur du contenu." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "" +"This section is a place where financial records will show the current " +"performance of this agreement." +msgstr "" +"Cette section est un endroit où les registres financiers montreront la " +"performance actuelle de cet accord." #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_stage__fold @@ -1633,31 +1530,6 @@ msgstr "Titre" msgid "Title:" msgstr "Titre :" -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__total_company_mrc -msgid "Total company monthly recurring costs." -msgstr "Total des coûts récurrents mensuels de la société." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__total_company_nrc -msgid "Total company non-recurring costs." -msgstr "Total des coûts non récurrents de la société." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__total_customer_mrc -msgid "Total custemer monthly recurring costs." -msgstr "Total des coûts récurrents mensuels du client." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__total_customer_nrc -msgid "Total custemer non-monthly recurring costs." -msgstr "Total des coûts client mensuels non-récurrents." - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__contract_value -msgid "Total value of the contract over ther entire term." -msgstr "Valeur totale du contrat sur toute la durée." - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view msgid "Type Name" @@ -1679,14 +1551,21 @@ msgid "Units Of Measure" msgstr "Unités de mesure" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_unread -msgid "Unread Messages" -msgstr "Messages non lus" +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#, fuzzy +#| msgid "Section Content" +msgid "Use custom content" +msgstr "Contenu de la section" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__use_parties_content +msgid "Use custom content for parties" +msgstr "" #. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__message_unread_counter -msgid "Unread Messages Counter" -msgstr "Compteur de messages non lus" +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__use_parties_content +msgid "Use parties content" +msgstr "" #. module: agreement_legal #: model:res.groups,name:agreement_legal.group_agreement_user @@ -1703,16 +1582,6 @@ msgstr "Version" msgid "Version:" msgstr "Version :" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement__website_message_ids -msgid "Website Messages" -msgstr "Messages du site web" - -#. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__website_message_ids -msgid "Website communication history" -msgstr "Historique de communication du site web" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__sub_model_object_field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_model_object_field_id @@ -1721,11 +1590,13 @@ msgstr "Historique de communication du site web" #: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_model_object_field_id msgid "" "When a relationship field is selected as first field, this\n" -" field lets you select the target field within the destination document\n" +" field lets you select the target field within the destination " +"document\n" " model (sub-model)." msgstr "" "Lorsqu'un champ relationnel est sélectionné en premier, cela\n" -" vous permet de sélectionner le champ cible dans le document de destination\n" +" vous permet de sélectionner le champ cible dans le document de " +"destination\n" " modèle (sous-modèle)." #. module: agreement_legal @@ -1751,21 +1622,6 @@ msgstr "Quand l'accord se termine." msgid "When the agreement starts." msgstr "Quand l'accord commence." -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_agreement -msgid "agreement" -msgstr "accord" - -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_agreement_increasetype -msgid "agreement.increasetype" -msgstr "agreement.increasetype" - -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_agreement_renewaltype -msgid "agreement.renewaltype" -msgstr "agreement.renewaltype" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__dynamic_content #: model:ir.model.fields,help:agreement_legal.field_agreement_clause__dynamic_content @@ -1798,3 +1654,154 @@ msgstr "| Créé par :" #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "| Created On:" msgstr "| Créé le :" + +#~ msgid "Action Needed" +#~ msgstr "Nécessite une action" + +#~ msgid "Agreement Service Profiles" +#~ msgstr "Profils de service d'accord" + +#~ msgid "Analytic Account" +#~ msgstr "Compte analytique" + +#~ msgid "Analytic Line" +#~ msgstr "Ligne analytique" + +#~ msgid "Attachment Count" +#~ msgstr "Nombre de pièces jointes" + +#~ msgid "Company MRC" +#~ msgstr "Société MRC" + +#~ msgid "Company NRC" +#~ msgstr "Société NRC" + +#~ msgid "Contract Value" +#~ msgstr "Valeur du contrat" + +#~ msgid "Customer MRC" +#~ msgstr "MRC client" + +#~ msgid "Customer NRC" +#~ msgstr "NRC client" + +#~ msgid "Financials" +#~ msgstr "Finance" + +#~ msgid "Followers" +#~ msgstr "Abonnés" + +#~ msgid "Followers (Channels)" +#~ msgstr "Abonnés (Canaux)" + +#~ msgid "Followers (Partners)" +#~ msgstr "Abonnés (Partenaires)" + +#~ msgid "If checked new messages require your attention." +#~ msgstr "Si coché, de nouveaux messages demandent votre attention." + +#~ msgid "If checked, new messages require your attention." +#~ msgstr "Si coché, de nouveaux messages demandent votre attention." + +#~ msgid "If checked, some messages have a delivery error." +#~ msgstr "Si actif, certains messages ont une erreur de livraison." + +#~ msgid "" +#~ "If unchecked, it will allow you to hide this service profile without " +#~ "removing it." +#~ msgstr "" +#~ "Si cette case est décochée, cela vous permettra de masquer ce profil de " +#~ "service sans le supprimer." + +#~ msgid "Is Follower" +#~ msgstr "Est un abonné" + +#~ msgid "Main Attachment" +#~ msgstr "Pièce jointe principale" + +#~ msgid "Message Delivery error" +#~ msgstr "Erreur d'envoi du message" + +#~ msgid "Messages" +#~ msgstr "Messages" + +#~ msgid "Number of Actions" +#~ msgstr "Nombre d'actions" + +#~ msgid "Number of error" +#~ msgstr "Nombre d'erreurs" + +#~ msgid "Number of messages which requires an action" +#~ msgstr "Nombre de messages exigeant une action" + +#~ msgid "Number of messages with delivery error" +#~ msgstr "Nombre de messages avec des erreurs d'envoi" + +#~ msgid "Number of unread messages" +#~ msgstr "Nombre de messages non lus" + +#~ msgid "Payment Term" +#~ msgstr "Modalité de paiement" + +#~ msgid "Payment Terms" +#~ msgstr "Conditions de paiement" + +#~ msgid "Revenues and Costs" +#~ msgstr "Revenus et Coûts" + +#~ msgid "Sales Order" +#~ msgstr "Bon de commande" + +#~ msgid "Select the Sales Order that this agreement is related to." +#~ msgstr "Sélectionnez la commande à laquelle cet accord se rapporte." + +#~ msgid "Service Order Lines" +#~ msgstr "Lignes de commande de service" + +#~ msgid "Service Profile" +#~ msgstr "Profil de service" + +#~ msgid "Service Profiles" +#~ msgstr "Profils de service" + +#~ msgid "Service Type" +#~ msgstr "Type de service" + +#~ msgid "Terms of payments." +#~ msgstr "Conditions de paiements." + +#~ msgid "Total company monthly recurring costs." +#~ msgstr "Total des coûts récurrents mensuels de la société." + +#~ msgid "Total company non-recurring costs." +#~ msgstr "Total des coûts non récurrents de la société." + +#~ msgid "Total custemer monthly recurring costs." +#~ msgstr "Total des coûts récurrents mensuels du client." + +#~ msgid "Total custemer non-monthly recurring costs." +#~ msgstr "Total des coûts client mensuels non-récurrents." + +#~ msgid "Total value of the contract over ther entire term." +#~ msgstr "Valeur totale du contrat sur toute la durée." + +#~ msgid "Unread Messages" +#~ msgstr "Messages non lus" + +#~ msgid "Unread Messages Counter" +#~ msgstr "Compteur de messages non lus" + +#~ msgid "Website Messages" +#~ msgstr "Messages du site web" + +#~ msgid "Website communication history" +#~ msgstr "Historique de communication du site web" + +#~ msgid "agreement" +#~ msgstr "accord" + +#~ msgid "agreement.increasetype" +#~ msgstr "agreement.increasetype" + +#~ msgid "agreement.renewaltype" +#~ msgstr "agreement.renewaltype" diff --git a/agreement_legal/i18n/pt_PT.po b/agreement_legal/i18n/pt_PT.po new file mode 100644 index 000000000..af5f185c1 --- /dev/null +++ b/agreement_legal/i18n/pt_PT.po @@ -0,0 +1,1559 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * agreement_legal +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-05-05 13:03+0000\n" +"Last-Translator: JC \n" +"Language-Team: none\n" +"Language: pt_PT\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 3.5.1\n" + +#. module: agreement_legal +#: selection:agreement,state:0 +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__active +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__active +msgid "Active" +msgstr "Activo" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Administration" +msgstr "Administração" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Advanced Features" +msgstr "Propriedades avançadas" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__agreement_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__agreement_id +#: model:ir.module.category,name:agreement_legal.agreement +#: model:ir.module.category,name:agreement_legal.module_agreement_legal_category +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Agreement" +msgstr "Contrato" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_appendix +msgid "Agreement Appendices" +msgstr "Anexos" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_clause_search_view +msgid "Agreement Clause Search" +msgstr "Pesquisar Cláusulas" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_clause +msgid "Agreement Clauses" +msgstr "Cláusulas" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_increasetype +#: model:ir.model,name:agreement_legal.model_agreement_increasetype +msgid "Agreement Increase Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_line +msgid "Agreement Lines" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Agreement Name" +msgstr "Nome" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_recital +msgid "Agreement Recitals" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_renewaltype +#: model:ir.model,name:agreement_legal.model_agreement_renewaltype +msgid "Agreement Renewal Type" +msgstr "Tipo de Renovação" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Agreement Search" +msgstr "Pesquisar Contrato" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view +msgid "Agreement Section Search" +msgstr "Pesquisar Secção" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_section +#: model:ir.model,name:agreement_legal.model_agreement_section +msgid "Agreement Sections" +msgstr "Secções" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_stage +msgid "Agreement Stage" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_stage +msgid "Agreement Stages" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_subtype +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_form_view +msgid "Agreement Sub-Types" +msgstr "Subtipos" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__agreement_subtype_id +msgid "Agreement Sub-type" +msgstr "Subtipo" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_agreement_subtype +msgid "Agreement Subtypes" +msgstr "Subtipos" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__agreement_type_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__agreement_type_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_form_view +msgid "Agreement Type" +msgstr "Tipo" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_type +#: model:ir.model,name:agreement_legal.model_agreement_type +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Agreement Types" +msgstr "Tipos" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order +#: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement +#: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement +#: model:ir.model.fields,field_description:agreement_legal.field_product_product__agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_product_template__agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids +#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting +#: model:ir.ui.menu,name:agreement_legal.dashboard_agreements +#: model:ir.ui.menu,name:agreement_legal.operations_agreements +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Agreements" +msgstr "Contratos" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Agreements Form" +msgstr "Janela de Contratos" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view +msgid "Agreements Stage Form" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_increasetype_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_renewaltype_form_view +msgid "Agreements Type Form" +msgstr "Janela de Tipo de Contratos" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__special_terms +msgid "Any terms that you have agreed to and want to track on the agreement/contract." +msgstr "Quaisquer termos acordados no contrato e que queira monitorizar." + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_appendix_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__appendix_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_appendices +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Appendices" +msgstr "Apêndices" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +msgid "Appendix" +msgstr "Apêndice" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__approved_user_id +msgid "Approved By" +msgstr "Aprovado por" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__approved_date +msgid "Approved Date" +msgstr "Aprovado em" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Approved by" +msgstr "Aprovado por" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Archived" +msgstr "Arquivado" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__assigned_user_id +msgid "Assigned To" +msgstr "Atribuído a" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "By:" +msgstr "Por:" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__change_notice +msgid "Change Notice (Days)" +msgstr "Aviso de alterações (dias)" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__child_agreements_ids +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__previous_version_agreements_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Child Agreements" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +msgid "Clause" +msgstr "Cláusula" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__content +msgid "Clause Content" +msgstr "Conteúdo da cláusula" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_action_clause +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__clauses_ids +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__clauses_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_clauses +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_list_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Clauses" +msgstr "Cláusulas" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__color +msgid "Color" +msgstr "Cor" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_partner_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Company" +msgstr "Empresa" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_id +msgid "Company Contact" +msgstr "Empresa - Contacto" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Company Information" +msgstr "Empresa - Informações" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_description +msgid "Compute dynamic description" +msgstr "Processar descrição dinâmica" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_parties +msgid "Compute dynamic parties" +msgstr "Processar entidades dinâmicas" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__dynamic_special_terms +msgid "Compute dynamic special terms" +msgstr "Processar termos especiais dinâmicos" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_configuration +msgid "Configuration" +msgstr "Configuração" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id +msgid "Contact on the account that signed the agreement/contract." +msgstr "Contacto da entidade que assinou o contrato." + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__content +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Content" +msgstr "Conteúdo" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_data_contents +msgid "Contents" +msgstr "Conteúdos" + +#. module: agreement_legal +#: model:ir.actions.report,name:agreement_legal.partner_agreement_contract_document +msgid "Contract Document" +msgstr "Documento do Contrato" + +#. module: agreement_legal +#: model:ir.actions.report,name:agreement_legal.partner_agreement_contract_document_preview +msgid "Contract Document Preview" +msgstr "Pré-visualização do Documento do Contrato." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Copy and paste the placeholder expression in the content" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Copy and paste the placeholder expression in the description or the special terms" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale +msgid "Create an agreement when the sale order is confirmed." +msgstr "Criar um contrato quando a encomenda for confirmada." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Create an agreement when the sales order is confirmed" +msgstr "Criar um contrato quando a encomenda for confirmada" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__create_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_dashboard +msgid "Dashboard" +msgstr "Painel" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__termination_requested +msgid "Date that a request for termination was received." +msgstr "Data em que foi recebido o pedido de resolução." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__termination_date +msgid "Date that the contract was terminated." +msgstr "Data em que o contrato foi resolvido." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_date +msgid "Date the contract was signed by Company." +msgstr "Data em que o contrato foi assinado pela Empresa." + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_date +msgid "Date the contract was signed by the Partner." +msgstr "Data em que o contrato foi assinado pelo Parceiro." + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Date:" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__default_value +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__default_value +msgid "Default Value" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__renewal_type_id +msgid "Describes what happens after the contract expires." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__description +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__description +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_increasetype_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_renewaltype_form_view +msgid "Description" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__description +msgid "Description of the agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__description +#: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__description +msgid "Description of the renewal type." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__display_name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__display_name +msgid "Display Name" +msgstr "" + +#. module: agreement_legal +#: selection:agreement,state:0 +msgid "Draft" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__dynamic_content +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__dynamic_content +msgid "Dynamic Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_description +msgid "Dynamic Description" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_parties +msgid "Dynamic Parties" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__dynamic_special_terms +msgid "Dynamic Special Terms" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "Edit" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_email +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_email +msgid "Email" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__end_date +msgid "End Date" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Enter the default value if the field is empty" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__expiration_notice +msgid "Exp. Notice (Days)" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__field_id +msgid "Field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Field Service" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract_filename +msgid "Filename" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__copyvalue +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__copyvalue +msgid "Final placeholder expression, to be copy-pasted in the desired\n" +" template field." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "General" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Helpdesk" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__id +msgid "ID" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__code +msgid "ID used for internal contract tracking." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__active +msgid "If unchecked, it will allow you to hide the\n" +" agreement without removing it." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__active +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__active +msgid "If unchecked, it will allow you to hide the agreement without removing it." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__active +msgid "If unchecked, it will allow you to hide this appendix without removing it." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__active +msgid "If unchecked, it will allow you to hide this recital without removing it." +msgstr "" + +#. module: agreement_legal +#: selection:agreement,state:0 +msgid "Inactive" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__increase_percent +msgid "Increase Percentage" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__increase_type_id +msgid "Increase Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_increamenttypes +msgid "Increase Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__name +msgid "Increase types describe any increases that may happen during the contract." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Inventory" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__fold +msgid "Is Folded" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__is_template +msgid "Is a Template?" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype____last_update +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type____last_update +msgid "Last Modified on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_uid +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__write_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__write_date +msgid "Last Updated on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__parent_agreement_id +msgid "Link this agreement to a parent agreement. For example if this agreement is an amendment to another agreement. This list will only show other agreements related to the same account." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your Field Service orders and equipments to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_fieldservice_agreement +msgid "Link your Field Service orders and equipments to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your Helpdesk tickets to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_helpdesk +msgid "Link your Helpdesk tickets to an agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_rma +msgid "Link your RMAs to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your manufacturing orders to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_mrp +msgid "Link your manufacturing orders to an agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_stock +msgid "Link your pickings to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your projects and tasks to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_project +msgid "Link your projects and tasks to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your repair orders to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_repair +msgid "Link your repair orders to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your returns to an agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your subscriptions to an agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_sale_subscription +msgid "Link your subscriptions to an agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Link your transfers to an agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Maintenance" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__is_template +msgid "Make this agreement a template." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Manage maintenance agreements and contracts" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_res_config_settings__module_agreement_maintenance +msgid "Manage maintenance agreements and contracts." +msgstr "" + +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_manager +msgid "Manager" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_masterdata +msgid "Master Data" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__name +msgid "Name" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Name:" +msgstr "" + +#. module: agreement_legal +#: code:addons/agreement_legal/models/agreement.py:102 +#: code:addons/agreement_legal/models/agreement.py:451 +#: code:addons/agreement_legal/models/agreement.py:454 +#, python-format +msgid "New" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "New Agreement" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "New Version" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Non-Templates" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__notification_address_id +msgid "Notification Address" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__expiration_notice +msgid "Number of Days before expiration to be notified." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__change_notice +msgid "Number of Days to be notified before changes." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__term +msgid "Number of months this agreement/contract is in effect with the partner." +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_operations +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Operations" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__default_value +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__default_value +msgid "Optional value to use if the target field is empty." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__parent_agreement_id +msgid "Parent Agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__parties +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Parties" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Parties Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__parties +msgid "Parties of the agreement" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Partner" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_id +msgid "Partner Contact" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Partner Information" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Partners" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_increasetype__increase_percent +msgid "Percentage that the amount will increase." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Performance" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Perhaps include invoices with total vs costs?" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_contact_phone +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_contact_phone +msgid "Phone" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__copyvalue +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__copyvalue +msgid "Placeholder Expression" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Preview" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Previouse Versions" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Primary Contact" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Print" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__product_id +msgid "Product" +msgstr "" + +#. module: agreement_legal +#: model:ir.model,name:agreement_legal.model_product_template +msgid "Product Template" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_products +msgid "Products" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__product_ids +msgid "Products & Services" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__line_ids +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Products/Services" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Project" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__qty +msgid "Quantity" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +msgid "Recital" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.agreement_recital_action +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__recital_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_recitals +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_tree +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Recitals" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "Record's Colour" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__code +msgid "Reference" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__renewal_type_id +msgid "Renewal Type" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_renewaltype +msgid "Renewal Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_renewaltype__name +msgid "Renewal types describe what happens after the agreement/contract expires." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Repair" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_reporting +msgid "Reporting" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Represented by" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Returns" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_user_id +msgid "Reviewed By" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__reviewed_date +msgid "Reviewed Date" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Reviewed by" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__revision +msgid "Revision" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Revisions" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sale Subscriptions" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sales" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__section_id +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Section" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__content +msgid "Section Content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sections_ids +#: model:ir.ui.menu,name:agreement_legal.agreement_sections +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_list_view +msgid "Sections" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__field_id +msgid "Select target field from the related document model. If it is a\n" +" relationship field you will be able to select a target field at the\n" +" destination of the relationship." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Select the agreement field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +msgid "Select the appendix field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +msgid "Select the clause field" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__stage_id +msgid "Select the current stage of the agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +msgid "Select the recital field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Select the section field" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "Select the sub-field" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_subtype_id +msgid "Select the sub-type of this agreement. Sub-Types are related to agreement types." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__agreement_type_id +msgid "Select the type of agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__assigned_user_id +msgid "Select the user who manages this agreement." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Sell and purchase products in different units of measure" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sequence +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__sequence +msgid "Sequence" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.action_agreement_config +#: model:ir.ui.menu,name:agreement_legal.agreement_settings +msgid "Settings" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Signatures" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_user_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_user_id +msgid "Signed By" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__signed_contract +msgid "Signed Document" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__company_signed_date +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__partner_signed_date +msgid "Signed on" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__special_terms +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Special Terms" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__stage_id +msgid "Stage" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage__name +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_list_view +msgid "Stage Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_stages +msgid "Stages" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__start_date +msgid "Start Date" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__state +msgid "State" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Status" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Structure" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_subtype_list_view +msgid "Sub-Type Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_subtypes +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Sub-Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sub_model_object_field_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sub_model_object_field_id +msgid "Sub-field" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__sub_object_id +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__sub_object_id +msgid "Sub-model" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_type__agreement_subtypes_ids +msgid "Subtypes" +msgstr "" + +#. module: agreement_legal +#: model:ir.actions.act_window,name:agreement_legal.partner_agreement_agreement_templates +#: model:ir.ui.menu,name:agreement_legal.template +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_search_view +msgid "Templates" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__term +msgid "Term (Months)" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Term Dates" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__termination_date +msgid "Termination Date" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__termination_requested +msgid "Termination Requested Date" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__notification_address_id +msgid "The address to send notificaitons to, if different from customer address.(Address Type = Other)" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__increase_type_id +msgid "The amount that certain rates may increase." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_id +msgid "The customer or vendor this agreement is related to." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_contact_id +msgid "The primary contact in the company." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__partner_contact_id +msgid "The primary partner contact (If Applicable)." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__revision +msgid "The revision will increase with every save event." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__title +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__title +msgid "The title is displayed on the PDF.The name is not." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__company_signed_user_id +msgid "The user at our company who authorized/signed the agreement or contract." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__version +msgid "The versions are used to keep track of document history and previous versions can be referenced." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_appendix_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_recital_form +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_clause_form_view +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_form_view +msgid "This section (on the left) allows you to add dynamic fields inside the content." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section (on the left) allows you to add dynamic fields inside the description and special terms." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section (on the left) allows you to replace the default listing of the parties with custom dynamic content." +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "This section is a place where financial records will show the current performance of this agreement." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_stage__fold +msgid "This stage is folded in the kanban view by deafault." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_increasetype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital__title +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_renewaltype__name +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section__title +msgid "Title" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.report_agreement_document +msgid "Title:" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_type_list_view +msgid "Type Name" +msgstr "" + +#. module: agreement_legal +#: model:ir.ui.menu,name:agreement_legal.agreement_types +msgid "Types" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line__uom_id +msgid "Unit of Measure" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form +msgid "Units Of Measure" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Use custom content" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__use_parties_content +msgid "Use custom content for parties" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__use_parties_content +msgid "Use parties content" +msgstr "" + +#. module: agreement_legal +#: model:res.groups,name:agreement_legal.group_agreement_user +msgid "User" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,field_description:agreement_legal.field_agreement__version +msgid "Version" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "Version:" +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__sub_model_object_field_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_model_object_field_id +msgid "When a relationship field is selected as first field, this\n" +" field lets you select the target field within the destination document\n" +" model (sub-model)." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__sub_object_id +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_object_id +msgid "When a relationship field is selected as first field, this\n" +" field shows the document model the relationship goes to." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__end_date +msgid "When the agreement ends." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__start_date +msgid "When the agreement starts." +msgstr "" + +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_clause__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_recital__dynamic_content +#: model:ir.model.fields,help:agreement_legal.field_agreement_section__dynamic_content +msgid "compute dynamic Content" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "oe_kanban_text_red" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "on" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban +msgid "user & picture" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "| Created By:" +msgstr "" + +#. module: agreement_legal +#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view +msgid "| Created On:" +msgstr "" diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py index 8a87cf965..656832542 100644 --- a/agreement_legal/models/agreement.py +++ b/agreement_legal/models/agreement.py @@ -8,168 +8,129 @@ class Agreement(models.Model): _name = "agreement" _inherit = ["agreement", "mail.thread"] - def _default_stage_id(self): - return self.env.ref("agreement_legal.agreement_stage_new") - # General name = fields.Char(string="Title", required=True) is_template = fields.Boolean( string="Is a Template?", default=False, copy=False, - help="Make this agreement a template.", - ) + help="Make this agreement a template.") version = fields.Integer( string="Version", default=1, copy=False, help="The versions are used to keep track of document history and " - "previous versions can be referenced.", - ) + "previous versions can be referenced.") revision = fields.Integer( string="Revision", default=0, copy=False, - help="The revision will increase with every save event.", - ) + help="The revision will increase with every save event.") description = fields.Text( string="Description", track_visibility="onchange", - help="Description of the agreement", - ) + help="Description of the agreement") dynamic_description = fields.Text( compute="_compute_dynamic_description", string="Dynamic Description", - help="Compute dynamic description", - ) + help="Compute dynamic description") start_date = fields.Date( string="Start Date", track_visibility="onchange", - help="When the agreement starts.", - ) + help="When the agreement starts.") end_date = fields.Date( string="End Date", track_visibility="onchange", - help="When the agreement ends.", - ) - color = fields.Integer() + help="When the agreement ends.") + color = fields.Integer(string="Color") active = fields.Boolean( string="Active", default=True, help="If unchecked, it will allow you to hide the agreement without " - "removing it.", - ) + "removing it.") company_signed_date = fields.Date( string="Signed on", track_visibility="onchange", - help="Date the contract was signed by Company.", - ) + help="Date the contract was signed by Company.") partner_signed_date = fields.Date( - string="Signed on", + string="Signed on (Partner)", track_visibility="onchange", - help="Date the contract was signed by the Partner.", - ) + help="Date the contract was signed by the Partner.") term = fields.Integer( string="Term (Months)", track_visibility="onchange", help="Number of months this agreement/contract is in effect with the " - "partner.", - ) + "partner.") expiration_notice = fields.Integer( string="Exp. Notice (Days)", track_visibility="onchange", - help="Number of Days before expiration to be notified.", - ) + help="Number of Days before expiration to be notified.") change_notice = fields.Integer( string="Change Notice (Days)", track_visibility="onchange", - help="Number of Days to be notified before changes.", - ) + help="Number of Days to be notified before changes.") special_terms = fields.Text( string="Special Terms", track_visibility="onchange", help="Any terms that you have agreed to and want to track on the " - "agreement/contract.", - ) + "agreement/contract.") dynamic_special_terms = fields.Text( compute="_compute_dynamic_special_terms", string="Dynamic Special Terms", - help="Compute dynamic special terms", - ) + help="Compute dynamic special terms") code = fields.Char( string="Reference", required=True, default=lambda self: _("New"), track_visibility="onchange", copy=False, - help="ID used for internal contract tracking.", - ) + help="ID used for internal contract tracking.") increase_type_id = fields.Many2one( "agreement.increasetype", string="Increase Type", track_visibility="onchange", - help="The amount that certain rates may increase.", - ) + help="The amount that certain rates may increase.") termination_requested = fields.Date( string="Termination Requested Date", track_visibility="onchange", - help="Date that a request for termination was received.", - ) + help="Date that a request for termination was received.") termination_date = fields.Date( string="Termination Date", track_visibility="onchange", - help="Date that the contract was terminated.", - ) + help="Date that the contract was terminated.") reviewed_date = fields.Date( - string="Reviewed Date", track_visibility="onchange" - ) + string="Reviewed Date", track_visibility="onchange") reviewed_user_id = fields.Many2one( - "res.users", string="Reviewed By", track_visibility="onchange" - ) + "res.users", string="Reviewed By", track_visibility="onchange") approved_date = fields.Date( - string="Approved Date", track_visibility="onchange" - ) + string="Approved Date", track_visibility="onchange") approved_user_id = fields.Many2one( - "res.users", string="Approved By", track_visibility="onchange" - ) + "res.users", string="Approved By", track_visibility="onchange") currency_id = fields.Many2one("res.currency", string="Currency") partner_id = fields.Many2one( "res.partner", string="Partner", required=False, copy=True, - help="The customer or vendor this agreement is related to.", - ) - company_partner_id = fields.Many2one( - "res.partner", - string="Company", - copy=True, - default=lambda self: self.env.user.company_id.partner_id, - ) + help="The customer or vendor this agreement is related to.") partner_contact_id = fields.Many2one( "res.partner", string="Partner Contact", copy=True, - help="The primary partner contact (If Applicable).", - ) + help="The primary partner contact (If Applicable).") partner_contact_phone = fields.Char( - related="partner_contact_id.phone", string="Phone" - ) + related="partner_contact_id.phone", string="Partner Phone") partner_contact_email = fields.Char( - related="partner_contact_id.email", string="Email" - ) + related="partner_contact_id.email", string="Partner Email") company_contact_id = fields.Many2one( "res.partner", string="Company Contact", copy=True, - help="The primary contact in the company.", - ) + help="The primary contact in the company.") company_contact_phone = fields.Char( - related="company_contact_id.phone", string="Phone" - ) + related="company_contact_id.phone", string="Phone") company_contact_email = fields.Char( - related="company_contact_id.email", string="Email" - ) + related="company_contact_id.email", string="Email") use_parties_content = fields.Boolean( string="Use parties content", help="Use custom content for parties") @@ -178,12 +139,12 @@ def _get_default_parties(self): deftext = """

Company Information

- ${object.company_partner_id.name or ''}.
- ${object.company_partner_id.street or ''}
- ${object.company_partner_id.state_id.code or ''} - ${object.company_partner_id.zip or ''} - ${object.company_partner_id.city or ''}
- ${object.company_partner_id.country_id.name or ''}.

+ ${object.company_id.partner_id.name or ''}.
+ ${object.company_id.partner_id.street or ''}
+ ${object.company_id.partner_id.state_id.code or ''} + ${object.company_id.partner_id.zip or ''} + ${object.company_id.partner_id.city or ''}
+ ${object.company_id.partner_id.country_id.name or ''}.

Represented by ${object.company_contact_id.name or ''}.

@@ -203,137 +164,112 @@ def _get_default_parties(self): string="Parties", track_visibility="onchange", default=_get_default_parties, - help="Parties of the agreement", - ) + help="Parties of the agreement") dynamic_parties = fields.Html( compute="_compute_dynamic_parties", string="Dynamic Parties", - help="Compute dynamic parties", - ) + help="Compute dynamic parties") agreement_type_id = fields.Many2one( "agreement.type", string="Agreement Type", track_visibility="onchange", - help="Select the type of agreement.", - ) + help="Select the type of agreement.") agreement_subtype_id = fields.Many2one( "agreement.subtype", string="Agreement Sub-type", track_visibility="onchange", help="Select the sub-type of this agreement. Sub-Types are related to " - "agreement types.", - ) + "agreement types.") product_ids = fields.Many2many( - "product.template", string="Products & Services" - ) + "product.template", string="Products & Services") assigned_user_id = fields.Many2one( "res.users", string="Assigned To", track_visibility="onchange", - help="Select the user who manages this agreement.", - ) + help="Select the user who manages this agreement.") company_signed_user_id = fields.Many2one( "res.users", string="Signed By", track_visibility="onchange", help="The user at our company who authorized/signed the agreement or " - "contract.", - ) + "contract.") partner_signed_user_id = fields.Many2one( "res.partner", - string="Signed By", + string="Signed By (Partner)", track_visibility="onchange", - help="Contact on the account that signed the agreement/contract.", - ) + help="Contact on the account that signed the agreement/contract.") parent_agreement_id = fields.Many2one( "agreement", string="Parent Agreement", help="Link this agreement to a parent agreement. For example if this " "agreement is an amendment to another agreement. This list will " - "only show other agreements related to the same account.", - ) + "only show other agreements related to the same account.") renewal_type_id = fields.Many2one( "agreement.renewaltype", string="Renewal Type", track_visibility="onchange", - help="Describes what happens after the contract expires.", - ) + help="Describes what happens after the contract expires.") recital_ids = fields.One2many( - "agreement.recital", "agreement_id", string="Recitals", copy=True - ) + "agreement.recital", "agreement_id", string="Recitals", copy=True) sections_ids = fields.One2many( - "agreement.section", "agreement_id", string="Sections", copy=True - ) + "agreement.section", "agreement_id", string="Sections", copy=True) clauses_ids = fields.One2many( - "agreement.clause", "agreement_id", string="Clauses", copy=True - ) + "agreement.clause", "agreement_id", string="Clauses") appendix_ids = fields.One2many( - "agreement.appendix", "agreement_id", string="Appendices", copy=True - ) + "agreement.appendix", "agreement_id", string="Appendices", copy=True) previous_version_agreements_ids = fields.One2many( "agreement", "parent_agreement_id", - string="Child Agreements", + string="Previous Versions", copy=False, - domain=[("active", "=", False)], - ) + domain=[("active", "=", False)]) child_agreements_ids = fields.One2many( "agreement", "parent_agreement_id", string="Child Agreements", copy=False, - domain=[("active", "=", True)], - ) + domain=[("active", "=", True)]) line_ids = fields.One2many( "agreement.line", "agreement_id", string="Products/Services", - copy=False, - ) + copy=False) state = fields.Selection( [("draft", "Draft"), ("active", "Active"), ("inactive", "Inactive")], default="draft", - track_visibility="always", - ) + track_visibility="always") notification_address_id = fields.Many2one( "res.partner", string="Notification Address", help="The address to send notificaitons to, if different from " - "customer address.(Address Type = Other)", - ) + "customer address.(Address Type = Other)") signed_contract_filename = fields.Char(string="Filename") signed_contract = fields.Binary( - string="Signed Document", track_visibility="always" - ) + string="Signed Document", track_visibility="always") field_id = fields.Many2one( "ir.model.fields", string="Field", help="""Select target field from the related document model. If it is a relationship field you will be able to select a target field at the - destination of the relationship.""", - ) + destination of the relationship.""") sub_object_id = fields.Many2one( "ir.model", string="Sub-model", help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) + field shows the document model the relationship goes to.""") sub_model_object_field_id = fields.Many2one( "ir.model.fields", string="Sub-field", help="""When a relationship field is selected as first field, this field lets you select the target field within the destination document - model (sub-model).""", - ) + model (sub-model).""") default_value = fields.Char( string="Default Value", - help="Optional value to use if the target field is empty.", - ) + help="Optional value to use if the target field is empty.") copyvalue = fields.Char( string="Placeholder Expression", help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) + template field.""") # compute the dynamic content for mako expression @api.multi @@ -379,19 +315,16 @@ def onchange_copyvalue(self): self.sub_object_id = False if self.field_id and not self.field_id.relation: self.copyvalue = "${{object.{} or {}}}".format( - self.field_id.name, self.default_value or "''" - ) + self.field_id.name, self.default_value or "''") self.sub_model_object_field_id = False if self.field_id and self.field_id.relation: self.sub_object_id = self.env["ir.model"].search( - [("model", "=", self.field_id.relation)] - )[0] + [("model", "=", self.field_id.relation)])[0] if self.sub_model_object_field_id: self.copyvalue = "${{object.{}.{} or {}}}".format( self.field_id.name, self.sub_model_object_field_id.name, - self.default_value or "''", - ) + self.default_value or "''") # Used for Kanban grouped_by view @api.model @@ -405,9 +338,7 @@ def _read_group_stage_ids(self, stages, domain, order): group_expand="_read_group_stage_ids", help="Select the current stage of the agreement.", track_visibility="onchange", - index=True, - # default=lambda self: self._default_stage_id(), - ) + index=True) # Create New Version Button @api.multi @@ -436,8 +367,10 @@ def create_new_agreement(self): "version": 1, "revision": 0, "state": "draft", + "stage_id": self.env.ref("agreement_legal.agreement_stage_new").id, } res = self.copy(default=default_vals) + res.sections_ids.clauses_ids.write({'agreement_id': res.id}) return { "res_model": "agreement", "type": "ir.actions.act_window", @@ -452,6 +385,9 @@ def create(self, vals): vals["code"] = self.env["ir.sequence"].next_by_code( "agreement" ) or _("New") + if not vals.get('stage_id'): + vals["stage_id"] = \ + self.env.ref("agreement_legal.agreement_stage_new").id return super(Agreement, self).create(vals) # Increments the revision on each save action diff --git a/agreement_legal/models/agreement_clause.py b/agreement_legal/models/agreement_clause.py index 2c2debadd..e7ab066fa 100644 --- a/agreement_legal/models/agreement_clause.py +++ b/agreement_legal/models/agreement_clause.py @@ -12,8 +12,7 @@ class AgreementClause(models.Model): name = fields.Char(string="Name", required=True) title = fields.Char( string="Title", - help="The title is displayed on the PDF." "The name is not." - ) + help="The title is displayed on the PDF." "The name is not.") sequence = fields.Integer(string="Sequence") agreement_id = fields.Many2one( "agreement", @@ -22,20 +21,17 @@ class AgreementClause(models.Model): section_id = fields.Many2one( "agreement.section", string="Section", - ondelete="cascade" - ) + ondelete="cascade") content = fields.Html(string="Clause Content") dynamic_content = fields.Html( compute="_compute_dynamic_content", string="Dynamic Content", - help="compute dynamic Content", - ) + help="compute dynamic Content") active = fields.Boolean( string="Active", default=True, help="If unchecked, it will allow you to hide the agreement without " - "removing it.", - ) + "removing it.") # Dynamic field editor field_id = fields.Many2one( @@ -43,30 +39,25 @@ class AgreementClause(models.Model): string="Field", help="""Select target field from the related document model. If it is a relationship field you will be able to select a target field at the - destination of the relationship.""", - ) + destination of the relationship.""") sub_object_id = fields.Many2one( "ir.model", string="Sub-model", help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) + field shows the document model the relationship goes to.""") sub_model_object_field_id = fields.Many2one( "ir.model.fields", string="Sub-field", help="""When a relationship field is selected as first field, this field lets you select the target field within the destination document - model (sub-model).""", - ) + model (sub-model).""") default_value = fields.Char( string="Default Value", - help="Optional value to use if the target field is empty.", - ) + help="Optional value to use if the target field is empty.") copyvalue = fields.Char( string="Placeholder Expression", help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) + template field.""") @api.onchange('field_id', 'sub_model_object_field_id', 'default_value') def onchange_copyvalue(self): diff --git a/agreement_legal/models/agreement_section.py b/agreement_legal/models/agreement_section.py index 2fe67ea9b..2d9220dff 100644 --- a/agreement_legal/models/agreement_section.py +++ b/agreement_legal/models/agreement_section.py @@ -12,27 +12,22 @@ class AgreementSection(models.Model): name = fields.Char(string="Name", required=True) title = fields.Char( string="Title", - help="The title is displayed on the PDF." "The name is not.", - ) + help="The title is displayed on the PDF. The name is not.") sequence = fields.Integer(string="Sequence") agreement_id = fields.Many2one( - "agreement", string="Agreement", ondelete="cascade" - ) + "agreement", string="Agreement", ondelete="cascade") clauses_ids = fields.One2many( - "agreement.clause", "section_id", string="Clauses" - ) + "agreement.clause", "section_id", string="Clauses", copy=True) content = fields.Html(string="Section Content") dynamic_content = fields.Html( compute="_compute_dynamic_content", string="Dynamic Content", - help="compute dynamic Content", - ) + help="compute dynamic Content") active = fields.Boolean( string="Active", default=True, - help="""If unchecked, it will allow you to hide the - agreement without removing it.""", - ) + help="If unchecked, it will allow you to hide the agreement without " + "removing it.") # Dynamic field editor field_id = fields.Many2one( @@ -40,30 +35,25 @@ class AgreementSection(models.Model): string="Field", help="""Select target field from the related document model. If it is a relationship field you will be able to select a target field at the - destination of the relationship.""", - ) + destination of the relationship.""") sub_object_id = fields.Many2one( "ir.model", string="Sub-model", help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) + field shows the document model the relationship goes to.""") sub_model_object_field_id = fields.Many2one( "ir.model.fields", string="Sub-field", help="""When a relationship field is selected as first field, this field lets you select the target field within the destination document - model (sub-model).""", - ) + model (sub-model).""") default_value = fields.Char( string="Default Value", - help="Optional value to use if the target field is empty.", - ) + help="Optional value to use if the target field is empty.") copyvalue = fields.Char( string="Placeholder Expression", help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) + template field.""") @api.onchange("field_id", "sub_model_object_field_id", "default_value") def onchange_copyvalue(self): @@ -72,8 +62,7 @@ def onchange_copyvalue(self): self.sub_object_id = False if self.field_id and not self.field_id.relation: self.copyvalue = "${{object.{} or {}}}".format( - self.field_id.name, self.default_value or "''" - ) + self.field_id.name, self.default_value or "''") self.sub_model_object_field_id = False if self.field_id and self.field_id.relation: self.sub_object_id = self.env["ir.model"].search( @@ -91,12 +80,8 @@ def onchange_copyvalue(self): def _compute_dynamic_content(self): MailTemplates = self.env["mail.template"] for section in self: - lang = ( - section.agreement_id - and section.agreement_id.partner_id.lang - or "en_US" - ) + lang = (section.agreement_id and + section.agreement_id.partner_id.lang or "en_US") content = MailTemplates.with_context(lang=lang)._render_template( - section.content, "agreement.section", section.id - ) + section.content, "agreement.section", section.id) section.dynamic_content = content diff --git a/agreement_legal/models/res_config_settings.py b/agreement_legal/models/res_config_settings.py index 7864ddc76..63b9205b3 100644 --- a/agreement_legal/models/res_config_settings.py +++ b/agreement_legal/models/res_config_settings.py @@ -33,6 +33,6 @@ class ResConfigSettings(models.TransientModel): module_fieldservice_agreement = fields.Boolean( string="Link your Field Service orders and equipments to an agreement." ) - module_helpdesk_agreement = fields.Boolean( + module_agreement_helpdesk = fields.Boolean( string="Link your Helpdesk tickets to an agreement." ) diff --git a/agreement_legal/report/agreement.xml b/agreement_legal/report/agreement.xml index 546fa2121..6a621d0fb 100644 --- a/agreement_legal/report/agreement.xml +++ b/agreement_legal/report/agreement.xml @@ -36,7 +36,7 @@

Company Information

-
@@ -121,7 +121,7 @@

Date:

-

+

By:

Name: diff --git a/agreement_legal/security/ir.model.access.csv b/agreement_legal/security/ir.model.access.csv index 2126d3635..d5df825a7 100644 --- a/agreement_legal/security/ir.model.access.csv +++ b/agreement_legal/security/ir.model.access.csv @@ -1,23 +1,29 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_agreement_readonly,agreement readonly,model_agreement,group_agreement_readonly,1,0,0,0 access_agreement_allusers,agreement all users,model_agreement,group_agreement_user,1,1,1,0 access_agreement_manager,agreement manager,model_agreement,group_agreement_manager,1,1,1,1 +access_agreement_recital_readonly,recital readonly,model_agreement_recital,group_agreement_readonly,1,0,0,0 access_agreement_recital_allusers,recital all users,model_agreement_recital,group_agreement_user,1,1,1,0 access_agreement_recital_manager,recital manager,model_agreement_recital,group_agreement_manager,1,1,1,1 +access_agreement_section_readonly,section readonly,model_agreement_section,group_agreement_readonly,1,0,0,0 access_agreement_section_allusers,section all users,model_agreement_section,group_agreement_user,1,1,1,0 access_agreement_section_manager,section manager,model_agreement_section,group_agreement_manager,1,1,1,1 +access_agreement_clause_readonly,clause readonly,model_agreement_clause,group_agreement_readonly,1,0,0,0 access_agreement_clause_allusers,clause all users,model_agreement_clause,group_agreement_user,1,1,1,0 access_agreement_clause_manager,clause manager,model_agreement_clause,group_agreement_manager,1,1,1,1 +access_agreement_appendix_readonly,appendix readonly,model_agreement_appendix,group_agreement_readonly,1,0,0,0 access_agreement_appendix_allusers,appendix all users,model_agreement_appendix,group_agreement_user,1,1,1,0 access_agreement_appendix_manager,appendix manager,model_agreement_appendix,group_agreement_manager,1,1,1,1 +access_agreement_line_readonly,agreement line readonly,model_agreement_line,group_agreement_readonly,1,0,0,0 access_agreement_line_allusers,agreement line all users,model_agreement_line,group_agreement_user,1,1,1,0 access_agreement_line_manager,agreement line manager,model_agreement_line,group_agreement_manager,1,1,1,1 -access_agreement_stage_allusers,stage all users,model_agreement_stage,group_agreement_user,1,0,0,0 +access_agreement_stage_readonly,stage readonly,model_agreement_stage,group_agreement_readonly,1,0,0,0 access_agreement_stage_manager,stage manager,model_agreement_stage,group_agreement_manager,1,1,1,1 -access_agreement_type_allusers,type all users,model_agreement_type,group_agreement_user,1,0,0,0 +access_agreement_type_readonly,type readonly,model_agreement_type,group_agreement_readonly,1,0,0,0 access_agreement_type_manager,type manager,model_agreement_type,group_agreement_manager,1,1,1,1 -access_agreement_subtype_allusers,subtype all users,model_agreement_subtype,group_agreement_user,1,0,0,0 +access_agreement_subtype_readonly,subtype readonly,model_agreement_subtype,group_agreement_readonly,1,0,0,0 access_agreement_subtype_manager,subtype manager,model_agreement_subtype,group_agreement_manager,1,1,1,1 -access_agreement_renewaltype_allusers,renewaltype all users,model_agreement_renewaltype,group_agreement_user,1,0,0,0 +access_agreement_renewaltype_readonly,renewaltype readonly,model_agreement_renewaltype,group_agreement_readonly,1,0,0,0 access_agreement_renewaltype_manager,renewaltype manager,model_agreement_renewaltype,group_agreement_manager,1,1,1,1 -access_agreement_increasetype_allusers,increasetype all users,model_agreement_increasetype,group_agreement_user,1,0,0,0 +access_agreement_increasetype_readonly,increasetype readonly,model_agreement_increasetype,group_agreement_readonly,1,0,0,0 access_agreement_increasetype_manager,increasetype manager,model_agreement_increasetype,group_agreement_manager,1,1,1,1 diff --git a/agreement_legal/security/res_groups.xml b/agreement_legal/security/res_groups.xml index 5edde0149..8cef37463 100644 --- a/agreement_legal/security/res_groups.xml +++ b/agreement_legal/security/res_groups.xml @@ -4,11 +4,19 @@ Agreement 17 + + + + Read-Only Users + + + + User - + diff --git a/agreement_legal/views/agreement.xml b/agreement_legal/views/agreement.xml index b400b10b4..3a7e32048 100644 --- a/agreement_legal/views/agreement.xml +++ b/agreement_legal/views/agreement.xml @@ -9,7 +9,7 @@ - + @@ -22,8 +22,9 @@ Agreement Form agreement + -

+
- - - - From 404eac4d3cb3737cd67cc894c02cb1d9dfb3a476 Mon Sep 17 00:00:00 2001 From: Saran440 Date: Wed, 3 Dec 2025 10:48:28 +0700 Subject: [PATCH 53/86] [FIX] agreement_legal: use url instead kanban_image() --- agreement_legal/views/agreement.xml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/agreement_legal/views/agreement.xml b/agreement_legal/views/agreement.xml index e9a5d694b..8612a32dc 100644 --- a/agreement_legal/views/agreement.xml +++ b/agreement_legal/views/agreement.xml @@ -485,12 +485,9 @@ t-if="record.assigned_user_id.raw_value" > user & picture
From e413d5a7c09e0427e1b51b2c15225903818f1430 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 8 Dec 2025 11:08:02 +0000 Subject: [PATCH 54/86] [BOT] post-merge updates --- agreement_legal/README.rst | 2 +- agreement_legal/__manifest__.py | 2 +- agreement_legal/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agreement_legal/README.rst b/agreement_legal/README.rst index d1b0ac663..0632ceb36 100644 --- a/agreement_legal/README.rst +++ b/agreement_legal/README.rst @@ -7,7 +7,7 @@ Agreements Legal !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:8b5addb77a9883724cd9483fe92b4945a00174aac98af8d6b50bbaf1da6cd601 + !! source digest: sha256:2c7ff5129d24991e83071d762f44f28adbef83e6397c9224b3bd8807c600fda4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/agreement_legal/__manifest__.py b/agreement_legal/__manifest__.py index e4cadc574..452bb363d 100644 --- a/agreement_legal/__manifest__.py +++ b/agreement_legal/__manifest__.py @@ -11,7 +11,7 @@ "website": "https://github.com/OCA/agreement", "category": "Partner", "license": "AGPL-3", - "version": "18.0.1.0.1", + "version": "18.0.1.0.2", "depends": ["contacts", "agreement", "product", "web"], "data": [ "data/cron.xml", diff --git a/agreement_legal/static/description/index.html b/agreement_legal/static/description/index.html index 0e208e0cc..4f2a3b20d 100644 --- a/agreement_legal/static/description/index.html +++ b/agreement_legal/static/description/index.html @@ -367,7 +367,7 @@

Agreements Legal

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:8b5addb77a9883724cd9483fe92b4945a00174aac98af8d6b50bbaf1da6cd601 +!! source digest: sha256:2c7ff5129d24991e83071d762f44f28adbef83e6397c9224b3bd8807c600fda4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/agreement Translate me on Weblate Try me on Runboat

This module allows you to manage agreements, letter of intent and From 36e754862327ab89570b97ba58b1e93b7e2ac249 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 9 Dec 2025 13:59:36 +0000 Subject: [PATCH 55/86] [UPD] Update agreement_legal.pot --- agreement_legal/i18n/agreement_legal.pot | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/agreement_legal/i18n/agreement_legal.pot b/agreement_legal/i18n/agreement_legal.pot index 909a25324..e3dc6f7c1 100644 --- a/agreement_legal/i18n/agreement_legal.pot +++ b/agreement_legal/i18n/agreement_legal.pot @@ -151,25 +151,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -337,11 +328,6 @@ msgstr "" msgid "Configuration" msgstr "" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." From 0579a6818bd7164b6ebaad60f6c6a561ec8ea902 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 9 Dec 2025 14:02:19 +0000 Subject: [PATCH 56/86] [BOT] post-merge updates --- agreement_legal/README.rst | 56 ++++++++++--------- agreement_legal/static/description/index.html | 34 ++++++----- 2 files changed, 50 insertions(+), 40 deletions(-) diff --git a/agreement_legal/README.rst b/agreement_legal/README.rst index 0632ceb36..865b9fad8 100644 --- a/agreement_legal/README.rst +++ b/agreement_legal/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ================ Agreements Legal ================ @@ -7,13 +11,13 @@ Agreements Legal !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:2c7ff5129d24991e83071d762f44f28adbef83e6397c9224b3bd8807c600fda4 + !! source digest: sha256:e0408af11ec4776a83fd62c48541913e782f8df5ca23eee9b44a516966f1c1eb !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |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%2Fagreement-lightgray.png?logo=github @@ -49,29 +53,29 @@ Configuration To configure this module: -- Go to Agreement > Configuration > Templates -- Create a new template with sections and clauses and their respective - content -- Go to Agreement > Configuration > Stages -- Create and reorder stages to match your process +- Go to Agreement > Configuration > Templates +- Create a new template with sections and clauses and their respective + content +- Go to Agreement > Configuration > Stages +- Create and reorder stages to match your process Usage ===== To use this module: -- Go to Agreement > Agreements -- Create a new agreement -- Select a template -- Follow the process to get the required approval -- Send the invitation to the customer to review and sign the agreement +- Go to Agreement > Agreements +- Create a new agreement +- Select a template +- Follow the process to get the required approval +- Send the invitation to the customer to review and sign the agreement Known issues / Roadmap ====================== -- Split the module to remove the dependencies on sale and account and - provide the same feature in extra modules (agreement_sale, - agreement_account, agreement_purchase) +- Split the module to remove the dependencies on sale and account and + provide the same feature in extra modules (agreement_sale, + agreement_account, agreement_purchase) Bug Tracker =========== @@ -96,23 +100,23 @@ Authors Contributors ------------ -- Patrick Wilson -- Bhavesh Odedra -- Wolfgang Hall -- Maxime Chambreuil -- Sandip Mangukiya -- Yves Goldberg -- Tharathip Chaweewongphan -- Italo LOPES +- Patrick Wilson +- Bhavesh Odedra +- Wolfgang Hall +- Maxime Chambreuil +- Sandip Mangukiya +- Yves Goldberg +- Tharathip Chaweewongphan +- Italo LOPES Other credits ------------- The development of this module has been financially supported by: -- Pavlov Media -- Open Source Integrators -- Yves Goldberg +- Pavlov Media +- Open Source Integrators +- Yves Goldberg Maintainers ----------- diff --git a/agreement_legal/static/description/index.html b/agreement_legal/static/description/index.html index 4f2a3b20d..532aa0f6c 100644 --- a/agreement_legal/static/description/index.html +++ b/agreement_legal/static/description/index.html @@ -3,7 +3,7 @@ -Agreements Legal +README.rst -

From 4d280633b7405e7f3f2b4c502099208aaf6374b9 Mon Sep 17 00:00:00 2001 From: Weblate Date: Tue, 9 Dec 2025 14:02:32 +0000 Subject: [PATCH 57/86] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: agreement-18.0/agreement-18.0-agreement_legal Translate-URL: https://translation.odoo-community.org/projects/agreement-18-0/agreement-18-0-agreement_legal/ --- agreement_legal/i18n/es.po | 23 +++++------------ agreement_legal/i18n/es_AR.po | 23 +++++------------ agreement_legal/i18n/fr.po | 20 +++------------ agreement_legal/i18n/it.po | 29 ++++++++------------- agreement_legal/i18n/pt.po | 20 +++------------ agreement_legal/i18n/pt_BR.po | 20 +++------------ agreement_legal/i18n/pt_PT.po | 48 ++++++++++++----------------------- agreement_legal/i18n/sv.po | 41 +++++++++++++----------------- agreement_legal/i18n/zh_CN.po | 48 ++++++++++++----------------------- 9 files changed, 81 insertions(+), 191 deletions(-) diff --git a/agreement_legal/i18n/es.po b/agreement_legal/i18n/es.po index 3735484e3..c01d25115 100644 --- a/agreement_legal/i18n/es.po +++ b/agreement_legal/i18n/es.po @@ -154,25 +154,16 @@ msgstr "Acuerdo: Comprobar para revisar días" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Acuerdos" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "Recuento de acuerdos" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -342,11 +333,6 @@ msgstr "Detalles Configuración" msgid "Configuration" msgstr "Configuración" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contacto" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -395,7 +381,6 @@ msgstr "Asistente de creación de acuerdos" #. odoo-javascript #: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "Crear a partir de plantilla" @@ -823,7 +808,6 @@ msgstr "Nombre:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Nuevo" @@ -1590,7 +1574,6 @@ msgstr "" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "Su actividad va a terminar pronto" @@ -1632,6 +1615,12 @@ msgstr "| Creado por:" msgid "| Created On:" msgstr "| Creado el:" +#~ msgid "Agreements Count" +#~ msgstr "Recuento de acuerdos" + +#~ msgid "Contact" +#~ msgstr "Contacto" + #~ msgid "Last Modified on" #~ msgstr "Última modificación el" diff --git a/agreement_legal/i18n/es_AR.po b/agreement_legal/i18n/es_AR.po index bf8bdce13..2cb7c9034 100644 --- a/agreement_legal/i18n/es_AR.po +++ b/agreement_legal/i18n/es_AR.po @@ -154,25 +154,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Acuerdos" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "Cuenta de Acuerdos" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -341,11 +332,6 @@ msgstr "Configurar Ajustes" msgid "Configuration" msgstr "Configuración" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contacto" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -394,7 +380,6 @@ msgstr "Crear Asistente de Acuerdo" #. odoo-javascript #: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "Crear Formulario de Plantilla" @@ -823,7 +808,6 @@ msgstr "Nombre:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Nuevo" @@ -1586,7 +1570,6 @@ msgstr "" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "" @@ -1628,6 +1611,12 @@ msgstr "| Creado Por:" msgid "| Created On:" msgstr "| Creado El:" +#~ msgid "Agreements Count" +#~ msgstr "Cuenta de Acuerdos" + +#~ msgid "Contact" +#~ msgstr "Contacto" + #~ msgid "Last Modified on" #~ msgstr "Última Modificación el" diff --git a/agreement_legal/i18n/fr.po b/agreement_legal/i18n/fr.po index ae4ed3ace..8c9a5350f 100644 --- a/agreement_legal/i18n/fr.po +++ b/agreement_legal/i18n/fr.po @@ -155,25 +155,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Accords" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -344,11 +335,6 @@ msgstr "Paramètres de config" msgid "Configuration" msgstr "Configuration" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contact" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -396,7 +382,6 @@ msgstr "" #. odoo-javascript #: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "" @@ -831,7 +816,6 @@ msgstr "Nom :" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Nouveau" @@ -1595,7 +1579,6 @@ msgstr "" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "" @@ -1637,6 +1620,9 @@ msgstr "| Créé par :" msgid "| Created On:" msgstr "| Créé le :" +#~ msgid "Contact" +#~ msgstr "Contact" + #~ msgid "Last Modified on" #~ msgstr "Dernière modification le" diff --git a/agreement_legal/i18n/it.po b/agreement_legal/i18n/it.po index cffe5cd60..a29166abb 100644 --- a/agreement_legal/i18n/it.po +++ b/agreement_legal/i18n/it.po @@ -19,7 +19,8 @@ msgstr "" #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.view_project_agreement_kanban msgid "" -msgstr "" +msgstr "" +"" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__active @@ -154,25 +155,16 @@ msgstr "Contratto: controllo per giorni revisione" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Contratti" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "Numero contratti" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -198,7 +190,8 @@ msgstr "Contratti da revisionare" msgid "" "Any terms that you have agreed to and want to track on the agreement/" "contract." -msgstr "Qualsiasi temine contrattuale accettato di cui si vuole tenere traccia." +msgstr "" +"Qualsiasi temine contrattuale accettato di cui si vuole tenere traccia." #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.agreement_appendix_action @@ -340,11 +333,6 @@ msgstr "Impostazioni configurazione" msgid "Configuration" msgstr "Configurazione" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contatto" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -393,7 +381,6 @@ msgstr "Procedura guidata creazione contratto" #. odoo-javascript #: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "Crea modello maschera" @@ -824,7 +811,6 @@ msgstr "Nome:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Nuovo" @@ -1593,7 +1579,6 @@ msgstr "" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "Le vostre attività finiranno a breve" @@ -1634,3 +1619,9 @@ msgstr "| Creato da:" #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "| Created On:" msgstr "| Creato il:" + +#~ msgid "Agreements Count" +#~ msgstr "Numero contratti" + +#~ msgid "Contact" +#~ msgstr "Contatto" diff --git a/agreement_legal/i18n/pt.po b/agreement_legal/i18n/pt.po index b335c04f7..d5be83b52 100644 --- a/agreement_legal/i18n/pt.po +++ b/agreement_legal/i18n/pt.po @@ -154,25 +154,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Acordos" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -341,11 +332,6 @@ msgstr "Configurações" msgid "Configuration" msgstr "Configuração" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contacto" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -394,7 +380,6 @@ msgstr "" #. odoo-javascript #: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "" @@ -821,7 +806,6 @@ msgstr "Nome:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Novo" @@ -1573,7 +1557,6 @@ msgstr "" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "" @@ -1615,6 +1598,9 @@ msgstr "| Criado Por:" msgid "| Created On:" msgstr "| Criado Em:" +#~ msgid "Contact" +#~ msgstr "Contacto" + #~ msgid "Last Modified on" #~ msgstr "Modificado em" diff --git a/agreement_legal/i18n/pt_BR.po b/agreement_legal/i18n/pt_BR.po index 11e63fcf3..989388348 100644 --- a/agreement_legal/i18n/pt_BR.po +++ b/agreement_legal/i18n/pt_BR.po @@ -155,25 +155,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Acordos" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -343,11 +334,6 @@ msgstr "Definições de Configuração" msgid "Configuration" msgstr "Configuração" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contato" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -395,7 +381,6 @@ msgstr "" #. odoo-javascript #: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "" @@ -822,7 +807,6 @@ msgstr "Nome:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Novo" @@ -1574,7 +1558,6 @@ msgstr "" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "" @@ -1616,6 +1599,9 @@ msgstr "| Criado por:" msgid "| Created On:" msgstr "| Criado em:" +#~ msgid "Contact" +#~ msgstr "Contato" + #~ msgid "Last Modified on" #~ msgstr "Última Modificação Feita em" diff --git a/agreement_legal/i18n/pt_PT.po b/agreement_legal/i18n/pt_PT.po index 4bd416400..854acdcbd 100644 --- a/agreement_legal/i18n/pt_PT.po +++ b/agreement_legal/i18n/pt_PT.po @@ -147,7 +147,6 @@ msgstr "" #. module: agreement_legal #: model:ir.actions.server,name:agreement_legal.ir_cron_test_acc_move_except_ir_actions_server -#: model:ir.cron,cron_name:agreement_legal.ir_cron_test_acc_move_except msgid "Agreement: Check to Review Days" msgstr "" @@ -155,25 +154,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Contratos" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -342,11 +332,6 @@ msgstr "Configurações" msgid "Configuration" msgstr "Configuração" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Contacto" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -393,9 +378,8 @@ msgstr "" #. module: agreement_legal #. odoo-javascript -#: code:addons/agreement_legal/static/src/xml/agreement.xml:0 +#: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "" @@ -661,18 +645,6 @@ msgstr "Inventário" msgid "Is Folded" msgstr "Está guardado" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_create_agreement_wizard____last_update -msgid "Last Modified on" -msgstr "Modificado em" - #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_uid @@ -835,7 +807,6 @@ msgstr "Nome:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "Novo" @@ -1134,7 +1105,6 @@ msgid "Sections" msgstr "Secções" #. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_clause__field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_recital__field_id @@ -1565,10 +1535,18 @@ msgstr "" msgid "When the agreement starts." msgstr "" +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id +msgid "" +"You can select a target field from the related document model.\n" +" If it is a relationship field you will be able to select a target " +"field\n" +" at the destination of the relationship." +msgstr "" + #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "" @@ -1610,6 +1588,12 @@ msgstr "" msgid "| Created On:" msgstr "" +#~ msgid "Contact" +#~ msgstr "Contacto" + +#~ msgid "Last Modified on" +#~ msgstr "Modificado em" + #~ msgid "# Code editor" #~ msgstr "# Código do editor" diff --git a/agreement_legal/i18n/sv.po b/agreement_legal/i18n/sv.po index 7a3353e60..bc8c806e0 100644 --- a/agreement_legal/i18n/sv.po +++ b/agreement_legal/i18n/sv.po @@ -154,25 +154,16 @@ msgstr "Överenskommelse: Kontrollera för att granska dagar" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "Avtal" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "Antal avtal" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -196,8 +187,8 @@ msgstr "Avtal att granska" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__special_terms msgid "" -"Any terms that you have agreed to and want to track on the " -"agreement/contract." +"Any terms that you have agreed to and want to track on the agreement/" +"contract." msgstr "" "Alla villkor som du har kommit överens om och vill spåra på avtalet/" "kontraktet." @@ -342,11 +333,6 @@ msgstr "Konfigureringsinställningar" msgid "Configuration" msgstr "Konfiguration" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "Kontakt" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -688,8 +674,8 @@ msgstr "Senast uppdaterad den" #: model:ir.model.fields,help:agreement_legal.field_agreement__parent_agreement_id msgid "" "Link this agreement to a parent agreement. For example if this agreement is " -"an amendment to another agreement. This list will only show other agreements" -" related to the same account." +"an amendment to another agreement. This list will only show other agreements " +"related to the same account." msgstr "" "Länka detta avtal till ett överordnat avtal. Till exempel om det här avtalet " "är ett tillägg till ett annat avtal. Den här listan visar bara andra avtal " @@ -1125,7 +1111,8 @@ msgstr "Avsnitt" #: model:ir.model.fields,help:agreement_legal.field_agreement_section__field_id msgid "" "Select target field from the related document model. If it is a\n" -" relationship field you will be able to select a target field at the\n" +" relationship field you will be able to select a target field at " +"the\n" " destination of the relationship." msgstr "" "Välj målfält från den relaterade dokumentmodellen. Om det är ett\n" @@ -1348,8 +1335,8 @@ msgstr "Begärd uppsägning Datum" #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__notification_address_id msgid "" -"The address to send notifications to, if different from customer " -"address.(Address Type = Other)" +"The address to send notifications to, if different from customer address." +"(Address Type = Other)" msgstr "" "Den adress som meddelanden ska skickas till, om den skiljer sig från " "kundadressen. (Adresstyp = Annan)" @@ -1538,7 +1525,8 @@ msgstr "Version:" #: model:ir.model.fields,help:agreement_legal.field_agreement_section__sub_model_object_field_id msgid "" "When a relationship field is selected as first field, this\n" -" field lets you select the target field within the destination document\n" +" field lets you select the target field within the destination " +"document\n" " model (sub-model)." msgstr "" "När ett relationsfält väljs som första fält kan du i detta fält\n" @@ -1572,7 +1560,8 @@ msgstr "När avtalet börjar gälla." #: model:ir.model.fields,help:agreement_legal.field_agreement__field_id msgid "" "You can select a target field from the related document model.\n" -" If it is a relationship field you will be able to select a target field\n" +" If it is a relationship field you will be able to select a target " +"field\n" " at the destination of the relationship." msgstr "" "Du kan välja ett målfält från den relaterade dokumentmodellen.\n" @@ -1622,3 +1611,9 @@ msgstr "| Skapad av:" #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_form_view msgid "| Created On:" msgstr "| Skapad den:" + +#~ msgid "Agreements Count" +#~ msgstr "Antal avtal" + +#~ msgid "Contact" +#~ msgstr "Kontakt" diff --git a/agreement_legal/i18n/zh_CN.po b/agreement_legal/i18n/zh_CN.po index da10f6394..e71a4ff7f 100644 --- a/agreement_legal/i18n/zh_CN.po +++ b/agreement_legal/i18n/zh_CN.po @@ -147,7 +147,6 @@ msgstr "" #. module: agreement_legal #: model:ir.actions.server,name:agreement_legal.ir_cron_test_acc_move_except_ir_actions_server -#: model:ir.cron,cron_name:agreement_legal.ir_cron_test_acc_move_except msgid "Agreement: Check to Review Days" msgstr "" @@ -155,25 +154,16 @@ msgstr "" #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order #: model:ir.actions.act_window,name:agreement_legal.agreement_dashboard_agreement #: model:ir.actions.act_window,name:agreement_legal.agreement_operations_agreement -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreement_ids -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreement_ids #: model:ir.ui.menu,name:agreement_legal.agreement_agreement_reporting #: model:ir.ui.menu,name:agreement_legal.dashboard_agreements #: model:ir.ui.menu,name:agreement_legal.operations_agreements #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_graph_view #: model_terms:ir.ui.view,arch_db:agreement_legal.agreement_pivot_view #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_section_search_view -#: model_terms:ir.ui.view,arch_db:agreement_legal.partner_form #: model_terms:ir.ui.view,arch_db:agreement_legal.res_config_settings_view_form msgid "Agreements" msgstr "协议" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_res_partner__agreements_count -#: model:ir.model.fields,field_description:agreement_legal.field_res_users__agreements_count -msgid "Agreements Count" -msgstr "" - #. module: agreement_legal #: model_terms:ir.ui.view,arch_db:agreement_legal.partner_agreement_stage_form_view msgid "Agreements Stage Form" @@ -342,11 +332,6 @@ msgstr "配置设置" msgid "Configuration" msgstr "配置" -#. module: agreement_legal -#: model:ir.model,name:agreement_legal.model_res_partner -msgid "Contact" -msgstr "联系人" - #. module: agreement_legal #: model:ir.model.fields,help:agreement_legal.field_agreement__partner_signed_user_id msgid "Contact on the account that signed the agreement/contract." @@ -391,9 +376,8 @@ msgstr "" #. module: agreement_legal #. odoo-javascript -#: code:addons/agreement_legal/static/src/xml/agreement.xml:0 +#: code:addons/agreement_legal/static/src/xml/agreement_template.xml:0 #: model:ir.actions.act_window,name:agreement_legal.create_agreement_from_template_action -#, python-format msgid "Create From Template" msgstr "" @@ -659,18 +643,6 @@ msgstr "库存" msgid "Is Folded" msgstr "是折叠" -#. module: agreement_legal -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_line____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_recital____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_section____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_stage____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_agreement_subtype____last_update -#: model:ir.model.fields,field_description:agreement_legal.field_create_agreement_wizard____last_update -msgid "Last Modified on" -msgstr "最后修改时间" - #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement_appendix__write_uid #: model:ir.model.fields,field_description:agreement_legal.field_agreement_clause__write_uid @@ -831,7 +803,6 @@ msgstr "名称:" #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "New" msgstr "新建" @@ -1130,7 +1101,6 @@ msgid "Sections" msgstr "章节" #. module: agreement_legal -#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_appendix__field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_clause__field_id #: model:ir.model.fields,help:agreement_legal.field_agreement_recital__field_id @@ -1559,10 +1529,18 @@ msgstr "协议结束时。" msgid "When the agreement starts." msgstr "协议开始时。" +#. module: agreement_legal +#: model:ir.model.fields,help:agreement_legal.field_agreement__field_id +msgid "" +"You can select a target field from the related document model.\n" +" If it is a relationship field you will be able to select a target " +"field\n" +" at the destination of the relationship." +msgstr "" + #. module: agreement_legal #. odoo-python #: code:addons/agreement_legal/models/agreement.py:0 -#, python-format msgid "Your activity is going to end soon" msgstr "" @@ -1604,6 +1582,12 @@ msgstr "| 创建者:" msgid "| Created On:" msgstr "| 创建于:" +#~ msgid "Contact" +#~ msgstr "联系人" + +#~ msgid "Last Modified on" +#~ msgstr "最后修改时间" + #~ msgid "" #~ "The address to send notificaitons to, if different from customer address." #~ "(Address Type = Other)" From c38d48b1bac8d6dd02acaec01658610159af18b3 Mon Sep 17 00:00:00 2001 From: jakobkrabbe Date: Wed, 14 Jan 2026 09:50:05 +0000 Subject: [PATCH 58/86] Translated using Weblate (Swedish) Currently translated at 100.0% (263 of 263 strings) Translation: agreement-18.0/agreement-18.0-agreement_legal Translate-URL: https://translation.odoo-community.org/projects/agreement-18-0/agreement-18-0-agreement_legal/sv/ --- agreement_legal/i18n/sv.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agreement_legal/i18n/sv.po b/agreement_legal/i18n/sv.po index bc8c806e0..8227591ca 100644 --- a/agreement_legal/i18n/sv.po +++ b/agreement_legal/i18n/sv.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-11-04 11:20+0000\n" +"PO-Revision-Date: 2026-01-14 12:36+0000\n" "Last-Translator: jakobkrabbe \n" "Language-Team: none\n" "Language: sv\n" @@ -148,7 +148,7 @@ msgstr "Avtalet behöver ses över" #. module: agreement_legal #: model:ir.actions.server,name:agreement_legal.ir_cron_test_acc_move_except_ir_actions_server msgid "Agreement: Check to Review Days" -msgstr "Överenskommelse: Kontrollera för att granska dagar" +msgstr "Avtal: Kontrollera för att granska dagar" #. module: agreement_legal #: model:ir.actions.act_window,name:agreement_legal.action_agreement_report_order @@ -858,7 +858,7 @@ msgstr "Valfritt värde som ska användas om målfältet är tomt." #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__parent_agreement_id msgid "Parent Agreement" -msgstr "Föräldraavtal" +msgstr "Överliggande avtal" #. module: agreement_legal #: model:ir.model.fields,field_description:agreement_legal.field_agreement__parties From 4184331134caa965ce5c3bd60dae55e81876bbf5 Mon Sep 17 00:00:00 2001 From: MohamedOsman7 Date: Mon, 26 Jan 2026 09:59:50 +0000 Subject: [PATCH 59/86] [IMP] agreement_legal: refactor agreement form to inherit base view --- agreement_legal/views/agreement.xml | 764 +++++++++++++++------------- 1 file changed, 424 insertions(+), 340 deletions(-) diff --git a/agreement_legal/views/agreement.xml b/agreement_legal/views/agreement.xml index 8612a32dc..02b17ed10 100644 --- a/agreement_legal/views/agreement.xml +++ b/agreement_legal/views/agreement.xml @@ -18,13 +18,21 @@
- - + + + Agreement Form agreement - + + - + + + agreement_template_form + + + +
- -
- -
-
- - - - - - - - - - - - - - - + + + + - - - - - - - - - -

- This section (on the left) allows you to add dynamic fields inside the description and special terms. -

    -
  1. Select the agreement field
  2. -
  3. Select the sub-field
  4. -
  5. Enter the default value if the field is empty
  6. -
  7. Copy and paste the placeholder expression in the description or the special terms
  8. -
-

+

+ This section (on the left) allows you to add dynamic fields inside the description and special terms. +

    +
  1. Select the agreement field
  2. +
  3. Select the sub-field
  4. +
  5. Enter the default value if the field is empty
  6. +
  7. Copy and paste the placeholder expression in the description or the special terms
  8. +
+

+
+ + + + + 2 + {'show_address': 1} + {'always_reload': True} + 1 + o_address_format + + 0 + + + + + 1 + {'show_address': 1} + {'always_reload': True} + 1 + 2 + o_address_format + + + + + + + + + - - - - - -

- This section (on the left) allows you to replace the default listing of the parties with custom dynamic content. -

- - - - - - - - - - - - - - - - - - - - + +

+ This section (on the left) allows you to replace the default listing of the parties with custom dynamic content. +

+ + + + + - - + + + + + - - - - - - - - - - - - + + + + + - - + + + + + +
+ + + + + + + + + + + + + + + + + + + + + - - -
-
- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

This section is a place where financial records will show the current performance of this agreement.

-

Perhaps include invoices with total vs costs?

-
-
- - -
-

Reviewed by on .

-

Approved by on .

+ + + + + + + + + + + + + + + + + is_template == True + + + is_template == False + is_template == True + + + is_template == False + is_template == True + + + + + +
+
- -

- Version: . - | Created By: - + - + - | Created On: - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

This section is a place where financial records will show the current performance of this agreement.

+

Perhaps include invoices with total vs costs?

+
+
+ + + + + +
+

+ Reviewed by + + on + . +

+

+ Approved by + + on + .

- - - +
+ +

+ Version: + . + | + Created By: + + + | + Created On: + + +

+
From 6bba9f2ca8d06e9f2fdd3f85c69fa7fdb3d8e2d2 Mon Sep 17 00:00:00 2001 From: tarteo Date: Thu, 26 Feb 2026 10:30:21 +0100 Subject: [PATCH 60/86] [REF] agreement_legal: Replace repeated dynamic field code with mixin --- agreement_legal/models/__init__.py | 1 + agreement_legal/models/agreement.py | 51 +---------------- agreement_legal/models/agreement_appendix.py | 53 +----------------- agreement_legal/models/agreement_clause.py | 53 +----------------- .../models/agreement_dynamic_content_mixin.py | 55 +++++++++++++++++++ agreement_legal/models/agreement_recital.py | 53 +----------------- agreement_legal/models/agreement_section.py | 53 +----------------- 7 files changed, 66 insertions(+), 253 deletions(-) create mode 100644 agreement_legal/models/agreement_dynamic_content_mixin.py diff --git a/agreement_legal/models/__init__.py b/agreement_legal/models/__init__.py index bc1e26a6a..0516d792d 100644 --- a/agreement_legal/models/__init__.py +++ b/agreement_legal/models/__init__.py @@ -2,6 +2,7 @@ from . import res_config_settings from . import agreement_stage +from . import agreement_dynamic_content_mixin from . import agreement from . import agreement_appendix from . import agreement_clause diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py index fcb1185e6..05b616b4e 100644 --- a/agreement_legal/models/agreement.py +++ b/agreement_legal/models/agreement.py @@ -9,7 +9,8 @@ class Agreement(models.Model): - _inherit = "agreement" + _name = "agreement" + _inherit = ["agreement", "agreement.dynamic.content.mixin"] name = fields.Char(string="Title", required=True) version = fields.Integer( @@ -226,34 +227,6 @@ def _get_default_parties(self): ) signed_contract_filename = fields.Char(string="Filename") signed_contract = fields.Binary(string="Signed Document", tracking=True) - field_id = fields.Many2one( - "ir.model.fields", - string="Field", - help="""You can select a target field from the related document model. - If it is a relationship field you will be able to select a target field - at the destination of the relationship.""", - ) - sub_object_id = fields.Many2one( - "ir.model", - string="Sub-model", - help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) - sub_model_object_field_id = fields.Many2one( - "ir.model.fields", - string="Sub-field", - help="""When a relationship field is selected as first field, this - field lets you select the target field within the destination document - model (sub-model).""", - ) - default_value = fields.Char( - help="Optional value to use if the target field is empty." - ) - copyvalue = fields.Char( - string="Placeholder Expression", - help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) template_id = fields.Many2one( "agreement", string="Template", domain=[("is_template", "=", True)] ) @@ -322,26 +295,6 @@ def _compute_dynamic_special_terms(self): )[agreement.id] agreement.dynamic_special_terms = special_terms - @api.onchange("field_id", "sub_model_object_field_id", "default_value") - def onchange_copyvalue(self): - self.sub_object_id = False - self.copyvalue = False - if self.field_id and not self.field_id.relation: - self.copyvalue = "{{{{object.{} or {}}}}}".format( - self.field_id.name, self.default_value or "''" - ) - self.sub_model_object_field_id = False - if self.field_id and self.field_id.relation: - self.sub_object_id = self.env["ir.model"].search( - [("model", "=", self.field_id.relation)] - )[0] - if self.sub_model_object_field_id: - self.copyvalue = "{{{{object.{}.{} or {}}}}}".format( - self.field_id.name, - self.sub_model_object_field_id.name, - self.default_value or "''", - ) - # Used for Kanban grouped_by view @api.model def _read_group_stage_ids(self, stages, domain, order=None): diff --git a/agreement_legal/models/agreement_appendix.py b/agreement_legal/models/agreement_appendix.py index f2aab3581..ab1aeed12 100644 --- a/agreement_legal/models/agreement_appendix.py +++ b/agreement_legal/models/agreement_appendix.py @@ -1,11 +1,12 @@ # Copyright (C) 2018 - TODAY, Pavlov Media # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import fields, models class AgreementAppendix(models.Model): _name = "agreement.appendix" + _inherit = ["agreement.dynamic.content.mixin"] _description = "Agreement Appendices" _order = "sequence" @@ -25,56 +26,6 @@ class AgreementAppendix(models.Model): "removing it.", ) - # Dynamic field editor - field_id = fields.Many2one( - "ir.model.fields", - string="Field", - help="""Select target field from the related document model. If it is a - relationship field you will be able to select a target field at the - destination of the relationship.""", - ) - sub_object_id = fields.Many2one( - "ir.model", - string="Sub-model", - help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) - sub_model_object_field_id = fields.Many2one( - "ir.model.fields", - string="Sub-field", - help="""When a relationship field is selected as first field, this - field lets you select the target field within the destination document - model (sub-model).""", - ) - default_value = fields.Char( - help="Optional value to use if the target field is empty." - ) - copyvalue = fields.Char( - string="Placeholder Expression", - help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) - - @api.onchange("field_id", "sub_model_object_field_id", "default_value") - def onchange_copyvalue(self): - self.sub_object_id = False - self.copyvalue = False - if self.field_id and not self.field_id.relation: - self.copyvalue = "{{{{object.{} or {}}}}}".format( - self.field_id.name, self.default_value or "''" - ) - self.sub_model_object_field_id = False - if self.field_id and self.field_id.relation: - self.sub_object_id = self.env["ir.model"].search( - [("model", "=", self.field_id.relation)] - )[0] - if self.sub_model_object_field_id: - self.copyvalue = "{{{{object.{}.{} or {}}}}}".format( - self.field_id.name, - self.sub_model_object_field_id.name, - self.default_value or "''", - ) - # compute the dynamic content for jinja expression def _compute_dynamic_content(self): MailTemplates = self.env["mail.template"] diff --git a/agreement_legal/models/agreement_clause.py b/agreement_legal/models/agreement_clause.py index 298b01b89..c275d9a31 100644 --- a/agreement_legal/models/agreement_clause.py +++ b/agreement_legal/models/agreement_clause.py @@ -1,11 +1,12 @@ # Copyright (C) 2018 - TODAY, Pavlov Media # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import fields, models class AgreementClause(models.Model): _name = "agreement.clause" + _inherit = ["agreement.dynamic.content.mixin"] _description = "Agreement Clauses" _order = "sequence" @@ -29,56 +30,6 @@ class AgreementClause(models.Model): "removing it.", ) - # Dynamic field editor - field_id = fields.Many2one( - "ir.model.fields", - string="Field", - help="""Select target field from the related document model. If it is a - relationship field you will be able to select a target field at the - destination of the relationship.""", - ) - sub_object_id = fields.Many2one( - "ir.model", - string="Sub-model", - help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) - sub_model_object_field_id = fields.Many2one( - "ir.model.fields", - string="Sub-field", - help="""When a relationship field is selected as first field, this - field lets you select the target field within the destination document - model (sub-model).""", - ) - default_value = fields.Char( - help="Optional value to use if the target field is empty." - ) - copyvalue = fields.Char( - string="Placeholder Expression", - help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) - - @api.onchange("field_id", "sub_model_object_field_id", "default_value") - def onchange_copyvalue(self): - self.sub_object_id = False - self.copyvalue = False - if self.field_id and not self.field_id.relation: - self.copyvalue = "{{{{object.{} or {}}}}}".format( - self.field_id.name, self.default_value or "''" - ) - self.sub_model_object_field_id = False - if self.field_id and self.field_id.relation: - self.sub_object_id = self.env["ir.model"].search( - [("model", "=", self.field_id.relation)] - )[0] - if self.sub_model_object_field_id: - self.copyvalue = "{{{{object.{}.{} or {}}}}}".format( - self.field_id.name, - self.sub_model_object_field_id.name, - self.default_value or "''", - ) - # compute the dynamic content for jinja expression def _compute_dynamic_content(self): MailTemplates = self.env["mail.template"] diff --git a/agreement_legal/models/agreement_dynamic_content_mixin.py b/agreement_legal/models/agreement_dynamic_content_mixin.py new file mode 100644 index 000000000..312faf82f --- /dev/null +++ b/agreement_legal/models/agreement_dynamic_content_mixin.py @@ -0,0 +1,55 @@ +from odoo import api, fields, models + + +class AgreementDynamicContentMixin(models.AbstractModel): + _name = "agreement.dynamic.content.mixin" + _description = "Agreement Dynamic Content Mixin" + + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + help="""Select target field from the related document model. If it is a + relationship field you will be able to select a target field at the + destination of the relationship.""", + ) + sub_object_id = fields.Many2one( + "ir.model", + string="Sub-model", + help="""When a relationship field is selected as first field, this + field shows the document model the relationship goes to.""", + ) + sub_model_object_field_id = fields.Many2one( + "ir.model.fields", + string="Sub-field", + help="""When a relationship field is selected as first field, this + field lets you select the target field within the destination document + model (sub-model).""", + ) + default_value = fields.Char( + help="Optional value to use if the target field is empty." + ) + copyvalue = fields.Char( + string="Placeholder Expression", + help="""Final placeholder expression, to be copy-pasted in the desired + template field.""", + ) + + @api.onchange("field_id", "sub_model_object_field_id", "default_value") + def onchange_copyvalue(self): + self.sub_object_id = False + self.copyvalue = False + if self.field_id and not self.field_id.relation: + self.copyvalue = "{{{{object.{} or {}}}}}".format( + self.field_id.name, self.default_value or "''" + ) + self.sub_model_object_field_id = False + if self.field_id and self.field_id.relation: + self.sub_object_id = self.env["ir.model"].search( + [("model", "=", self.field_id.relation)] + )[0] + if self.sub_model_object_field_id: + self.copyvalue = "{{{{object.{}.{} or {}}}}}".format( + self.field_id.name, + self.sub_model_object_field_id.name, + self.default_value or "''", + ) diff --git a/agreement_legal/models/agreement_recital.py b/agreement_legal/models/agreement_recital.py index ba17e9e2c..1ab624958 100644 --- a/agreement_legal/models/agreement_recital.py +++ b/agreement_legal/models/agreement_recital.py @@ -1,11 +1,12 @@ # Copyright (C) 2018 - TODAY, Pavlov Media # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import fields, models class AgreementRecital(models.Model): _name = "agreement.recital" + _inherit = ["agreement.dynamic.content.mixin"] _description = "Agreement Recitals" _order = "sequence" @@ -23,56 +24,6 @@ class AgreementRecital(models.Model): "removing it.", ) - # Dynamic field editor - field_id = fields.Many2one( - "ir.model.fields", - string="Field", - help="""Select target field from the related document model. If it is a - relationship field you will be able to select a target field at the - destination of the relationship.""", - ) - sub_object_id = fields.Many2one( - "ir.model", - string="Sub-model", - help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) - sub_model_object_field_id = fields.Many2one( - "ir.model.fields", - string="Sub-field", - help="""When a relationship field is selected as first field, this - field lets you select the target field within the destination document - model (sub-model).""", - ) - default_value = fields.Char( - help="Optional value to use if the target field is empty." - ) - copyvalue = fields.Char( - string="Placeholder Expression", - help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) - - @api.onchange("field_id", "sub_model_object_field_id", "default_value") - def onchange_copyvalue(self): - self.sub_object_id = False - self.copyvalue = False - if self.field_id and not self.field_id.relation: - self.copyvalue = "{{{{object.{} or {}}}}}".format( - self.field_id.name, self.default_value or "''" - ) - self.sub_model_object_field_id = False - if self.field_id and self.field_id.relation: - self.sub_object_id = self.env["ir.model"].search( - [("model", "=", self.field_id.relation)] - )[0] - if self.sub_model_object_field_id: - self.copyvalue = "{{{{object.{}.{} or {}}}}}".format( - self.field_id.name, - self.sub_model_object_field_id.name, - self.default_value or "''", - ) - # compute the dynamic content for jinja expression def _compute_dynamic_content(self): MailTemplates = self.env["mail.template"] diff --git a/agreement_legal/models/agreement_section.py b/agreement_legal/models/agreement_section.py index 0ae3eafeb..f1d54b881 100644 --- a/agreement_legal/models/agreement_section.py +++ b/agreement_legal/models/agreement_section.py @@ -1,11 +1,12 @@ # Copyright (C) 2018 - TODAY, Pavlov Media # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import fields, models class AgreementSection(models.Model): _name = "agreement.section" + _inherit = ["agreement.dynamic.content.mixin"] _description = "Agreement Sections" _order = "sequence" @@ -26,56 +27,6 @@ class AgreementSection(models.Model): "removing it.", ) - # Dynamic field editor - field_id = fields.Many2one( - "ir.model.fields", - string="Field", - help="""Select target field from the related document model. If it is a - relationship field you will be able to select a target field at the - destination of the relationship.""", - ) - sub_object_id = fields.Many2one( - "ir.model", - string="Sub-model", - help="""When a relationship field is selected as first field, this - field shows the document model the relationship goes to.""", - ) - sub_model_object_field_id = fields.Many2one( - "ir.model.fields", - string="Sub-field", - help="""When a relationship field is selected as first field, this - field lets you select the target field within the destination document - model (sub-model).""", - ) - default_value = fields.Char( - help="Optional value to use if the target field is empty." - ) - copyvalue = fields.Char( - string="Placeholder Expression", - help="""Final placeholder expression, to be copy-pasted in the desired - template field.""", - ) - - @api.onchange("field_id", "sub_model_object_field_id", "default_value") - def onchange_copyvalue(self): - self.sub_object_id = False - self.copyvalue = False - if self.field_id and not self.field_id.relation: - self.copyvalue = "{{{{object.{} or {}}}}}".format( - self.field_id.name, self.default_value or "''" - ) - self.sub_model_object_field_id = False - if self.field_id and self.field_id.relation: - self.sub_object_id = self.env["ir.model"].search( - [("model", "=", self.field_id.relation)] - )[0] - if self.sub_model_object_field_id: - self.copyvalue = "{{{{object.{}.{} or {}}}}}".format( - self.field_id.name, - self.sub_model_object_field_id.name, - self.default_value or "''", - ) - # compute the dynamic content for jinja expression def _compute_dynamic_content(self): MailTemplates = self.env["mail.template"] From 765e0976a7a5e88039b4c049e81e438287014d15 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Fri, 6 Mar 2026 15:21:39 +0530 Subject: [PATCH 61/86] [FIX] agreement_legal: remove redundant t-name from report_agreement_document --- agreement_legal/report/agreement.xml | 287 +++++++++++++-------------- 1 file changed, 138 insertions(+), 149 deletions(-) diff --git a/agreement_legal/report/agreement.xml b/agreement_legal/report/agreement.xml index 4d724bc87..a0557fa87 100644 --- a/agreement_legal/report/agreement.xml +++ b/agreement_legal/report/agreement.xml @@ -20,160 +20,149 @@