HTML Editor

html_editor
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/html_editor
VERSION
VERSION 1.0
CATEGORY
CATEGORYHidden
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSodoo
MAINTAINERS
MAINTAINERSodoo
COMMITTERS
COMMITTERSOdoo Translation Bot, David Monjoie, Xavier Morel, Nicolas Martinelli, Nicolas Lempereur, Géry Debongnie, Aaron Bohy, Lucas Perais (lpe), qsm-odoo, Jorge Pinna Puissant, Lucas Perais, Julien Castiaux, Romeo Fragomeli, Julien Mougenot, Samuel Degueldre, std-odoo, Achraf (abz), Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, abd-msyukyu-odoo, Romain Estievenart, Benjamin Vray, Benoit Socias, Antoine Guenet, Nicolas Bayet, Jinjiu Liu, Hubert Van De Walle, Mathieu Walravens, luvi, Renaud Thiry, Julien Banken, alsh-odoo, Gaetan Vanden Bergh (gavb), Louis Wicket (wil), Julien (jula), Mahamadasif Ansari, Soukéina Bojabza, Robin Lejeune (role), Louis (loco), Levi Siuzdak (sile), Dylan Kiss (dyki), Sébastien Geelen (sge), Mahdi cheikh rouhou (macr), FrancoisGe, Chong Wang (cwg), Odoo, Brieuc-brd, divy-odoo, Mahdi Cheikh Rouhou (macr), Zelong Lin, Walid (wasa), Deependra Solanki, Serge Bayet (seba), Bruno Boi (boi), Bastien Fafchamps (bafa), dhba, nihp-odoo, Chrysanthe (chgo), Adnan Saiyed, Rodolpho Lima, adch-odoo, mano-odoo, Sanjay Sharma, Joseph (jcb), aamo-odoo, thle-odoo, guce, Antoine (anso), Léo Gizard, Rahil Ghanchi, paru-odoo, Sébastien (blse), Arib Ansari, David Monnom, sben-odoo, pkgu-odoo, fdardenne, Bastien PIERRE, Corentin Heinix (cohe), pish-odoo, Panagiotis Kyriakou, Thomas Josse (THJO), Krzysztof Magusiak (krma), Ajit Singh, krip-odoo, Harrison Hutton, pajo, defl, MAGREMENT, aans-odoo, rusp-odoo, Davide Bonetto, Subhadeep R. Dev, Alessandro Lupo, chdh-odoo, Parth Pujara, dtda-odoo, Julien Launois (jula), Laetitia (ldau), Augustin (duau), romo, Serhii Rubanskyi, adip-odoo, kmdi-odoo, josv-odoo, Robert Smith (rosm), Benoit Socias (bso), Sébastien Geelen, Serge Bayet, Omar Khalil (omkha), sbbh-odoo, assk-odoo, Nguyen Nguyen (ngtpn), vega-odoo, Kadam Darji, Julien (jdeh), Pratik Raval (prra), jeevanism, emge-odoo, Guillaume Jacquet
WEBSITE
WEBSITEhttps://www.odoo.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:39
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - bus
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Html Editor
==========================
This addon provides an extensible, maintainable editor.
    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (24)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • html_field_history Json
    prefetch=False readonly=True args: 'History data'
  • html_field_history_metadata Json
    compute='_compute_metadata' args: 'History metadata'
Public methods (5)
  • create(self, vals_list)
    @api.model_create_multi
  • html_field_history_get_comparison_at_revision(self, field_name, revision_id)
    For the requested field, Get a comparison between the current content of the field and the content restored at the requested revision_id. :param str field_name: the name of the field :param int revision_id: id of the last revision to compare :return: string: the comparison
  • html_field_history_get_content_at_revision(self, field_name, revision_id)
    Get the requested field content restored at the revision_id. :param str field_name: the name of the field :param int revision_id: id of the last revision to restore :return: string: the restored content
  • html_field_history_get_unified_diff_at_revision(self, field_name, revision_id)
    For the requested field, Get a unified diff between the current content of the field and the content restored at the requested revision_id. :param str field_name: the name of the field :param int revision_id: id of the last revision to compare :return: string: the unified diff
  • write(self, vals)

New fields (11)
  • binary Binary
    attachment=False
  • char Char
  • date Date
  • datetime Datetime
  • float Float
  • html Html
  • integer Integer
  • many2one Many2one → html_editor.converter.test.sub
    args: 'html_editor.converter.test.sub'
  • numeric Float
    digits=(16, 2)
  • selection_str Selection
    string="Lorsqu'un pancake prend l'avion à destination de Toronto et qu'il fait une escale technique à St Claude, on dit:" args: [('A', "Qu'il n'est pas arrivé à Toronto"), ('B', "Qu'il était supposé arriver à Toronto"), ('C', "Qu'est-ce qu'il fout ce maudit pancake, tabernacle ?"), ('D', 'La réponse D')]
  • text Text
Public methods (0)

No public methods.

New fields (1)
  • name Char
Public methods (0)

No public methods.

New fields (5)
  • image_height Integer
    compute='_compute_image_size'
  • image_src Char
    compute='_compute_image_src'
  • image_width Integer
    compute='_compute_image_size'
  • local_url Char
    compute='_compute_local_url' args: 'Attachment URL'
  • original_id Many2one → ir.attachment
    index='btree_not_null' string='Original (unoptimized, unresized) attachment' args: 'ir.attachment'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • from_html(self, model, field, element)
    @api.model
  • value_from_string(self, value)

New fields (0)

No new fields.

Public methods (2)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • get_record_to_html(self, contact_ids, options=None)
    @api.model
    Helper to call the rendering of contact field.

New fields (0)

No new fields.

Public methods (2)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (2)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (2)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (2)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (3)
  • from_html(self, model, field, element)
    @api.model
  • load_local_url(self, url)
  • load_remote_url(self, url)

New fields (0)

No new fields.

Public methods (1)
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (2)
  • attributes(self, record, field_name, options, values=None)
    @api.model
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • from_html(self, model, field, element)
    @api.model

New fields (0)

No new fields.

Public methods (13)
  • delete_snippet(self, view_id, template_key)
    @api.model
  • extract_embedded_fields(self, arch)
    @api.model
  • extract_oe_structures(self, arch)
    @api.model
  • get_default_lang_code(self)
    @api.model
  • get_related_views(self, key, bundles=False)
    @api.model
    Get inherit view's informations of the template ``key``. returns templates info (which can be active or not) ``bundles=True`` returns also the asset bundles
  • rename_snippet(self, name, view_id, template_key)
    @api.model
  • replace_arch_section(self, section_xpath, replacement, replace_tail=False)
  • save(self, value, xpath=None)
    Update a view section. The view section may embed fields to write Note that `self` record might not exist when saving an embed field :param str xpath: valid xpath to the tag to replace
  • save_embedded_field(self, el)
    @api.model
  • save_oe_structure(self, el)
  • save_snippet(self, name, arch, template_key, snippet_key, thumbnail_url)
    @api.model
    Saves a new snippet arch so that it appears with the given name when using the given snippets template. :param name: the name of the snippet to save :param arch: the html structure of the snippet to save :param template_key: the key of the view regrouping all snippets in which the snippet to save is meant to appear :param snippet_key: the key (without module part) to identify the snippet from which the snippet to save originates :param thumbnail_url: the url of the thumbnail to use when displaying the snippet to save
  • to_empty_oe_structure(self, el)
    @api.model
  • to_field_ref(self, el)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/html_editor
VERSION
VERSION 1.0
CATEGORY
CATEGORYHidden
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, David Monjoie, Nicolas Martinelli, Nicolas Lempereur, Géry Debongnie, qsm-odoo, Odoo Online, Lucas Perais, Julien Mougenot, Luis González, std-odoo, Achraf (abz), Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, abd-msyukyu-odoo, Benjamin Vray, Benoit Socias, Antoine Guenet, Nicolas Bayet, Jinjiu Liu, luvi, Valentin Chevalier, alsh-odoo, Gaetan Vanden Bergh (gavb), Louis Wicket (wil), Robin Lejeune (role), Dylan Kiss (dyki), Sébastien Geelen (sge), Mahdi cheikh rouhou (macr), FrancoisGe, Damien Abeloos, Adrien Schoffeniels, Mahdi Cheikh Rouhou (macr), omra-odoo, Andrzej(pian), Walid (wasa), Deependra Solanki, dane@odoo.com, Serge Bayet (seba), dhba, Adnan Saiyed, Rodolpho Lima, adch-odoo, sami odoo, Mohammed Basioni (basm), aamo-odoo, Léo Gizard, Rahil Ghanchi, Sébastien (blse), David Monnom, sben-odoo, fdardenne, Bastien PIERRE, Corentin Heinix (cohe), Thomas Josse (THJO), defl, ksbh-odoo, Alessandro Lupo, dtda-odoo, Julien Launois (jula), Augustin (duau), romo, Serhii Rubanskyi, Robert Smith (rosm), Benoit Socias (bso), Soumya M, Sébastien Geelen, saurabh, Rudra Patel, Omar Khalil (omkha), sbbh-odoo, assk-odoo, Nguyen Nguyen (ngtpn)
WEBSITE
WEBSITEhttps://www.odoo.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:52
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - bus
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Html Editor
==========================
This addon provides an extensible, maintainable editor.
    

Code Analysis

Views touched (0)

No views found for this module.

Models touched (1)

New fields (5)
  • image_height Integer
    compute='_compute_image_size'
  • image_src Char
    compute='_compute_image_src'
  • image_width Integer
    compute='_compute_image_size'
  • local_url Char
    compute='_compute_local_url' args: 'Attachment URL'
  • original_id Many2one → ir.attachment
    index='btree_not_null' string='Original (unoptimized, unresized) attachment' args: 'ir.attachment'
Public methods (0)

No public methods.