Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions agreement_sign_oca/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
==================
Agreement Sign Oca
==================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:42b4bf1e90c19330c7df5578c2ff9840a447d24944ea3ec12efe52febe2a310d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fsign-lightgray.png?logo=github
:target: https://github.com/OCA/sign/tree/18.0/agreement_sign_oca
:alt: OCA/sign
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sign-18-0/sign-18-0-agreement_sign_oca
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/sign&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Create signature request from any agreement. When full signed agreement
will be moved automatically to defined stage attaching a copy of the
signed document. Also a smart-button will be displayed on the
agreement's form view showing the linked Sign Requests.

**Table of contents**

.. contents::
:local:

Configuration
=============

1. Go to company settings and set "Signed Agreements Stage"

Usage
=====

Sign Request Creation Process

1. Navigate to an existing Agreement.
2. Click the "Request Signature" button to generate a new sign request.
3. From the new Sign Request, click the "Configure Document" smart
button to set the position for signatures and other dynamic fields.
4. Once configured, return to the request and click the "Send" button.
5. After the document is fully signed, the related Agreement will be
automatically moved to the stage defined in the company settings.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sign/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/sign/issues/new?body=module:%20agreement_sign_oca%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* APSL Nagarro

Contributors
------------

- `APSL Nagarro <https://nagarro.com>`__

- Miquel Alzanillas

- `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__

- Bhavesh Heliconia

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-miquelalzanillas| image:: https://github.com/miquelalzanillas.png?size=40px
:target: https://github.com/miquelalzanillas
:alt: miquelalzanillas

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-miquelalzanillas|

This module is part of the `OCA/sign <https://github.com/OCA/sign/tree/18.0/agreement_sign_oca>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions agreement_sign_oca/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
22 changes: 22 additions & 0 deletions agreement_sign_oca/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2025 APSL-Nagarro - Miquel Alzanillas
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Agreement Sign Oca",
"version": "18.0.1.0.0",
"category": "Agreement",
"website": "https://github.com/OCA/sign",
"author": "APSL Nagarro, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["sign_oca", "agreement_legal"],
"data": [
"views/agreement_views.xml",
"views/res_config_settings_view.xml",
"views/sign_oca_request_views.xml",
"data/data.xml",
],
"demo": [
"demo/sign_oca_template.xml",
],
"installable": True,
"maintainers": ["miquelalzanillas"],
}
10 changes: 10 additions & 0 deletions agreement_sign_oca/data/data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="role_agreement_signer" model="sign.oca.role">
<field name="name">Agreement Company Signatory Person</field>
<field name="partner_selection_policy">expression</field>
<field
name="expression_partner"
>{{object.company_signed_user_id.partner_id.id}}</field>
</record>
</odoo>
21 changes: 21 additions & 0 deletions agreement_sign_oca/demo/sign_oca_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<odoo>
<record id="sign_oca_template_agreement_legal_demo" model="sign.oca.template">
<field name="name">Agreement</field>
<field name="model_id" ref="agreement_legal.model_agreement" />
<field name="data" type="base64" file="sign_oca/tests/empty.pdf" />
</record>
<record id="sign_oca_template_agreement_demo_item_0" model="sign.oca.template.item">
<field
name="template_id"
ref="agreement_sign_oca.sign_oca_template_agreement_legal_demo"
/>
<field name="field_id" ref="sign_oca.sign_field_name" />
<field name="role_id" ref="agreement_sign_oca.role_agreement_signer" />
<field name="page">1</field>
<field name="position_x">10</field>
<field name="position_y">10</field>
<field name="width">10</field>
<field name="height">10</field>
<field name="required" eval="True" />
</record>
</odoo>
142 changes: 142 additions & 0 deletions agreement_sign_oca/i18n/agreement_sign_oca.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * agreement_sign_oca
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.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_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_agreement
#: model:ir.model.fields,field_description:agreement_sign_oca.field_sign_oca_request__agreement_id
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.sign_oca_request_search_view
msgid "Agreement"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_res_company
msgid "Companies"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_res_config_settings
msgid "Config Settings"
msgstr ""

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.agreement_sign_view_form
msgid "Create adn sent signature request for this agreement."
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_company__agreement_sign_oca_template_id
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_config_settings__agreement_sign_oca_template_id
msgid "Default Agreement Sign Template"
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid "Please create a user for ther company signatory person"
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid ""
"Please set a Company Primary Contact in order to set\n"
" the signatory person of the company in this document"
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid ""
"Please set a Primary Contact in order to set the\n"
" signatory person of the counterpart in this document"
msgstr ""

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.agreement_sign_view_form
msgid "Request Signature"
msgstr ""

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.res_config_settings_view_form
msgid "Sign Oca"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_sign_oca_request
msgid "Sign Request"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_agreement__sign_request_ids
msgid "Sign Requests"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_agreement__sign_request_count
msgid "Sign request count"
msgstr ""

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.agreement_sign_view_form
msgid "Signature Requests"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_company__agreement_sign_oca_signed_stage_id
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_config_settings__agreement_sign_oca_signed_stage_id
msgid "Signed Agreements Stage"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_agreement__signed_contract
msgid "Signed Document"
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid ""
"The 'Agreement Company Signatory Person' role for the signature\n"
" was not found. Please update 'agreement_sign_oca' module."
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid ""
"The 'Customer' role for the signature\n"
" was not found. Please update 'agreement' module."
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid "The agreement must have an assigned contact (counterparty)."
msgstr ""

#. module: agreement_sign_oca
#. odoo-python
#: code:addons/agreement_sign_oca/models/agreement.py:0
#, python-format
msgid ""
"The agreement's counterparty contact\n"
" does not have an email configured."
msgstr ""
85 changes: 85 additions & 0 deletions agreement_sign_oca/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * agreement_sign_oca
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-25 11:03+0000\n"
"PO-Revision-Date: 2025-07-25 11:03+0000\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_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_agreement
#: model:ir.model.fields,field_description:agreement_sign_oca.field_sign_oca_request__agreement_id
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.sign_oca_request_search_view
msgid "Agreement"
msgstr "Acuerdo"

#. module: agreement_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_res_company
msgid "Companies"
msgstr "Compañías"

#. module: agreement_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_res_config_settings
msgid "Config Settings"
msgstr "Ajustes de configuración"

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.agreement_sign_view_form
msgid "Create adn sent signature request for this agreement."
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_company__agreement_sign_oca_template_id
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_config_settings__agreement_sign_oca_template_id
msgid "Default Agreement Sign Template"
msgstr ""

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.agreement_sign_view_form
msgid "Request Signature"
msgstr "Solicitud de firma"

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.res_config_settings_view_form
msgid "Sign Oca"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model,name:agreement_sign_oca.model_sign_oca_request
msgid "Sign Request"
msgstr "Solicitud de firma"

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_agreement__sign_request_ids
msgid "Sign Requests"
msgstr "Solicitudes de Firma"

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_agreement__sign_request_count
msgid "Sign request count"
msgstr "Solicitudes de Firmas"

#. module: agreement_sign_oca
#: model_terms:ir.ui.view,arch_db:agreement_sign_oca.agreement_sign_view_form
msgid "Signature Requests"
msgstr ""

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_company__agreement_sign_oca_signed_stage_id
#: model:ir.model.fields,field_description:agreement_sign_oca.field_res_config_settings__agreement_sign_oca_signed_stage_id
msgid "Signed Agreements Stage"
msgstr "Etapa para acuerdos firmados"

#. module: agreement_sign_oca
#: model:ir.model.fields,field_description:agreement_sign_oca.field_agreement__signed_contract
msgid "Signed Document"
msgstr "Documento firmado"
Loading
Loading