Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
d7e96ba
[ADD] sign_oca
etobella Jul 24, 2023
6d3f152
[FIX] sign_oca: wizard_id comodel
mariadforgeflow Oct 10, 2023
cb34cab
[FIX] sign_oca: black, isort, prettier
etobella Nov 6, 2023
d59c0db
[MIG] sign_oca: Migration to 16.0
etobella Nov 7, 2023
5b19c1b
Added translation using Weblate (Italian)
mymage Nov 28, 2023
69ee70a
[FIX] sign_oca: Add description sign.oca.request.log
etobella Dec 1, 2023
609d1a1
[FIX] sign_oca: oe_chatter should not be added on non mail.thread models
etobella Dec 1, 2023
f6b171e
Translated using Weblate (Italian)
mymage Dec 4, 2023
794e557
[FIX] sign_oca: Add configure action to sign.oca.request.log
victoralmau Apr 17, 2024
075b234
[FIX] sign_oca: Add filename file to show binary correctly in UX
victoralmau Apr 17, 2024
dab96f5
[IMP] sign_oca: Change t-raw to t-out
victoralmau Apr 17, 2024
0d69f06
[FIX] sign_oca: Some fixes
PauBForgeFlow Feb 27, 2024
bcffe83
[IMP] sign_oca: preview requests
PauBForgeFlow Feb 23, 2024
a646a75
[IMP] sign_oca: Improve README
victoralmau Jan 22, 2024
a9582dc
[IMP] sign_oca: Update .pot file
victoralmau Jan 18, 2024
3bb9345
[IMP] sign_oca: Add Administrator group + improve ACLs + add rules
victoralmau Sep 27, 2023
b4c0a95
[FIX] sign_oca: Add authenticate() method to test_portal
victoralmau Sep 27, 2023
e1716e9
[IMP] sign_oca: Add record_ref to requests
victoralmau Sep 27, 2023
90f961b
[IMP] sign_oca: Add _description to sign.oca.request.log
victoralmau Sep 27, 2023
15380d6
[IMP] sign_oca: Add systray compatibility
victoralmau Sep 27, 2023
ff8a4ac
[IMP] sign_oca: Add sign button to sign.oca.request + signer to allow…
victoralmau Sep 28, 2023
6c6a650
[IMP] sign_oca: Add model_id to templates
victoralmau Sep 28, 2023
3b51959
[IMP] sign_oca: Improve roles to set partner type (empty, default or …
victoralmau Sep 29, 2023
36b65af
[IMP] sign_oca: Add Wizard Generate Multi
victoralmau Sep 29, 2023
099c81c
[IMP] sign_oca: Link from partner to signer
BernatPForgeFlow Feb 28, 2024
14f8ab8
[IMP] sign_oca: Add Sign from template action from tree and form view
victoralmau Mar 5, 2024
985d56c
[FIX] sign_oca: Small fixes in configure mode
BernatPForgeFlow Mar 5, 2024
aeed26f
[IMP] sign_oca: Add groups in partner link to request
PauBForgeFlow Mar 6, 2024
c6a1a28
[FIX] sign_oca: Duplicated Sign button in request
PauBForgeFlow Mar 7, 2024
9f66d7e
[FIX] sign_oca: Remove legacy code and rename fields
BernatPForgeFlow Mar 21, 2024
ebe2d60
[FIX] sign_oca: Allow to sign partners with multiple roles
PauBForgeFlow Apr 3, 2024
907ad65
[FIX] sign_oca: Restrict items editing
PauBForgeFlow Apr 4, 2024
8f9be3b
[IMP] sign_oca: Kanban and tree menu UX improvement
PauBForgeFlow Apr 3, 2024
93fe3b4
[MIG] sign_oca: Migrate systray to owl
PauBForgeFlow Apr 16, 2024
879376a
[FIX] sign_oca: Avoid error when deleting an element in the configura…
victoralmau Apr 19, 2024
193ef5a
[IMP] sign_oca: Hide the Sign from template action in sign.oca* models
victoralmau Apr 19, 2024
ca52c66
[IMP] sign_oca: Improve USAGE section of README
victoralmau Apr 19, 2024
672cff3
[IMP] sign_oca: Migrate sign_oca.js to owl
PauBForgeFlow May 2, 2024
0f6d675
[FIX] sign_oca: Sign from template when there is a role with partner_…
PauBForgeFlow May 7, 2024
44ba42b
Added translation using Weblate (Spanish)
berisoft-arg May 12, 2024
bb2d4b7
[IMP] sign_oca: Add pre_migration script
PauBForgeFlow May 10, 2024
87e61c7
[FIX] sign_oca: sign_oca_pdf checkFilledAll
PauBForgeFlow Apr 11, 2024
bb07541
[FIX] sign_oca: pre_migration script
PauBForgeFlow May 22, 2024
8aea186
[FIX] sign_oca: Get signer partner info
BernatPForgeFlow May 21, 2024
d125f56
[IMP] sign_oca: Redirect at the end of the signature process
victoralmau May 23, 2024
da8fbf5
Translated using Weblate (Italian)
mymage May 23, 2024
19ae059
[FIX] sign_oca: Filter correctly next_items
BernatPForgeFlow May 21, 2024
f5eb6a7
[IMP] sign_oca: Send to signers the final signed document
BernatPForgeFlow May 22, 2024
a53a67f
Translated using Weblate (Italian)
mymage Jun 4, 2024
b96a521
[16.0][FIX]: Fix error on mig script when partner_type not exist
imlopes Jun 28, 2024
60d5958
[IMP] sign_oca: Use flex in order to show it properly
etobella Jul 7, 2024
1c7f743
Added translation using Weblate (Portuguese (Brazil))
SottomaiorMacedoTec Jul 10, 2024
ffb462e
[FIX] sign_oca Fix who can sign
ivs-cetmix Jul 16, 2024
9a9d62a
[FIX] sign_oca: Avoid access error with ir.model
victoralmau Jul 17, 2024
6bb3fca
Updated from template
ivs-cetmix Jul 17, 2024
d3618cc
Translated using Weblate (Italian)
mymage Jul 29, 2024
b08cc18
[IMP] sign_oca: Allow to manage inalterability
etobella Dec 3, 2023
e90b8dc
[IMP] sign_oca: Remove warning by using the proper function
etobella Dec 17, 2023
8962c28
[FIX] sign_oca: The id of the roles must be taken from role_id, not s…
etobella Aug 26, 2024
6c07cc5
Translated using Weblate (Italian)
mymage Aug 26, 2024
5fec0f4
[IMP] sign_oca: Filter unsigned documents in user count
pedropabloalba Sep 11, 2024
9931b0d
[IMP] sign_oca: Remove warning by several names with the same label
victoralmau Oct 4, 2024
12b5d94
[IMP] sign_oca: Add General settings menu item
victoralmau Oct 11, 2024
a4c5de5
Translated using Weblate (Italian)
mymage Oct 14, 2024
fd9c129
Translated using Weblate (Spanish)
victoralmau Oct 14, 2024
e5c903d
[IMP] sign_oca: Allow to store geolocalization
etobella Jan 19, 2024
d4a28e0
[FIX] sign_oca: Define the correct url to be set in the email that is…
victoralmau Nov 11, 2024
f0a1185
[IMP] sign_oca: pre-commit auto fixes
victoralmau Oct 30, 2024
8814578
[MIG] sign_oca: Migration to 17.0
May 17, 2024
60bb8af
[MIG] sign_oca: Finish migration
victoralmau Oct 30, 2024
a85aa97
[FIX] sign_oca: fix errors accesing to pdf viewer
CarlosRoca13 Nov 21, 2024
db4d8e8
[UPD] Update sign_oca.pot
Dec 3, 2024
0e08939
[BOT] post-merge updates
OCA-git-bot Dec 3, 2024
a876c75
Update translation files
weblate Dec 3, 2024
9c5e39d
Translated using Weblate (Italian)
mymage Dec 5, 2024
dfbf391
[18.0][MIG] sign_oca: Migration to 18.0
kobros-tech Dec 26, 2024
1290b03
[UPD] Update sign_oca.pot
Jan 13, 2025
6a0aaf7
[BOT] post-merge updates
OCA-git-bot Jan 13, 2025
fab9e6b
Update translation files
weblate Jan 13, 2025
5322a65
Translated using Weblate (Italian)
mymage Jan 15, 2025
bc18d88
[FIX] sign_oca: raise_if_not_found in default _get_sequence
AlexPForgeFlow Mar 24, 2025
0a89546
[BOT] post-merge updates
OCA-git-bot Mar 24, 2025
21542a7
Added translation using Weblate (French)
bonninguer Apr 16, 2025
e663545
Added translation using Weblate (French (France) (fr_FR))
bonninguer Apr 16, 2025
29f85b6
Translated using Weblate (French)
bonninguer Apr 16, 2025
4b97b7e
Translated using Weblate (French)
bonninguer Apr 16, 2025
d06e3ce
Translated using Weblate (French)
bonninguer Apr 17, 2025
3e96085
[IMP] sign_oca: improve request.signer views
jguenat May 27, 2025
ea67a80
[UPD] Update sign_oca.pot
Jun 12, 2025
4d9ff3b
[BOT] post-merge updates
OCA-git-bot Jun 12, 2025
1facbe2
Update translation files
weblate Jun 12, 2025
1c80d00
Translated using Weblate (Italian)
mymage Jun 14, 2025
9ca485b
[IMP] sign_oca: signature certificate document
LauraCForgeFlow Jul 21, 2025
f3f790c
[UPD] Update sign_oca.pot
Jul 21, 2025
7f25253
[BOT] post-merge updates
OCA-git-bot Jul 21, 2025
defc5d6
Update translation files
weblate Jul 21, 2025
99eabcf
Translated using Weblate (Italian)
mymage Jul 22, 2025
72b295d
Added translation using Weblate (Swedish)
jakobkrabbe Aug 6, 2025
404aae3
[FIX] sign_oca: fix sign button interactions
kobros-tech Feb 13, 2025
b492ad1
[FIX] sign_oca: handle js logic
kobros-tech Apr 7, 2025
2fa9f75
[IMP] sign_oca: correct syntax for oject typing
kobros-tech Apr 7, 2025
5897a68
[FIX] sign_oca: list requests from recent sent to oldest signed
kobros-tech Mar 3, 2025
c6d2a87
[UPD] Update sign_oca.pot
Sep 2, 2025
b87fd17
[BOT] post-merge updates
OCA-git-bot Sep 2, 2025
85f7519
Update translation files
weblate Sep 2, 2025
6b61cda
[BOT] post-merge updates
OCA-git-bot Sep 4, 2025
03cc9a4
[16.0][IMP] sign_oca: Add guided arrow flow to sign_oca
kobros-tech May 11, 2025
b2655c0
[18.0][IMP] sign_oca: Add guided arrow flow to sign_oca
kobros-tech Sep 19, 2025
c0e0630
[UPD] Update sign_oca.pot
Sep 19, 2025
9d65701
[BOT] post-merge updates
OCA-git-bot Sep 19, 2025
8ac643b
Update translation files
weblate Sep 19, 2025
2e6a509
Translated using Weblate (Italian)
mymage Sep 26, 2025
6c3272a
[IMP] sign_oca: Update icon
etobella Oct 16, 2025
e76b5bc
[BOT] post-merge updates
OCA-git-bot Oct 16, 2025
4f894cd
Translated using Weblate (Swedish)
jakobkrabbe Nov 17, 2025
5581f0b
[IMP] sign_oca: enable signing from portal
kobros-tech Jan 24, 2025
24cd503
Translated using Weblate (Portuguese (Brazil))
WesleyOliveira98 Dec 12, 2025
2c561a5
[UPD] Update sign_oca.pot
Dec 21, 2025
cdc435f
[UPD] Update sign_oca.pot
Dec 30, 2025
3a05ee7
[BOT] post-merge updates
OCA-git-bot Dec 30, 2025
d61676b
Update translation files
weblate Dec 30, 2025
43a0450
Translated using Weblate (Italian)
mymage Jan 8, 2026
4846cd1
Translated using Weblate (Spanish)
herminioelx Feb 19, 2026
b24ce5f
Translated using Weblate (Spanish)
Ed-Spain Apr 12, 2026
a78a1f9
Translated using Weblate (Spanish)
Ed-Spain Apr 19, 2026
b80a864
[IMP] sign_oca: pre-commit auto fixes
Yusuke1998 Apr 24, 2026
fec6f33
[MIG] sign_oca: Migration to 19.0
Yusuke1998 Apr 24, 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
188 changes: 188 additions & 0 deletions sign_oca/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

========
Sign Oca
========

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

.. |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%2Fsign-lightgray.png?logo=github
:target: https://github.com/OCA/sign/tree/19.0/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-19-0/sign-19-0-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=19.0
:alt: Try me on Runboat

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

This module allows to create documents for signature inside Odoo using
OWL.

**Table of contents**

.. contents::
:local:

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

There is a wizard (sign.oca.template.generate.multi) that can be used
for any model needed. If there is a template without a linked model or
linked to a model (res.partner for example) an action will be
automatically displayed in the tree and form view (only for users with
Sign permissions).

Usage
=====

Creation of templates
---------------------

- Access Sign / Templates
- Create a new template
- Add a PDF File
- Access the configuration menu
- You can add a field by doing a right click inside a page
- Click on the field in order to delete or edit some configuration of it
- The template is autosaved

Sign role
---------

- Access Sign / Settings / Roles
- Create a new role (Equipment employee for example)
- You can set the Partner type you need (empty, default or expression).
- With the expression option you can set: {{object.field_name.id}}
- If you create a sign request from template signer will be auto-create
according to roles

Sign a document from template
-----------------------------

- Access Sign / Templates
- Press the Sign button from a template
- Fill all the possible partners that will sign the document
- You can link the template to a model (maintenance.equipment for
example)
- The signature action will be opened.
- There, you can fill all the data you need.
- Once you finish, press the sign button on the top
- When the last signer signs it, the final file will be generated as a
PDF

Sign a pending document
-----------------------

- Go to the pencil icon in the upper right corner (systray) of the sign
request to access the pending signatures.
- Press the Sign button from signer request
- The signature action will be opened.
- There, you can fill all the data you need.
- Once you finish, press the sign button on the top
- When the last signer signs it, the final file will be generated as a
PDF

Sign from template
------------------

- Go to any list view or form view (except sign.oca models), e.g.:
Contacts
- Select multiple records (3 for example).
- The "Sign from template" action will be available if there are any
sign templates created that are not linked to any model and/or any
linked to the corresponding model.
- Select a template.
- Click on the "Generate" button.
- 3 requests will be created (each linked to each selected record) BUT
no signer will be set.
- Some extra modules (e.g. maintenance_sign_oca) will automatically set
the signers for each request.

Sign from portal
----------------

- customers who are using portal can sign their documents from portal
directly in addition to being able to sign them from emails.

Known issues / Roadmap
======================

Tasks
-----

- Ensure that the signature is inalterable. Maybe we might need to use
some tools like endevise or pyHanko with a certificate. Signer can be
authenticated using OTP.

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:%20sign_oca%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
-------

* Dixmit

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

- Enric Tobella (`www.dixmit.com <http://www.dixmit.com>`__)

- `Tecnativa <https://www.tecnativa.com>`__:

- Víctor Martínez

- `Kencove <https://www.kencove.com>`__:

- Mohamed Alkobrosli

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

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

|maintainer-etobella|

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions sign_oca/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import controllers
from . import models
from . import wizards
103 changes: 103 additions & 0 deletions sign_oca/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Copyright 2023 Dixmit
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Sign Oca",
"summary": """
Allow to sign documents inside Odoo CE""",
"version": "19.0.1.0.0",
"license": "AGPL-3",
"author": "Dixmit,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/sign",
"depends": ["portal"],
"data": [
"security/security.xml",
"views/menu.xml",
"views/sign_portal_oca_templates.xml",
"views/portal_templates.xml",
"data/data.xml",
"wizards/res_config_settings_views.xml",
"data/ir_sequence_data.xml",
"wizards/sign_oca_template_generate.xml",
"wizards/sign_oca_template_generate_multi.xml",
"views/res_partner_views.xml",
"views/sign_oca_request_log.xml",
"views/sign_oca_request.xml",
"security/ir.model.access.csv",
"views/sign_oca_field.xml",
"views/sign_oca_role.xml",
"views/sign_oca_template.xml",
"templates/assets.xml",
"reports/signature_certificate.xml",
"reports/signature_certificate_report.xml",
],
"demo": [
"demo/sign_oca_template.xml",
],
"assets": {
"web.assets_backend": [
("include", "web._assets_jquery"),
"sign_oca/static/src/components/sign_oca_pdf_common/sign_oca_pdf_common.xml",
"sign_oca/static/src/components/sign_oca_configure/sign_oca_configure.xml",
"sign_oca/static/src/components/sign_oca_pdf/sign_oca_pdf.xml",
"sign_oca/static/src/elements/elements.xml",
"sign_oca/static/src/scss/sign_oca.scss",
"sign_oca/static/src/components/sign_oca_pdf_common/sign_oca_pdf_common.esm.js",
"sign_oca/static/src/components/sign_oca_configure/sign_oca_configure_field_dialog.esm.js",
"sign_oca/static/src/components/sign_oca_configure/sign_oca_configure_field_dialog.xml",
"sign_oca/static/src/components/sign_oca_configure/sign_oca_configure.esm.js",
"sign_oca/static/src/components/sign_oca_preview/sign_oca_preview.esm.js",
"sign_oca/static/src/components/sign_oca_preview/sign_oca_preview.xml",
"sign_oca/static/src/elements/text.esm.js",
"sign_oca/static/src/elements/signature.esm.js",
"sign_oca/static/src/elements/check.esm.js",
"sign_oca/static/src/components/sign_oca_pdf/sign_oca_pdf.esm.js",
"sign_oca/static/src/js/sign_oca.esm.js",
"sign_oca/static/src/js/systray_service.esm.js",
"sign_oca/static/src/xml/*.xml",
],
"oca_sign.assets_frontend_sign": [
# frontend needed imports
("include", "web._assets_helpers"),
("include", "web._assets_primary_variables"),
("include", "web._assets_frontend_helpers"),
"web/static/lib/jquery/jquery.js",
"web/static/src/scss/pre_variables.scss",
"web/static/lib/bootstrap/scss/_variables.scss",
"web/static/lib/bootstrap/scss/_variables-dark.scss",
"web/static/lib/bootstrap/scss/_maps.scss",
("include", "web._assets_bootstrap_frontend"),
("include", "web._assets_bootstrap_backend"),
"web/static/lib/odoo_ui_icons/*",
"web/static/lib/bootstrap/scss/_functions.scss",
"web/static/lib/bootstrap/scss/_mixins.scss",
"web/static/lib/bootstrap/scss/utilities/_api.scss",
"web/static/src/libs/fontawesome/css/font-awesome.css",
("include", "web._assets_core"),
# especific module frontend imports
"sign_oca/static/src/components/sign_oca_pdf_common/sign_oca_pdf_common.xml",
"sign_oca/static/src/components/sign_oca_configure/sign_oca_configure.xml",
"sign_oca/static/src/components/sign_oca_pdf/sign_oca_pdf.xml",
"sign_oca/static/src/components/sign_oca_pdf_portal/sign_oca_pdf_portal.xml",
"sign_oca/static/src/elements/elements.xml",
"sign_oca/static/src/scss/sign_oca.scss",
"sign_oca/static/src/components/sign_oca_pdf_portal/sign_oca_navigator.esm.js",
"sign_oca/static/src/components/sign_oca_pdf_common/sign_oca_pdf_common.esm.js",
"sign_oca/static/src/elements/text.esm.js",
"sign_oca/static/src/elements/signature.esm.js",
"sign_oca/static/src/elements/check.esm.js",
"sign_oca/static/src/components/sign_oca_pdf/sign_oca_pdf.esm.js",
"sign_oca/static/src/components/sign_oca_pdf_portal/sign_oca_pdf_portal.esm.js",
"sign_oca/static/src/scss/portal.scss",
"sign_oca/static/src/xml/*.xml",
],
"sign_oca.sign_assets": [
"sign_oca/static/src/scss/sign.scss",
"web/static/src/libs/fontawesome/css/font-awesome.css",
],
"web.assets_tests": [
"sign_oca/static/src/tests/sign_tour.esm.js",
],
},
"maintainers": ["etobella"],
}
1 change: 1 addition & 0 deletions sign_oca/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import main
Loading
Loading