Skip to content
Health
60/100
fair
  • Security25/25
    No findings
  • Activity25/25
    Last human commit 1 month ago
  • Required by5/25
    0 modules depend on it
  • Maturity5/25
    In 1 Odoo series since 18.0

Heuristic over the facts below, not an audit · How it's computed

Security findings
Grave / minor (static analysis)
Required by
0
Modules depending on it
External deps
1 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.17 MB
Module directory on disk
Code analysis 0 migration notes 8 models 6 views 0 HTTP endpoints

Description

Integration module with Caser insurance API to automate insurance policy issuance for electronic device sales.

Dependencies

Odoo dependencies
Python dependencies
requests
System dependencies
None
Required by
None

Code analysis

Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.

Views touched 6

XML IDNameModelTypeStatus
view_caser_price_range_tree caser.price.range.tree caser.price.range list New
view_order_form_caser sale.order.form.caser sale.order form Inherits sale.view_order_form
view_product_brand_form_caser product.brand.form.caser product.brand form Inherits product_brand.view_product_brand_form
view_product_category_form_caser product.category.form.caser product.category form Inherits product.product_category_form_view
view_sale_config_settings_form res.config.settings.form.sale.insurance res.config.settings form Inherits base.res_config_settings_view_form
view_sales_order_filter_caser sale.order.search.caser sale.order search Inherits sale.view_sales_order_filter

HTTP endpoints 0

No HTTP endpoints found for this module.

Models touched 8

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (8)
  • caser_asset_type Selection
    default='200021' required=True selection=CASER_ASSET_TYPES string='Asset Type'
  • code Char
    help='Code sent to Caser API for this price range' required=True
  • insurance_price Float
    digits='Product Price' help='Insurance price from Caser tarification (PRIMA_itotre - with taxes)'
  • insurance_price_notax Float
    digits='Product Price' help='Insurance price from Caser tarification (PRIMA_ipriom - without taxes)' string='Insurance Price (No Tax)'
  • last_tarification_date Datetime
    help='Last time tarification was requested from Caser' readonly=True string='Last Tarification'
  • max_price Float
    digits='Product Price' required=True string='Maximum Price'
  • min_price Float
    digits='Product Price' required=True string='Minimum Price'
  • product_id Many2one → product.product
    comodel_name='product.product' help='Product automatically created/updated with tarification price' string='Insurance Product'
Public methods (3)
  • action_get_tarification_prices(self)
  • get_code_for_amount(self, amount, asset_type=None)
    @api.model
  • get_insurance_product_for_price(self, price, asset_type=None)
    @api.model

New fields (2)
  • caser_mobile_code Char
    help='Brand code sent to Caser API for mobile phone policies (asset type 200021)' string='Caser Code (Mobile)'
  • caser_tablet_code Char
    help='Brand code sent to Caser API for tablet policies (asset type 262)' string='Caser Code (Tablet)'
Public methods (0)

No public methods.

New fields (2)
  • caser_asset_type Selection
    help='Asset type code for Caser insurance (200021=Phone, 262=Tablet)' selection=CASER_ASSET_TYPES
  • caser_protocol Char
    compute='_compute_caser_protocol' help='Protocol code determined by asset type (61680=Phone, 61681=Tablet)' store=True
Public methods (0)

No public methods.

New fields (5)
  • caser_agency_code Char
    config_parameter='sale_insurance_caser.agency_code' help='Agency code provided by Caser'
  • caser_agent_code Char
    config_parameter='sale_insurance_caser.agent_code' help='Agent code provided by Caser'
  • caser_is_production Boolean
    config_parameter='sale_insurance_caser.is_production' help='Use production Caser endpoint. If unchecked uses testing.' string='Caser Production Environment'
  • caser_sica_code Char
    config_parameter='sale_insurance_caser.sica_code' help='SICA code provided by Caser' string='Caser SICA Code'
  • caser_username Char
    config_parameter='sale_insurance_caser.username' help='Username for Caser SOAP service authentication' string='Caser Web Username'
Public methods (1)
  • action_open_caser_price_ranges(self)

New fields (4)
  • caser_error Text
    compute='_compute_caser_insurance_state' store=True string='Caser Insurance Errors'
  • caser_has_error Boolean
    compute='_compute_caser_insurance_state' index=True store=True string='Caser Insurance Error'
  • caser_insurance_line_ids One2many → sale.order.line
    comodel_name='sale.order.line' compute='_compute_caser_insurance_line_ids' string='Caser Insurance Lines'
  • caser_insurance_state Selection
    compute='_compute_caser_insurance_state' selection=[('no', 'No insurance'), ('to_send', 'Pending'), ('error', 'Error'), ('done', 'Insured')] store=True
Public methods (0)

No public methods.

New fields (9)
  • caser_error_message Text
    copy=False readonly=True
  • caser_insurance_price Float
    copy=False digits=(16, 2) readonly=True string='Insurance Price'
  • caser_insure_quantity Integer
    copy=False string='Quantity to Insure'
  • caser_insured_line_id Many2one → sale.order.line
    comodel_name='sale.order.line' copy=False ondelete='set null' string='Insured Product Line'
  • caser_lot_id Many2one → stock.lot
    copy=False readonly=True string='Insured Lot' args: 'stock.lot'
  • caser_policy_number Char
    copy=False readonly=True
  • caser_request_xml Text
    copy=False readonly=True
  • caser_response_xml Text
    copy=False readonly=True
  • is_caser_insurance Boolean
    copy=False
Public methods (5)
  • action_caser_mark_reviewed(self)
  • action_retry_caser_insurance(self)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (0)

No public methods.