Skip to content

Commit

Permalink
Merge PR #68 into 15.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Oct 11, 2024
2 parents d3aa481 + 0e02948 commit 3c1cb86
Show file tree
Hide file tree
Showing 11 changed files with 142 additions and 21 deletions.
1 change: 1 addition & 0 deletions sign_oca/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"data/data.xml",
"wizards/sign_oca_template_generate.xml",
"wizards/sign_oca_template_generate_multi.xml",
"views/res_config_settings_views.xml",
"views/res_partner_views.xml",
"views/sign_oca_request_log.xml",
"views/sign_oca_request.xml",
Expand Down
1 change: 1 addition & 0 deletions sign_oca/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from . import res_company
from . import res_users
from . import res_partner
from . import sign_oca_template
Expand Down
14 changes: 14 additions & 0 deletions sign_oca/models/res_company.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright 2024 ForgeFlow S.L. (http://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).

from odoo import fields, models


class ResCompany(models.Model):
_inherit = "res.company"

sign_oca_send_sign_request_copy = fields.Boolean(
string="Send signers a copy of the final signed document",
help="Once all signers have signed the request, a copy of "
"the final document will be sent to each of them.",
)
35 changes: 35 additions & 0 deletions sign_oca/models/sign_oca_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,40 @@ def action_send(self, sign_now=False, message=""):
email_layout_xmlid="mail.mail_notification_light",
)

def action_send_signed_request(self):
self.ensure_one()
if (
self.state != "signed"
or not self.env.company.sign_oca_send_sign_request_copy
):
return
for signer in self.signer_ids:
attachments = (
self.env["ir.attachment"]
.sudo()
.search(
[
("res_model", "=", "sign.oca.request"),
("res_id", "=", self.id),
("res_field", "=", "data"),
]
)
)
# The message will not be linked to the record because we do not want
# it happen.
self.env["mail.thread"].message_notify(
body=_(
"%(name)s (%(email)s) has sent the signed document.",
name=self.create_uid.name,
email=self.create_uid.email,
),
partner_ids=signer.partner_id.ids,
subject=_("Signed document"),
subtype_id=self.env.ref("mail.mt_comment").id,
mail_auto_delete=False,
attachment_ids=attachments.ids,
)

def _check_signed(self):
self.ensure_one()
if self.state != "sent":
Expand Down Expand Up @@ -431,6 +465,7 @@ def action_sign(self, items, access_token=False):
self.signature_hash = final_hash
self.request_id._check_signed()
self._set_action_log("sign", access_token=access_token)
self.request_id.action_send_signed_request()
return {
"type": "ir.actions.act_url",
"url": self.access_url,
Expand Down
11 changes: 4 additions & 7 deletions sign_oca/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@

/*
:Author: David Goodger ([email protected])
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
Expand Down Expand Up @@ -275,7 +274,7 @@
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: gray; } /* line numbers */
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
Expand All @@ -301,7 +300,7 @@
span.pre {
white-space: pre }

span.problematic, pre.problematic {
span.problematic {
color: red }

span.section-subtitle {
Expand Down Expand Up @@ -505,9 +504,7 @@ <h2><a class="toc-backref" href="#toc-entry-13">Contributors</a></h2>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-14">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
Expand Down
11 changes: 9 additions & 2 deletions sign_oca/views/menu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,17 @@
sequence="16"
groups="sign_oca.sign_oca_group_user"
/>
<record model="ir.ui.menu" id="sign_oca_settings_menu">
<menuitem
name="Settings"
id="sign_oca_settings_menu"
parent="sign_oca_root_menu"
sequence="90"
groups="sign_oca.sign_oca_group_admin"
/>
<!-- <record model="ir.ui.menu" id="sign_oca_settings_menu">
<field name="name">Settings</field>
<field name="sequence" eval="90" />
<field name="parent_id" ref="sign_oca_root_menu" />
<field name="groups_id" eval="[(6,0,[ref('sign_oca.sign_oca_group_admin')])]" />
</record>
</record> -->
</odoo>
51 changes: 51 additions & 0 deletions sign_oca/views/res_config_settings_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright 2024 ForgeFlow S.L. (http://www.forgeflow.com)
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form (in sign_oca)</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="base.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[hasclass('settings')]" position="inside">
<div
class="app_settings_block"
data-string="Sign Oca"
string="Sign Oca"
data-key="sign_oca"
groups="sign_oca.sign_oca_group_admin"
>
<h2>Sign Requests</h2>
<div class="row mt16 o_settings_container" id="sign_oca_requests">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="sign_oca_send_sign_request_copy" />
</div>
<div class="o_setting_right_pane">
<label for="sign_oca_send_sign_request_copy" />
<div class="text-muted">
Once all signers have signed the request, a copy of the final document will be sent to each of them.
</div>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
<record id="sign_oca_general_settings_act_window" model="ir.actions.act_window">
<field name="name">General Settings</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.config.settings</field>
<field name="view_mode">form</field>
<field name="target">inline</field>
<field name="context">{'module' : 'sign_oca'}</field>
</record>
<menuitem
name="General settings"
id="sign_oca_general_settings_menu"
parent="sign_oca_settings_menu"
sequence="1"
action="sign_oca_general_settings_act_window"
/>
</odoo>
13 changes: 7 additions & 6 deletions sign_oca/views/sign_oca_field.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="sign_oca_field_menu">
<field name="name">Fields</field>
<field name="parent_id" ref="sign_oca_settings_menu" /> <!-- TODO -->
<field name="action" ref="sign_oca_field_act_window" />
<field name="sequence" eval="16" /> <!-- TODO -->
</record>
<menuitem
name="Fields"
id="sign_oca_field_menu"
parent="sign_oca_settings_menu"
sequence="16"
action="sign_oca_field_act_window"
/>
</odoo>
13 changes: 7 additions & 6 deletions sign_oca/views/sign_oca_role.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,11 @@
<field name="domain">[]</field>
<field name="context">{}</field>
</record>
<record model="ir.ui.menu" id="sign_oca_role_menu">
<field name="name">Roles</field>
<field name="parent_id" ref="sign_oca_settings_menu" />
<field name="action" ref="sign_oca_role_act_window" />
<field name="sequence" eval="16" />
</record>
<menuitem
name="Roles"
id="sign_oca_role_menu"
parent="sign_oca_settings_menu"
sequence="17"
action="sign_oca_role_act_window"
/>
</odoo>
1 change: 1 addition & 0 deletions sign_oca/wizards/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
from . import res_config_settings
from . import sign_oca_template_generate
from . import sign_oca_template_generate_multi
12 changes: 12 additions & 0 deletions sign_oca/wizards/res_config_settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright 2024 ForgeFlow S.L. (http://www.forgeflow.com)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).

from odoo import fields, models


class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"

sign_oca_send_sign_request_copy = fields.Boolean(
related="company_id.sign_oca_send_sign_request_copy", readonly=False
)

0 comments on commit 3c1cb86

Please sign in to comment.