Skip to content
Draft
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
1 change: 1 addition & 0 deletions sign_stamp/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
15 changes: 15 additions & 0 deletions sign_stamp/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
'author': 'Odoo S.A.',
'name': 'Sign Stamp',
'description': """
add stamp field in sing app
""",
'data': [
'data/sign_data.xml',
'views/sign_request_templates.xml'
],
'depends': ['sign'],
'license': 'LGPL-3',
'application': True,
'installable': True
}
12 changes: 12 additions & 0 deletions sign_stamp/data/sign_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="sign_item_type_test_stamp" model="sign.item.type">
<field name="name">Test Stamp</field>
<field name="item_type">stamp</field>
<field name="auto_field">stamp</field>
<field name="placeholder">Company&#10;Address&#10;City&#10;Country&#10;VAT Number</field>
<field name="default_width" type="float">0.3</field>
<field name="default_height" type="float">0.1</field>
<field name="icon">fa-circle</field>
</record>
</odoo>
2 changes: 2 additions & 0 deletions sign_stamp/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import res_user
from . import sign_request_item
18 changes: 18 additions & 0 deletions sign_stamp/models/res_user.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from odoo import models, fields

STAMP_USER_FIELDS = ["stamp_sign_stamp", "stamp_sign_stamp_frame"]


class ResUsers(models.Model):
_inherit = "res.users"

@property
def SELF_READABLE_FIELDS(self):
return super().SELF_READABLE_FIELDS + STAMP_USER_FIELDS

@property
def SELF_WRITEABLE_FIELDS(self):
return super().SELF_WRITEABLE_FIELDS + STAMP_USER_FIELDS

stamp_sign_stamp = fields.Binary(string="Company Stamp", copy=False, groups="base.group_user")
stamp_sign_stamp_frame = fields.Binary(string="Company Stamp Frame", copy=False, groups="base.group_user")
19 changes: 19 additions & 0 deletions sign_stamp/models/sign_request_item.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from odoo import models


class SignRequestItem(models.Model):
_inherit = "sign.request.item"

def _get_user_stamp(self, stamp_type='stamp_sign_stamp'):
self.ensure_one()
stamp_user = self.partner_id.user_ids[:1]
if stamp_user and stamp_type in ['stamp_sign_stamp']:
return stamp_user[stamp_type]
return False

def _get_user_stamp_frame(self, stamp_type='stamp_sign_stamp_frame'):
self.ensure_one()
stamp_user = self.partner_id.user_ids[:1]
if stamp_user and stamp_type in ['stamp_sign_stamp_frame']:
return stamp_user[stamp_type]
return False
32 changes: 32 additions & 0 deletions sign_stamp/views/sign_request_templates.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<odoo>
<template id="sign_stamp._doc_sign" inherit_id="sign._doc_sign">
<xpath expr="//input[@id='o_sign_signer_phone_input_info']" position="before">
<input
id="o_sign_signer_company_input_info"
type="hidden"
t-att-value="current_request_item.partner_id.company_id.name if current_request_item and current_request_item.partner_id else None"
/>
<input
id="o_sign_signer_address_input_info"
type="hidden"
t-att-value="current_request_item.partner_id.street if current_request_item and current_request_item.partner_id else None"
/>
<input
id="o_sign_signer_city_input_info"
type="hidden"
t-att-value="current_request_item.partner_id.city if current_request_item and current_request_item.partner_id else None"
/>
<input
id="o_sign_signer_country_input_info"
type="hidden"
t-att-value="current_request_item.partner_id.country_id.name if current_request_item and current_request_item.partner_id else None"
/>
<input
id="o_sign_signer_vat_input_info"
type="hidden"
t-att-value="current_request_item.partner_id.vat if current_request_item and current_request_item.partner_id else None"
/>
</xpath>
</template>
</odoo>