ACP Connector

connector_acp
REPOSITORY
REPOSITORYOCA/l10n-chile
GIT
GIThttps://github.com/OCA/l10n-chile.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-chile/tree/12.0/connector_acp
VERSION
VERSION 3.0.2
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Source Integrators, Konos, Daniel Santibáñez Polanco, Cooperativa OdooCoop
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Source Integrators, Konos, Daniel Santibáñez Polanco, Cooperativa OdooCoop
COMMITTERS
COMMITTERSMaxime Chambreuil, GitHub, Daniel Reis, OCA Transbot, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-chile
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - connector
    - component
    - component_event
OCA/queue:
    - queue_job
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES collections
jinja2
lxml
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
view_backend_acp_form backend.acp.form backend.acp form New
view_backend_acp_tree backend.acp.tree backend.acp tree New
view_etd_certificate_form etd.certificate.form etd.certificate form New
view_etd_certificate_tree etd.certificate.tree etd.certificate tree New
view_etd_document_file_form etd.document.file.form etd.document.file form New
view_etd_signature_form etd.signature.form etd.signature form New
view_etd_signature_tree etd.signature.tree etd.signature tree New
view_res_company_etd_form res.company.etd.form res.company xpath Inherits base.view_company_form
view_res_country res.country.backend_acp_id res.country field Inherits base.view_country_form
Models touched (8)

New fields (8)
  • active Boolean
    default=True string='Active'
  • connection_type Selection
    default='nd' required='True' args: [('nd', 'Not defined')]
  • host Char
    required=True string='Host'
  • name Char
    required=True string='Name'
  • password Char
    string='Password'
  • port Integer
    string='Port'
  • status Selection
    default='unconfirmed' required='True' args: (('unconfirmed', 'Unconfirmed'), ('confirmed', 'Confirmed'))
  • user Char
    string='User'
Public methods (4)
  • action_confirm(self)
    Called by the Check button on the form view Set the status to 'confirmed' if the backend: - accepts connections - authorizes the given credentials :return: True or False whether the backend is usable
  • check_status(self, ref)
    Check the status of the file processing with the backend :param ref: String to identify the files you want to get the status :return: A dictionary with: - a boolean 'success': True if the status is completed, False otherwise - a string 'message': Message to be displayed to the end user
  • onchange_status(self)
    @api.onchange('host', 'port', 'user', 'password')
  • send(self, file_dict)
    Send the files to the backend :param files: dictionary with 'name' for the filename and 'content' for the content :return: A dictionary with: - a boolean 'success': True if the transfer was successful, False otherwise - a string 'message': Message to be displayed to the end user - a string 'ref': Reference of the transfer to request the status

New fields (27)
  • authorized_users_ids Many2many → res.users
    string='Authorized Users' args: 'res.users'
  • cert Text
    readonly=True string='Certificate'
  • cert_hash Char
    readonly=True string='Hash'
  • cert_serial_number Char
    readonly=True string='Serial Number'
  • cert_signature_algor Char
    readonly=True string='Signature Algorithm'
  • cert_version Char
    readonly=True string='Version'
  • dec_pass Char
    string='Password'
  • filename Char
    string='File Name'
  • final_date Date
    help='Last Control Date' readonly=True string='Last Date'
  • issuer_common_name Char
    readonly=True string='Issuer Common Name'
  • issuer_country Char
    readonly=True string='Issuer Country'
  • issuer_email_address Char
    readonly=True string='Issuer Email Address'
  • issuer_organization Char
    readonly=True string='Issuer Organization'
  • issuer_serial_number Char
    readonly=True string='Issuer Serial Number'
  • key_file Binary
    help='Upload the Signature File' required=False store=True string='Signature File'
  • not_after Date
    help='Not After this Date' readonly=True string='Not After'
  • not_before Date
    help='Not Before this Date' readonly=True string='Not Before'
  • priv_key Text
    readonly=True string='Private Key'
  • private_key_bits Char
    readonly=True string='Private Key Bits'
  • private_key_check Char
    readonly=True string='Private Key Check'
  • private_key_type Char
    readonly=True string='Private Key Type'
  • status Selection
    compute='_compute_check_signature' help='Draft: means it has not been checked yet.\nYou must press the"check" button.' string='Status' args: [('unverified', 'Unverified'), ('valid', 'Valid'), ('expired', 'Expired')]
  • subject_c Char
    readonly=True string='Subject Country'
  • subject_common_name Char
    readonly=True string='Subject Common Name'
  • subject_email_address Char
    readonly=True string='Subject Email Address'
  • subject_serial_number Char
    string='Subject Serial Number'
  • subject_title Char
    readonly=True string='Subject Title'
Public methods (3)
  • action_clean1(self)
    @api.multi
  • action_process(self)
    @api.multi
  • load_cert_pk12(self, filecontent)

New fields (5)
  • file_ids One2many → etd.document.file
    string='Files' args: 'etd.document.file', 'document_id'
  • invoicing_policy Selection
    args: [('ticket', 'Ticket'), ('invoice', 'Invoice'), ('eguide', 'Electronic Guide')]
  • model Selection
    required=True string='Odoo Model' args: []
  • name Char
    required=True string='Name'
  • test_document Reference
    args: _get_model_list
Public methods (0)

No public methods.

New fields (9)
  • document_id Many2one → etd.document
    required=True string='Document' args: 'etd.document'
  • file_type Selection
    default='xml' string='File Type' args: [('xml', 'XML'), ('txt', 'TXT')]
  • grouped Boolean
    string='1 file for multiple documents'
  • name Char
    required=True string='Name'
  • save Boolean
    default=True string='Attach the generated file to the record'
  • template Binary
    string='Template File'
  • template_name Char
    string='Filename Template'
  • template_text Text
    help='Used if not template file is provided' string='Template Text'
  • validator Binary
    string='Validator File'
Public methods (1)
  • action_test(self)

New fields (1)
  • signature_id Many2one → etd.signature
    help='SSL Signature of the Document' string='SSL Signature' args: 'etd.signature'
Public methods (9)
  • build_files(self, file_dict=None)
    Build Files. Build the files and returns a dictionary with file name and string :return: Dictionary of filename and content
  • document_sign(self)
    @job
    Document Sign. Sign or get the document signed, attach the ETD to the record and log a message in the chatter with the status :param res_model: ir.model of the document to sign :param res_id: id of the document to sign
  • get_etd_document(self)
    Return one etd.document to generate the XML file of the record. :return: The etd.document that needs be used to generate the XML file
  • get_etd_filename(self, etd_file)
    Get the file name. This can be a relative path with a directory name.
  • get_etd_template(self, etd_file)
    Get the file template to render.
  • prepare_keywords(self)
    Return a dictionary of keywords used in the template. :return: Dictionary of keywords used in the template
  • set_jinja_env(self)
    @api.model
    Set the Jinja2 environment. The environment will helps the system to find the templates to render. :return: jinja2.Environment instance.
  • sign_file(self, file_text, certificate)
    Sign one File. Sign the file using the certificate Store the signature and link it to the record :param file_text:string with the original file content :param certificate: SSL Certificate record :return: XML string with the SSL signature included
  • sign_files(self, file_dict, certificate)
    Sign Files. Sign the file using the certificate :param file_dict: dict mapping file names to file text contents :param certificate: SSL Certificate record :return: dict mapping file names to signed content text strings

New fields (8)
  • cert_id Many2one → etd.certificate
    required=True string='Certificate' args: 'etd.certificate'
  • digest_value Char
    required=True string='Digest Value'
  • exponent Char
    required=True string='Exponent'
  • model_id Many2one → ir.model
    required=True string='Model' args: 'ir.model'
  • modulus Char
    required=True string='Modulus'
  • name Char
    required=True string='Name'
  • res_id Integer
    required=True string='Record ID'
  • signature_value Text
    required=True string='Signature Value'
Public methods (0)

No public methods.

New fields (4)
  • backend_acp_id Many2one → backend.acp
    string='Authorized Certification Provider' args: 'backend.acp'
  • cert_id Many2one → etd.certificate
    string='SSL Certificate' args: 'etd.certificate'
  • etd_ids Many2many → etd.document
    string='Documents To Sign' args: 'etd.document'
  • signer Selection
    default='odoo' help='Please note that the signing authority is in charge of\n sending the document for validation.' required=True string='Who is signing?' args: (('odoo', 'Odoo'), ('backend', 'Authorized Certification Provider'))
Public methods (0)

No public methods.

New fields (1)
  • backend_acp_id Many2one → backend.acp
    string='Backend to the Tax Authority' args: 'backend.acp'
Public methods (0)

No public methods.