TIP: You can type at any time to perform a new search.
Sign Oca
sign_oca · OCA/sign
- Repository
- OCA/sign · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Uncategorized
- Folder size
- 0.63 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sign
- Last tracking update
- 2026-08-07 09:06:24
- Authors
- Odoo Community Association (OCA), Dixmit
- Maintainers
- Odoo Community Association (OCA), Dixmit
- Committers
- OCA-git-bot, oca-ci, Yusuke1998
Code Analysis ⓘ
Views touched (31)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
portal_my_home |
Portal layout : sign_requests button | ir.ui.view | qweb | Inherits portal.portal_my_home |
portal_my_home_menu_sign |
Portal layout : sign_requests menu entries | ir.ui.view | qweb | Inherits portal.portal_breadcrumbs |
portal_sign_document |
portal_sign_document | ir.ui.view | qweb | New |
portal_sign_document_signed |
portal_sign_document_signed | ir.ui.view | qweb | New |
report_signature_certificate |
report_signature_certificate | ir.ui.view | qweb | New |
report_signature_certificate_doc |
report_signature_certificate_doc | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form (in sign_oca) | res.config.settings | form | Inherits base.res_config_settings_view_form |
sign_oca_field_form_view |
sign.oca.field.form (in sign_oca) | sign.oca.field | form | New |
sign_oca_field_search_view |
sign.oca.field.search (in sign_oca) | sign.oca.field | search | New |
sign_oca_field_tree_view |
sign.oca.field.list (in sign_oca) | sign.oca.field | list | New |
sign_oca_request_form_view |
sign.oca.request.form (in sign_oca) | sign.oca.request | form | New |
sign_oca_request_kanban_view |
sign.oca.request.kanban (in sign_oca) | sign.oca.request | kanban | New |
sign_oca_request_log_search_view |
sign.oca.request.log.search (in sign_oca) | sign.oca.request.log | search | New |
sign_oca_request_log_tree_view |
sign.oca.request.log.list (in sign_oca) | sign.oca.request.log | list | New |
sign_oca_request_search_view |
sign.oca.request.search (in sign_oca) | sign.oca.request | search | New |
sign_oca_request_signer_form_view |
sign.oca.request.signer.form (in sign_oca) | sign.oca.request.signer | form | New |
sign_oca_request_signer_kanban_view |
sign.oca.request.signer.kanban (in sign_oca) | sign.oca.request.signer | kanban | New |
sign_oca_request_signer_search_view |
sign.oca.request.signer.search (in sign_oca) | sign.oca.request.signer | search | New |
sign_oca_request_signer_tree_view |
sign.oca.request.signer.list (in sign_oca) | sign.oca.request.signer | list | New |
sign_oca_request_tree_view |
sign.oca.request.list (in sign_oca) | sign.oca.request | list | New |
sign_oca_role_form_view |
sign.oca.role.form (in sign_oca) | sign.oca.role | form | New |
sign_oca_role_search_view |
sign.oca.role.search (in sign_oca) | sign.oca.role | search | New |
sign_oca_role_tree_view |
sign.oca.role.list (in sign_oca) | sign.oca.role | list | New |
sign_oca_template_form_view |
sign.oca.template.form (in sign_oca) | sign.oca.template | form | New |
sign_oca_template_generate_form_view |
sign.oca.template.generate.form (in sign_oca) | sign.oca.template.generate | form | New |
sign_oca_template_generate_multi_form_view |
sign.oca.template.generate.multi.form | sign.oca.template.generate.multi | form | New |
sign_oca_template_kanban_view |
sign.oca.template.kanban (in sign_oca) | sign.oca.template | kanban | New |
sign_oca_template_search_view |
sign.oca.template.search (in sign_oca) | sign.oca.template | search | New |
sign_oca_template_tree_view |
sign.oca.template.list (in sign_oca) | sign.oca.template | list | New |
sign_requests |
Sign Requests List | ir.ui.view | qweb | New |
view_partner_form |
res.partner.form (in sign_oca) | res.partner | form | Inherits base.view_partner_form |
HTTP endpoints (7)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/sign_oca/document/<int:signer_id>/<string:access_token> |
PortalSign.get_sign_oca_access |
public | http | ALL | website |
/sign_oca/content/<int:signer_id>/<string:access_token> |
PortalSign.get_sign_oca_content_access |
public | http | ALL | website |
/sign_oca/info/<int:signer_id>/<string:access_token> |
PortalSign.get_sign_oca_info_access |
public | jsonrpc | ALL | website |
/sign_oca/sign/<int:signer_id>/<string:access_token> |
PortalSign.get_sign_oca_sign_access |
public | jsonrpc | ALL | website |
/my/sign/<int:request_id>/download |
PortalSign.portal_download_signed |
user | http | ALL | sudo website |
/my/sign_requests, /my/sign_requests/page/<int:page> |
PortalSign.sign_requests |
public | http | ALL | website |
/sign_oca/get_assets.<any(css,js):ext> |
SignController.get_sign_resources |
public | http | ALL |
Models touched (14)
New fields (1)
-
sign_oca_send_sign_request_copyBooleanhelp='Once all signers have signed the request, a copy of the final document will be sent to each of them.'string='Send signers a copy of the final signed document'
No public methods.
New fields (1)
-
sign_oca_send_sign_request_copyBooleanreadonly=Falserelated='company_id.sign_oca_send_sign_request_copy'
No public methods.
New fields (2)
-
signer_countIntegercompute='_compute_signers_count' -
signer_idsOne2many → sign.oca.request.signercomodel_name='sign.oca.request.signer'inverse_name='partner_id'
-
action_show_signer_ids(self)
New fields (0)
No new fields.
Public methods (1)-
sign_oca_request_user_count(self)@api.model
New fields (3)
-
default_valueChar -
field_typeSelectiondefault='text'required=True args: [('text', 'Text'), ('signature', 'Signature'), ('check', 'Check')] -
nameCharrequired=True
No public methods.
New fields (19)
-
activeBooleandefault=True -
ask_locationBoolean -
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company' -
current_hashCharcopy=False -
dataBinaryrequired=True -
filenameChar -
nameCharrequired=True -
next_item_idIntegercompute='_compute_next_item_id' -
record_refReferencestring='Object' args: <expr> -
signatory_dataJsoncopy=Falsedefault=<expr> -
signedBooleancopy=False -
signed_countIntegercompute='_compute_signed_count' -
signer_countIntegercompute='_compute_signer_count' -
signer_idMany2one → sign.oca.request.signercomodel_name='sign.oca.request.signer'compute='_compute_signer_id'help='The signer related to the active user.'string='Signer' -
signer_idsOne2many → sign.oca.request.signerbypass_search_access=Truecopy=Trueinverse_name='request_id'string='Signers' args: 'sign.oca.request.signer' -
stateSelectioncopy=Falsedefault='1_draft'required=Truetracking=True args: [('0_sent', 'Sent'), ('1_draft', 'Draft'), ('2_signed', 'Signed'), ('3_cancel', 'Cancelled')] -
template_idMany2one → sign.oca.templateargs: 'sign.oca.template' -
to_signBooleancompute='_compute_to_sign' -
user_idMany2one → res.userscomodel_name='res.users'default=<expr>required=Truestring='Responsible'
-
action_send(self, sign_now=False, message='') -
action_send_signed_request(self) -
add_item(self, item_vals) -
cancel(self) -
configure(self) -
create(self, vals_list)@api.model_create_multi -
delete_item(self, item_id) -
get_info(self) -
open_template(self) -
preview(self) -
set_item_data(self, item_id, vals) -
sign(self)
New fields (8)
-
access_tokenChar -
actionSelectionrequired=True args: [('create', 'Create'), ('validate', 'Validate'), ('view', 'View Document'), ('sign', 'Sign'), ('add_field', 'Add field'), ('edit_field', 'Edit field'), ('delete_field', 'Delete field'), ('cancel', 'Cancel'), ('configure', 'Configure')] -
dateDatetimedefault=<expr>required=True -
ipChar -
partner_idMany2one → res.partnerdefault=<expr>required=True args: 'res.partner' -
request_idMany2one → sign.oca.requestondelete='cascade'required=True args: 'sign.oca.request' -
signer_idMany2one → sign.oca.request.signerargs: 'sign.oca.request.signer' -
uidMany2one → res.usersdefault=<expr>ondelete='cascade'required=True args: 'res.users'
No public methods.
New fields (16)
-
altered_hashBooleancompute='_compute_altered_hash' -
dataBinaryrelated='request_id.data' -
inalterable_hashCharcopy=Falsereadonly=Truestring='Inalterability Hash' -
is_allow_signatureBooleancompute='_compute_is_allow_signature' -
latitudeFloat -
longitudeFloat -
modelCharcompute='_compute_model'store=True -
partner_idMany2one → res.partnerondelete='restrict'required=True args: 'res.partner' -
partner_nameCharrelated='partner_id.name' -
request_idMany2one → sign.oca.requestondelete='cascade'required=True args: 'sign.oca.request' -
res_idIntegercompute='_compute_res_id'store=True -
role_idMany2one → sign.oca.roleondelete='restrict'required=True args: 'sign.oca.role' -
secure_sequence_numberIntegercopy=Falseindex=Truereadonly=Truestring='Inalteralbility No Gap Sequence #' -
sequence_idMany2one → ir.sequencecopy=Falsedefault=<expr> args: 'ir.sequence' -
signature_hashChar -
signed_onDatetime
-
action_sign(self, items, access_token=False, latitude=False, longitude=False) -
get_info(self, access_token=False) -
sign(self)
New fields (5)
-
default_partner_idMany2one → res.partnercomodel_name='res.partner'string='Default partner' -
domainChardefault=[]required=True -
expression_partnerCharhelp='Example: {{object.partner_id.id}}'string='Expression' -
nameCharrequired=True -
partner_selection_policySelectiondefault='empty'help="This field is used to define how the partner will be calculated in the different roles of a request. This field will be used when the 'Sign from Template' action is triggered."required=Trueselection=[('empty', 'Empty'), ('default', 'Default'), ('expression', 'Expression')]
No public methods.
New fields (10)
-
activeBooleandefault=True -
ask_locationBoolean -
dataBinaryattachment=Truerequired=True -
filenameChar -
item_idsOne2many → sign.oca.template.iteminverse_name='template_id' args: 'sign.oca.template.item' -
modelCharcompute='_compute_model'compute_sudo=Truestore=Truestring='Model name' -
model_idMany2one → ir.modelcomodel_name='ir.model'domain=[('transient', '=', False), ('model', 'not like', 'sign.oca')]string='Model' -
nameCharrequired=True -
request_countIntegercompute='_compute_request_count' -
request_idsOne2many → sign.oca.requestinverse_name='template_id' args: 'sign.oca.request'
-
add_item(self, item_vals) -
configure(self) -
delete_item(self, item_id) -
get_info(self) -
set_item_data(self, item_id, vals)
New fields (4)
-
messageHtml -
sign_nowBoolean -
signer_idsOne2many → sign.oca.template.generate.signerdefault=<expr>inverse_name='wizard_id' args: 'sign.oca.template.generate.signer' -
template_idMany2one → sign.oca.templateargs: 'sign.oca.template'
-
generate(self)
New fields (3)
-
messageHtml -
modelChardefault=<expr>readonly=True -
template_idMany2one → sign.oca.templatecomodel_name='sign.oca.template'domain="[('model', '=', model)]"required=True
-
generate(self)
New fields (3)
-
partner_idMany2one → res.partnerdefault=<expr>required=True args: 'res.partner' -
role_idMany2one → sign.oca.rolereadonly=Truerequired=True args: 'sign.oca.role' -
wizard_idMany2one → sign.oca.template.generateondelete='cascade' args: 'sign.oca.template.generate'
No public methods.
New fields (10)
-
field_idMany2one → sign.oca.fieldondelete='restrict' args: 'sign.oca.field' -
heightFloat -
pageIntegerdefault=1required=True -
placeholderChar -
position_xFloatrequired=True -
position_yFloatrequired=True -
requiredBoolean -
role_idMany2one → sign.oca.roledefault=<expr>ondelete='restrict' args: 'sign.oca.role' -
template_idMany2one → sign.oca.templateondelete='cascade'required=True args: 'sign.oca.template' -
widthFloat
-
get_info(self)
Loading…
Loading…
Loading…
Loading…
Loading…