diff --git a/sign_oca/models/sign_oca_request.py b/sign_oca/models/sign_oca_request.py
index 26c3c875..e7dba9fd 100644
--- a/sign_oca/models/sign_oca_request.py
+++ b/sign_oca/models/sign_oca_request.py
@@ -235,6 +235,10 @@ def cancel(self):
self.write({"state": "3_cancel"})
self._set_action_log("cancel")
+ def action_reset_to_draft(self):
+ self.write({"state": "1_draft"})
+ self._set_action_log("to_draft")
+
@api.depends("signer_ids")
def _compute_signer_count(self):
for record in self:
@@ -250,7 +254,7 @@ def open_template(self):
def action_send(self, sign_now=False, message=""):
self.ensure_one()
- if self.state != "1_draft":
+ if self.state not in ["1_draft", "0_sent"]:
return
self._set_action_log("validate")
self.state = "0_sent"
@@ -264,14 +268,16 @@ def action_send(self, sign_now=False, message=""):
engine="ir.qweb",
minimal_qcontext=True,
)
- self.env["mail.thread"].message_notify(
- body=render_result,
- partner_ids=signer.partner_id.ids,
- subject=_("New document to sign"),
- subtype_id=self.env.ref("mail.mt_comment").id,
- mail_auto_delete=False,
- email_layout_xmlid="mail.mail_notification_light",
- )
+ # send the message to partners who didn't sign only
+ if not signer.signed_on:
+ self.env["mail.thread"].message_notify(
+ body=render_result,
+ partner_ids=signer.partner_id.ids,
+ subject=_("New document to sign"),
+ subtype_id=self.env.ref("mail.mt_comment").id,
+ mail_auto_delete=False,
+ email_layout_xmlid="mail.mail_notification_light",
+ )
def action_send_signed_request(self):
self.ensure_one()
@@ -700,6 +706,7 @@ class SignRequestLog(models.Model):
("delete_field", "Delete field"),
("cancel", "Cancel"),
("configure", "Configure"),
+ ("to_draft", "Reset to Draft"),
],
required=True,
readonly=True,
diff --git a/sign_oca/views/sign_oca_request.xml b/sign_oca/views/sign_oca_request.xml
index 65833c82..83eed92a 100644
--- a/sign_oca/views/sign_oca_request.xml
+++ b/sign_oca/views/sign_oca_request.xml
@@ -32,6 +32,14 @@
confirm="You will cancel the request and all the accesses. Are you sure about it?"
groups="sign_oca.sign_oca_group_user"
/>
+