Skip to content
Health
70/100
fair
  • Security25/25
    No findings
  • Activity25/25
    Last human commit 6 months ago
  • Required by15/25
    1 module depends 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
1
Modules depending on it
External deps
0 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.06 MB
Module directory on disk
Code analysis 1 migration note 2 models 2 views 0 HTTP endpoints

Description

The aim of this module is to provide a generic mixin for building urls on records.

The native odoo implementation of a record url is based on having an "id" in the url, this module provides an alternative way of doing it. Urls are generated and stored in an unique table (to ensure unicity). Redirections are also managed in case of url changes.

This project was initial build for shopinvader as we need to have unique url for the connected webshop. But this concept can be reused in other cases and even replace the odoo url implementation.

Dependencies

Odoo dependencies
odoo/odoo:
Python dependencies
None
System dependencies
None
Required by
oca_search_engine

Code analysis

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

Views touched 2

XML IDNameModelTypeStatus
url_view_form url.url form New
url_view_tree url.url list New

HTTP endpoints 0

No HTTP endpoints found for this module.

Models touched 2

New fields (5)
  • count_url Integer
    compute='_compute_count_url'
  • redirect_url_key Json
    compute='_compute_url_key' string='Redirect Url Keys'
  • url_ids One2many → url.url
    args: 'url.url', 'res_id'
  • url_key Char
    compute='_compute_url_key'
  • url_need_refresh Boolean
    compute='_compute_url_need_refresh' readonly=False store=True
Public methods (3)
  • open_url(self)
  • unlink(self)
  • write(self, vals)

New fields (9)
  • key Char
    index=True required=True
  • lang_id Many2one → res.lang
    index=True required=True string='Lang' args: 'res.lang'
  • manual Boolean
    default=True readonly=True
  • need_refresh Boolean
  • redirect Boolean
    help='If tick this url is a redirection to the new url'
  • referential Selection
    default='global' index=True required=True selection=<expr>
  • res_id Many2oneReference
    help='ID of the target record in the database' index=True model_field='res_model_field' readonly=True string='Record ID'
  • res_model Selection
    index=True readonly=True selection=<expr>
  • res_model_field Char
    compute='_compute_res_model_field' readonly=True store=True string='Model Name'
Public methods (1)
  • init(self)