Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
fca5e0f
[ADD] agreement_legal migration
ygol Mar 29, 2019
a5ce165
[FIX][12.0] Menu Icon.
murtuzasaleh Apr 18, 2019
4ab56ee
[FIX] Icon in settings
max3903 Apr 30, 2019
d5159a5
[UPD] update agreement demo data with compulsory fields
ygol May 29, 2019
1399d7a
[IMP] agreement_serviceprofile: add stage
brian10048 Jul 18, 2019
38f1d82
Update agreement_legal/models/agreement.py
ygol Sep 11, 2019
2dad9fe
[IMP] move some notions from agreement_legal to agreement
gurneyalex Sep 27, 2019
9e5894f
[IMP] New icon for agreement modules (svg file in agreement_legal)
marcelsavegnago Feb 15, 2020
508fad6
[FIX] agreement_legal: Change company_contact_id domain
Tardo Feb 17, 2020
c20c619
[FIX] company_partner_id and partner_id have the same label: Partner.
MiquelRForgeFlow Feb 18, 2020
c83acbf
[IMP] agreement,agreement_legal: support activities
Mar 6, 2020
9ab346c
[FIX] agreement_legal
murtuzasaleh May 5, 2020
00f84c3
[12.0][FIX] agreement_legal: Error when mass action on list view
newtratip Feb 18, 2021
4447820
[14.0][MIG] agreement_legal (Version 12.0 to 14.0)
patrickrwilson May 4, 2021
9f3aa76
[14.0][ENH] agreement_legal
newtratip Jul 16, 2021
931fcf3
[FIX] agreement_legal: Change create_new_version() function in agreem…
victoralmau Oct 8, 2021
bc41059
[IMP] agreement_legal: Add agreement list button
olgamarcocb Nov 17, 2021
2a38688
Added translation using Weblate (Spanish (Argentina))
ibuioli Feb 6, 2022
14a05a8
[MIG] agreement_legal: Migration to 15.0
olgamarcocb May 11, 2022
d017d7b
[IMP] agreement_legal: black, isort, prettier
etobella Aug 31, 2022
c000bb0
[UPD] Update agreement_legal.pot
Oct 1, 2022
9131a0d
[UPD] README.rst
OCA-git-bot Oct 1, 2022
b12dfeb
[IMP] agreement_legal: pre-commit stuff
urvisha-serpentcs Jan 13, 2023
1c1b0da
[UPD] Update agreement_legal.pot
Jun 8, 2023
b57f228
[UPD] README.rst
OCA-git-bot Jun 8, 2023
ba105db
Update translation files
weblate Jun 8, 2023
4528514
[IMP] agreement_legal: Define warning days cron and filter
olgamarcocb Oct 15, 2021
ac95445
[FIX] agreement_legal: Fix alert, improve test coverage
etobella Dec 13, 2021
47a4222
[IMP] agreement_legal: create in batch
len-foss May 27, 2023
69ec8d3
[MIG] agreement_legal: cleanup
aktiv-heli-kantawala Jun 5, 2023
7a2da16
[UPD] Update agreement_legal.pot
Jun 26, 2023
f44b914
agreement_legal 16.0.2.0.0
OCA-git-bot Jun 26, 2023
bf9193b
Update translation files
weblate Jun 26, 2023
e756b90
Translated using Weblate (Spanish)
Ivorra78 Jul 20, 2023
12668a3
[UPD] README.rst
OCA-git-bot Sep 3, 2023
76f2158
Update translation files
weblate Oct 9, 2023
5af183b
Translated using Weblate (French)
gregory-moka Nov 8, 2023
bcf2e37
Added translation using Weblate (Italian)
mymage May 2, 2024
5d4b9be
Translated using Weblate (Portuguese (Brazil))
SottomaiorMacedoTec Jul 6, 2024
a93fed3
[IMP] agreement_legal: pre-commit auto fixes
imlopes Sep 20, 2024
3fb1bd6
[UPD] Update agreement_legal.pot
Feb 3, 2025
4103b46
[BOT] post-merge updates
OCA-git-bot Feb 3, 2025
bafebda
Update translation files
weblate Feb 3, 2025
b92b598
Translated using Weblate (Italian)
mymage Feb 5, 2025
3973252
[IMP] agreement_legal: pre-commit execution
Mar 20, 2025
19175f3
[UPD] Update agreement_legal.pot
Sep 15, 2025
4dec5f6
[BOT] post-merge updates
OCA-git-bot Sep 15, 2025
08bc2b3
Added translation using Weblate (Swedish)
jakobkrabbe Sep 18, 2025
1af150d
[IMP] agreement_legal: Add logo
etobella Oct 17, 2025
d43cbca
[BOT] post-merge updates
OCA-git-bot Oct 17, 2025
5d6848c
Translated using Weblate (Swedish)
jakobkrabbe Nov 4, 2025
1e50894
[MOV] agreement_legal > agreement: res.partner.agreement_[ids|count]
vvrossem Sep 22, 2025
404eac4
[FIX] agreement_legal: use url instead kanban_image()
Saran440 Dec 3, 2025
e413d5a
[BOT] post-merge updates
OCA-git-bot Dec 8, 2025
36e7548
[UPD] Update agreement_legal.pot
Dec 9, 2025
0579a68
[BOT] post-merge updates
OCA-git-bot Dec 9, 2025
4d28063
Update translation files
weblate Dec 9, 2025
c38d48b
Translated using Weblate (Swedish)
jakobkrabbe Jan 14, 2026
4184331
[IMP] agreement_legal: refactor agreement form to inherit base view
MohamedOsman7 Jan 26, 2026
6bba9f2
[REF] agreement_legal: Replace repeated dynamic field code with mixin
tarteo Feb 26, 2026
765e097
[FIX] agreement_legal: remove redundant t-name from report_agreement_…
BhaveshHeliconia Mar 6, 2026
12b1cab
Added translation using Weblate (Turkish)
bo-eska Mar 10, 2026
2fbc852
[BOT] post-merge updates
OCA-git-bot Mar 31, 2026
8c5ec6a
[UPD] Update agreement_legal.pot
Apr 20, 2026
4618c68
[BOT] post-merge updates
OCA-git-bot Apr 20, 2026
512a053
Update translation files
weblate Apr 20, 2026
e8c9c40
Translated using Weblate (Italian)
mymage Apr 21, 2026
b194e14
[UPD] Update agreement_legal.pot
May 22, 2026
a00ce1b
[BOT] post-merge updates
OCA-git-bot May 22, 2026
8d14bc7
Update translation files
weblate May 22, 2026
8a814c8
Translated using Weblate (Italian)
mymage May 25, 2026
48ee015
Translated using Weblate (Turkish)
bo-eska Jun 3, 2026
c90952f
[FIX] agreement_legal: restore kanban menu, fix app menu, add demo data
max3903 Jul 1, 2026
cf9cf50
[UPD] Update agreement_legal.pot
Jul 1, 2026
dbc7aea
[BOT] post-merge updates
OCA-git-bot Jul 1, 2026
bf03d96
Update translation files
weblate Jul 1, 2026
b82f2c3
[FIX] agreement_legal: preserve base Agreements menu on uninstall
max3903 Jul 2, 2026
9e7df9f
[BOT] post-merge updates
OCA-git-bot Jul 3, 2026
21529cb
[IMP] agreement_legal: Add field translations
May 2, 2025
4f26897
fix(agreement_legal) Fix #62
ygol Feb 19, 2025
0895f39
[IMP] agreement_legal: Recompute from template
Feb 3, 2026
340e547
[FIX] Fix duplicated clauses
May 12, 2026
2d12f4c
[UPD] Update agreement_legal.pot
Jul 29, 2026
6459931
[BOT] post-merge updates
OCA-git-bot Jul 29, 2026
3f8bd59
Update translation files
weblate Jul 29, 2026
dbfaf2d
[MIG] agreement_legal: Migration to 19.0
max3903 Sep 3, 2026
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
154 changes: 154 additions & 0 deletions agreement_legal/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

================
Agreements Legal
================

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

.. |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/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
:target: https://github.com/OCA/agreement/tree/19.0/agreement_legal
:alt: OCA/agreement
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/agreement-19-0/agreement-19-0-agreement_legal
: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/agreement&target_branch=19.0
:alt: Try me on Runboat

|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 <https://github.com/OCA/agreement/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/agreement/issues/new?body=module:%20agreement_legal%0Aversion:%2019.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
-------

* Pavlov Media
* Gray Matter Logic
* Yves Goldberg (Ygol Internetwork)

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

- Patrick Wilson <pwilson@pavlovmedia.com>
- Bhavesh Odedra <bodedra@opensourceintegrators.com>
- Wolfgang Hall <whall@opensourceintegrators.com>
- Sandip Mangukiya <smangukiya@opensourceintegrators.com>
- Yves Goldberg <yves@ygol.com>
- Tharathip Chaweewongphan <tharathipc@ecosoft.co.th>
- Italo LOPES <italo.lopes@camptocamp.com>
- `APSL-Nagarro <https://www.apsl.tech>`__:

- Antoni Marroig <amarroig@apsl.net>
- Miquel Alzanillas <miquel.alzanillas@nagarro.com>

- `Gray Matter Logic <https://www.graymatterlogic.com>`__:

- Maxime Chambreuil <maxime.chambreuil@graymatterlogic.com>

Other credits
-------------

The development of this module has been financially supported by:

- Pavlov Media
- Gray Matter Logic
- 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 <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-max3903| |maintainer-ygol|

This module is part of the `OCA/agreement <https://github.com/OCA/agreement/tree/19.0/agreement_legal>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
11 changes: 11 additions & 0 deletions agreement_legal/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Copyright (C) 2018 - TODAY, Pavlov Media
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
from . import wizards


def uninstall_hook(env):
menu_root = env.ref("agreement.agreement_menu_root", raise_if_not_found=False)
if menu_root:
menu_root.active = True
56 changes: 56 additions & 0 deletions agreement_legal/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# 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, "
"Gray Matter Logic, "
"Yves Goldberg (Ygol Internetwork), "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/agreement",
"category": "Partner",
"license": "AGPL-3",
"version": "19.0.1.0.0",
"depends": ["contacts", "agreement", "product", "web"],
"data": [
"data/cron.xml",
"data/ir_sequence.xml",
"data/agreement_stage.xml",
"data/agreement_type.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.xml",
"views/menu.xml",
"wizards/create_agreement_wizard.xml",
"wizards/recompute_agreement_from_template_wizard.xml",
],
"demo": [
"demo/agreement_subtype.xml",
"demo/agreement.xml",
"demo/agreement_recital.xml",
"demo/agreement_section.xml",
"demo/agreement_clause.xml",
"demo/agreement_appendix.xml",
"demo/agreement_line.xml",
],
"assets": {
"web.assets_backend": [
"agreement_legal/static/src/js/**/*",
"agreement_legal/static/src/xml/**/*",
],
},
"installable": True,
"application": True,
"uninstall_hook": "uninstall_hook",
"development_status": "Beta",
"maintainers": ["max3903", "ygol"],
}
63 changes: 63 additions & 0 deletions agreement_legal/data/agreement_stage.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<odoo>
<record id="agreement_stage_new" model="agreement.stage">
<field name="name">New</field>
<field name="sequence">10</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_draft" model="agreement.stage">
<field name="name">Draft</field>
<field name="sequence">20</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_reviewed" model="agreement.stage">
<field name="name">Reviewed</field>
<field name="sequence">30</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_negotiation" model="agreement.stage">
<field name="name">Negotiation</field>
<field name="sequence">40</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_out" model="agreement.stage">
<field name="name">Out for Customer Signature</field>
<field name="sequence">50</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_internal" model="agreement.stage">
<field name="name">Waiting Internal Signature</field>
<field name="sequence">60</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_active" model="agreement.stage">
<field name="name">Active</field>
<field name="sequence">70</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_expired" model="agreement.stage">
<field name="name">Expired</field>
<field name="sequence">80</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_terminated" model="agreement.stage">
<field name="name">Terminated</field>
<field name="sequence">90</field>
<field name="fold">True</field>
<field name="stage_type">agreement</field>
</record>

<record id="agreement_stage_cancelled" model="agreement.stage">
<field name="name">Cancelled</field>
<field name="sequence">100</field>
<field name="fold">True</field>
<field name="stage_type">agreement</field>
</record>
</odoo>
13 changes: 13 additions & 0 deletions agreement_legal/data/agreement_type.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<odoo>
<record id="agreement_type_agreement" model="agreement.type">
<field name="name">Agreement</field>
</record>

<record id="agreement_type_contract" model="agreement.type">
<field name="name">Contract</field>
</record>

<record id="agreement_type_loi" model="agreement.type">
<field name="name">Letter of Intent</field>
</record>
</odoo>
23 changes: 23 additions & 0 deletions agreement_legal/data/cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo noupdate="1">
<!-- Add warning days -->
<record id="mail_activity_review_agreement" model="mail.activity.type">
<field name="name">Agreement needs a review</field>
<field name="summary">note</field>
<field name="category">default</field>
<field name="res_model">agreement</field>
<field name="icon">fa-tasks</field>
<field name="delay_count">0</field>
</record>
<!--Test warning days -->
<record model="ir.cron" forcecreate="True" id="ir_cron_test_acc_move_except">
<field name="name">Agreement: Check to Review Days</field>
<field name="model_id" ref="agreement_legal.model_agreement" />
<field name="state">code</field>
<field name="code">model._alert_to_review_date()</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">20</field>
<field name="interval_type">minutes</field>
<field name="active" eval="True" />
</record>
</odoo>
10 changes: 10 additions & 0 deletions agreement_legal/data/ir_sequence.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<odoo noupdate="1">
<!-- Sequence for agreement -->
<record id="seq_agreement" model="ir.sequence">
<field name="name">Agreements</field>
<field name="code">agreement</field>
<field name="prefix">AG</field>
<field name="padding">3</field>
<field name="company_id" eval="False" />
</record>
</odoo>
Loading
Loading