Repository
odoo/odoo · module folder
Module version
1.0
Category
Website/Website
Folder size
50.77 MB
License
LGPL-3
Application
Yes
Auto-installable
No
Website
https://www.odoo.com/app/website
Last tracking update
2026-08-15 22:44:15
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Xavier Morel, Raphael Collet, Thibault Delavallée, Mohammed Shekha, odoo, Odoo Translation Bot, Denis Ledoux, David Monjoie, Nicolas Lempereur, Aaron Bohy, Géry Debongnie, Jeremy Kersten, Lucas Perais (lpe), qsm-odoo, Pierre Masereel, Christophe Monniez, Lucas Perais, Julien Castiaux, Xavier-Do, Victor Feyens, Paul Morelle, Sébastien Theys, Julien Mougenot, std-odoo, Achraf (abz), Prakash Prajapati, Rémy Voet (ryv), Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, abd-msyukyu-odoo, William Braeckman, Romain Estievenart, Benjamin Vray, Benoit Socias, william-andre, Didier (did), diagnoza, Antoine Guenet, Nicolas Bayet, Antoine Vandevenne (anv), Jinjiu Liu, Aurelien van Delft (avd), Mathieu Walravens, luvi, Hubert Van De Walle, Valentin Chevalier, Renaud Thiry, Loan (LSE), tsm-odoo, Louis Wicket (wil), Thomas Lefebvre (thle), Victor Piryns (pivi), Julien (jula), Mahamadasif Ansari, amdi-odoo, Pierre-Yves Dufays, Robin Lejeune (role), Soukéina Bojabza, Louis (loco), Levi Siuzdak (sile), Maruan Aguerdouh (magm), Dylan Kiss (dyki), Bruno Boi, Antoine (ande), FrancoisGe, Valeriya(vchu), Chong Wang (cwg), bram1000, CarmenMiranda, Xavier Bol (xbo), Brieuc-brd, divy-odoo, Nguyễn Đại Dương, Mahdi Cheikh Rouhou (macr), omra-odoo, Zelong Lin, Walid (wasa), Deependra Solanki, stefanorigano (SRI), visp-odoo, aktr-odoo, Maryam Kia, Basit, Louis (loti), Parth Gajjar, Mehdi Outagant (MOU), Serge Bayet (seba), reka-odoo, AMZIL Ayoub, dhba, Bastien Fafchamps (bafa), kcv-odoo, Alex Kühn, Martin Trigaux (mat), Julien Segers (juse), Lina (liew), adch-odoo, aath-odoo, Rodolpho Lima, Adnan Saiyed, Chrysanthe (chgo), Junqi Wu, Sanjay Sharma, mano-odoo, Majed Alhanash (malh), aamo-odoo, Joseph (jcb), Patricia Daloze (pda), Xavier Luyckx (xlu), yagp-odoo, Antoine (anso), Manushi Shah, Arib Ansari, Rahil Ghanchi, Denis Rygaert, Pierre Pulinckx (PIPU), Sébastien (blse), panv-odoo, paru-odoo, dija-odoo, sben-odoo, abdelrahmanfawzy, pkgu-odoo, Pierre Lamotte (pila), Pierre Pulinckx, Anton Romanova (roan), Bastien PIERRE, fdardenne, nikj-odoo, Michaël Mattiello, Thomas Carlier(thc), lse-odoo, Thomas Josse (THJO), Damien Decleire (deda), Krzysztof Magusiak (krma), Ajit Singh, Akash Pandey, Basioni (basm), kdes-odoo, Hadi El Yakhni, Rushil Patel, Elier Ayala Bernal, mjvi-odoo, bhna-odoo, defl, bikh-odoo, Ayush Chauhan (aych), Giorgio Tocco (gito), akha, jayp-odoo, mohannedah, Tudor-Calin Panzaru (tupan), Daniel Duato Catalán, Julien Launois (jula), Laetitia (ldau), rusp-odoo, aans-odoo, Alice Gaudon, dtda-odoo, adip-odoo, alap-odoo, ptpu-odoo, Augustin (duau), Subhadeep R. Dev, Garvish Panchal, Patrick Stooks, Parth Pujara, Serhii Rubanskyi, Jay Panchal, syna-odoo, chdh-odoo, romo, Davide Bonetto, ksbh-odoo, Alessandro Lupo, Quentin Colla (qucol), Waleed Elgamal, h4818, Ayush Modi, assh-odoo, Elliot ELCO, Lionel Piraux (lipi), Kevin Gerard (kege), Benoit Socias (bso), Merlin Guillaume, Serge Bayet, Sébastien Geelen, saurabh, Rudra Patel, sbbh-odoo, assk-odoo, vega-odoo, Abdelouahab Laaroussi (abla), Zachary (zavan), alan-odoo, Joseph Maiarana, Julien (jdeh), h4818 (ayh), Parth Vyas, Alay Patel, Ian (iacio), Romaric MOYEUVRE, Akash, ELCO, Khaj-odoo, khaj-odoo, chpa-odoo, Guillaume Jacquet, Dhruv Chauhan, emge-odoo, panj-odoo, Simon Maldague (simal), ahmedgamal2212, stefanorigano (sri), Claire Nguyen (clan), Kai (kache), Divyesh Vyas (divy), Sreedev Kodichath (srkod), kiga-odoo, Ahmed Gamal, Serhii Rubanskyi - seru
Odoo dependencies
Python dependencies
geoip2
System dependencies
None
Required by
marketing_card, pms_website, test_import_export, test_website, test_website_modules, theme_default, website_attribute_set, website_cf_turnstile, website_conditional_visibility_user_group, website_cookiefirst, website_crm, website_debranding, website_event, website_form_require_legal, website_google_tag_manager, website_links, website_livechat, website_mail, website_mail_group, website_mass_mailing, website_partner, website_payment, website_project, website_sale, website_sale_product_brand, website_slides, website_sms, website_snippet_big_button, website_snippet_marginless_gallery, website_timesheet
Description

Code Analysis

Views touched (495)
XML IDNameModelTypeStatus
404_plausible Plausible 404 ir.ui.view qweb Inherits http_routing.404
action_website_rewrite_tree website.rewrite.list website.rewrite list New
asset_view_form_inherit_website ir.asset.form.inherit.website ir.asset form Inherits base.asset_view_form
asset_view_tree_inherit_website ir.asset.list.inherit.website ir.asset list Inherits base.asset_view_tree
brand_promotion Brand Promotion ir.ui.view qweb Inherits web.brand_promotion
bs_debug_view BS Debug qweb New
color_combinations_debug_view Color Combinations Debug qweb New
cookie_policy Cookie Policy ir.ui.view qweb New
cookies_bar Cookies Bar ir.ui.view qweb Inherits website.layout
custom_code_layout Custom Code Layout ir.ui.view qweb Inherits website.layout
default_css default_css ir.ui.view qweb New
default_csv default_csv ir.ui.view qweb New
default_js default_js ir.ui.view qweb New
default_less default_less ir.ui.view qweb New
default_page default_page ir.ui.view qweb New
default_scss default_scss ir.ui.view qweb New
default_xml default_xml ir.ui.view qweb New
external_snippets external_snippets ir.ui.view qweb Inherits website.snippets
footer_copyright_company_name footer_copyright_company_name ir.ui.view qweb Inherits website.layout
footer_copyright_content_width_fluid Footer Copyright Width Fluid ir.ui.view qweb Inherits website.layout
footer_copyright_content_width_small Footer Copyright Width Small ir.ui.view qweb Inherits website.layout
footer_custom Default ir.ui.view qweb Inherits website.layout
footer_language_selector_code Footer Language Selector Code ir.ui.view qweb Inherits portal.footer_language_selector
footer_language_selector_flag Footer Language Selector Flag ir.ui.view qweb Inherits portal.footer_language_selector
footer_language_selector_inline Footer Language Selector Inline ir.ui.view qweb Inherits portal.footer_language_selector
footer_language_selector_no_text Footer Language Selector No Text ir.ui.view qweb Inherits portal.footer_language_selector
footer_no_copyright Footer No Copyright ir.ui.view qweb Inherits website.layout
header_hoverable_dropdown Header Hoverable Dropdown ir.ui.view qweb Inherits website.layout
header_language_selector Header Language Selector ir.ui.view qweb Inherits website.placeholder_header_language_selector
header_language_selector_code Header Language Selector Code ir.ui.view qweb Inherits website.header_language_selector
header_language_selector_flag Header Language Selector Flag ir.ui.view qweb Inherits website.header_language_selector
header_language_selector_inline Header Language Selector Inline ir.ui.view qweb Inherits website.header_language_selector
header_language_selector_no_text Header Language Selector No Text ir.ui.view qweb Inherits website.header_language_selector
header_navbar_pills_style Navbar Links Style ir.ui.view qweb Inherits website.navbar_nav
header_search_box_input Header Search Box Input ir.ui.view qweb New
header_visibility_disappears Header Effect Disappears ir.ui.view qweb Inherits website.layout
header_visibility_fade_out Header Effect Fade Out ir.ui.view qweb Inherits website.layout
header_visibility_fixed Header Effect Fixed ir.ui.view qweb Inherits website.layout
header_visibility_standard Header Visibility Standard ir.ui.view qweb Inherits website.layout
header_width_full header_width_full ir.ui.view qweb Inherits website.layout
header_width_small header_width_small ir.ui.view qweb Inherits website.layout
iframefallback iframefallback ir.ui.view qweb Inherits web.layout
ir_model_fields_view website.ir.model.fields.view.form ir.model.fields form Inherits base.view_model_fields_form
ir_model_view website.ir.model.view.form ir.model form Inherits base.view_model_form
lang_flag Language Flag ir.ui.view qweb New
language_selector language_selector ir.ui.view qweb Inherits portal.language_selector
language_selector_inline language_selector_inline ir.ui.view qweb Inherits website.language_selector
layout Main layout ir.ui.view qweb Inherits portal.frontend_layout
list_hybrid Any Search Results ir.ui.view qweb New
list_website_public_pages Website Pages ir.ui.view qweb New
login_layout Website Login Layout ir.ui.view qweb Inherits web.login_layout
menu_search website.menu.search website.menu search New
menu_tree website.menu.list website.menu list New
navbar Navbar ir.ui.view qweb New
navbar_nav Navbar Nav ir.ui.view qweb New
navbar_nav_wrapper Navbar Nav Wrapper ir.ui.view qweb New
navbar_toggler Navbar Toggler ir.ui.view qweb New
new_page_template_about_full_1_s_text_block_h1 new_page_template_about_full_1_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h1
new_page_template_about_full_1_s_text_block_h2 new_page_template_about_full_1_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h2
new_page_template_about_full_s_image_text new_page_template_about_full_s_image_text ir.ui.view qweb Inherits website.new_page_template_about_s_image_text
new_page_template_about_full_s_numbers new_page_template_about_full_s_numbers ir.ui.view qweb Inherits website.new_page_template_about_s_numbers
new_page_template_about_full_s_text_image new_page_template_about_full_s_text_image ir.ui.view qweb Inherits website.new_page_template_about_s_text_image
new_page_template_about_map_s_text_block_2nd new_page_template_about_map_s_text_block_2nd ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_2nd
new_page_template_about_map_s_text_block_h1 new_page_template_about_map_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h1
new_page_template_about_map_s_text_block_h2 new_page_template_about_map_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h2
new_page_template_about_mini_s_text_block_h2 new_page_template_about_mini_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h2
new_page_template_about_personal_s_image_text new_page_template_about_personal_s_image_text ir.ui.view qweb Inherits website.new_page_template_about_s_image_text
new_page_template_about_personal_s_numbers new_page_template_about_personal_s_numbers ir.ui.view qweb Inherits website.new_page_template_about_s_numbers
new_page_template_about_personal_s_text_block_h2 new_page_template_about_personal_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h2
new_page_template_about_s_banner new_page_template_about_s_banner ir.ui.view qweb Inherits website.new_page_template_s_banner
new_page_template_about_s_company_team new_page_template_about_s_company_team ir.ui.view qweb Inherits website.new_page_template_s_company_team
new_page_template_about_s_cover new_page_template_about_s_cover ir.ui.view qweb Inherits website.new_page_template_s_cover
new_page_template_about_s_features new_page_template_about_s_features ir.ui.view qweb Inherits website.new_page_template_s_features
new_page_template_about_s_image_text new_page_template_about_s_image_text ir.ui.view qweb Inherits website.new_page_template_s_image_text
new_page_template_about_s_numbers new_page_template_about_s_numbers ir.ui.view qweb Inherits website.new_page_template_s_numbers
new_page_template_about_s_picture new_page_template_about_s_picture ir.ui.view qweb Inherits website.new_page_template_s_picture
new_page_template_about_s_text_block_2nd new_page_template_about_s_text_block_2nd ir.ui.view qweb Inherits website.new_page_template_s_text_block_2nd
new_page_template_about_s_text_block_h1 new_page_template_about_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h1
new_page_template_about_s_text_block_h2 new_page_template_about_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h2
new_page_template_about_s_text_cover new_page_template_about_s_text_cover ir.ui.view qweb Inherits website.new_page_template_s_text_cover
new_page_template_about_s_text_image new_page_template_about_s_text_image ir.ui.view qweb Inherits website.new_page_template_s_text_image
new_page_template_about_s_three_columns new_page_template_about_s_three_columns ir.ui.view qweb Inherits website.new_page_template_s_three_columns
new_page_template_about_timeline_s_text_block_h2 new_page_template_about_timeline_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_about_s_text_block_h2
new_page_template_basic_2_s_text_block_h1 new_page_template_basic_2_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_basic_s_text_block_h1
new_page_template_basic_s_picture new_page_template_basic_s_picture ir.ui.view qweb Inherits website.new_page_template_s_picture
new_page_template_basic_s_quotes_carousel new_page_template_basic_s_quotes_carousel ir.ui.view qweb Inherits website.new_page_template_s_quotes_carousel
new_page_template_basic_s_text_block_h1 new_page_template_basic_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h1
new_page_template_basic_s_text_cover new_page_template_basic_s_text_cover ir.ui.view qweb Inherits website.new_page_template_s_text_cover
new_page_template_gallery_s_banner new_page_template_gallery_s_banner ir.ui.view qweb Inherits website.new_page_template_s_banner
new_page_template_gallery_s_image_text_2nd new_page_template_gallery_s_image_text_2nd ir.ui.view qweb Inherits website.new_page_template_s_image_text_2nd
new_page_template_gallery_s_text_block_2nd new_page_template_gallery_s_text_block_2nd ir.ui.view qweb Inherits website.new_page_template_s_text_block_2nd
new_page_template_gallery_s_text_block_h1 new_page_template_gallery_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h1
new_page_template_groups new_page_template_groups ir.ui.view qweb New
new_page_template_landing_0_s_cover new_page_template_landing_0_s_cover ir.ui.view qweb Inherits website.new_page_template_landing_s_cover
new_page_template_landing_1_s_banner new_page_template_landing_1_s_banner ir.ui.view qweb Inherits website.new_page_template_landing_s_banner
new_page_template_landing_2_s_call_to_action new_page_template_landing_2_s_call_to_action ir.ui.view qweb Inherits new_page_template_landing_s_call_to_action
new_page_template_landing_2_s_cover new_page_template_landing_2_s_cover ir.ui.view qweb Inherits website.new_page_template_landing_s_cover
new_page_template_landing_2_s_text_block_h2 new_page_template_landing_2_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_landing_s_text_block_h2
new_page_template_landing_2_s_three_columns new_page_template_landing_2_s_three_columns ir.ui.view qweb Inherits website.new_page_template_landing_s_three_columns
new_page_template_landing_3_s_call_to_action new_page_template_landing_3_s_call_to_action ir.ui.view qweb Inherits new_page_template_landing_s_call_to_action
new_page_template_landing_3_s_text_block_h2 new_page_template_landing_3_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_landing_s_text_block_h2
new_page_template_landing_3_s_three_columns new_page_template_landing_3_s_three_columns ir.ui.view qweb Inherits website.new_page_template_landing_s_three_columns
new_page_template_landing_4_s_cover new_page_template_landing_4_s_cover ir.ui.view qweb Inherits website.new_page_template_landing_s_cover
new_page_template_landing_4_s_text_block_h2 new_page_template_landing_4_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_landing_s_text_block_h2
new_page_template_landing_5_s_banner new_page_template_landing_5_s_banner ir.ui.view qweb Inherits website.new_page_template_landing_s_banner
new_page_template_landing_s_banner new_page_template_landing_s_banner ir.ui.view qweb Inherits website.new_page_template_s_banner
new_page_template_landing_s_call_to_action new_page_template_landing_s_call_to_action ir.ui.view qweb Inherits new_page_template_s_call_to_action
new_page_template_landing_s_color_blocks_2 new_page_template_landing_s_color_blocks_2 ir.ui.view qweb Inherits website.new_page_template_s_color_blocks_2
new_page_template_landing_s_cover new_page_template_landing_s_cover ir.ui.view qweb Inherits website.new_page_template_s_cover
new_page_template_landing_s_features new_page_template_landing_s_features ir.ui.view qweb Inherits website.new_page_template_s_features
new_page_template_landing_s_showcase new_page_template_landing_s_showcase ir.ui.view qweb Inherits website.new_page_template_s_showcase
new_page_template_landing_s_text_block_h2 new_page_template_landing_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h2
new_page_template_landing_s_text_cover new_page_template_landing_s_text_cover ir.ui.view qweb Inherits website.new_page_template_s_text_cover
new_page_template_landing_s_text_image new_page_template_landing_s_text_image ir.ui.view qweb Inherits website.new_page_template_s_text_image
new_page_template_landing_s_three_columns new_page_template_landing_s_three_columns ir.ui.view qweb Inherits website.new_page_template_s_three_columns
new_page_template_pricing_5_s_text_block_h1 new_page_template_pricing_5_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_pricing_s_text_block_h1
new_page_template_pricing_s_image_text_2nd new_page_template_pricing_s_image_text_2nd ir.ui.view qweb Inherits website.new_page_template_s_image_text_2nd
new_page_template_pricing_s_text_block_2nd new_page_template_pricing_s_text_block_2nd ir.ui.view qweb Inherits website.new_page_template_s_text_block_2nd
new_page_template_pricing_s_text_block_h1 new_page_template_pricing_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h1
new_page_template_pricing_s_text_block_h2 new_page_template_pricing_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h2
new_page_template_s_banner new_page_template_s_banner ir.ui.view qweb Inherits website.s_banner
new_page_template_s_call_to_action new_page_template_s_call_to_action ir.ui.view qweb Inherits website.s_call_to_action
new_page_template_s_carousel new_page_template_s_carousel ir.ui.view qweb Inherits website.s_carousel
new_page_template_s_color_blocks_2 new_page_template_s_color_blocks_2 ir.ui.view qweb Inherits website.s_color_blocks_2
new_page_template_s_company_team new_page_template_s_company_team ir.ui.view qweb Inherits website.s_company_team
new_page_template_s_cover new_page_template_s_cover ir.ui.view qweb Inherits website.s_cover
new_page_template_s_features new_page_template_s_features ir.ui.view qweb Inherits website.s_features
new_page_template_s_image_gallery new_page_template_s_image_gallery ir.ui.view qweb Inherits website.s_image_gallery
new_page_template_s_image_text new_page_template_s_image_text ir.ui.view qweb Inherits website.s_image_text
new_page_template_s_image_text_2nd new_page_template_s_image_text_2nd ir.ui.view qweb Inherits website.s_image_text_2nd
new_page_template_s_images_wall new_page_template_s_images_wall ir.ui.view qweb Inherits website.s_images_wall
new_page_template_s_map new_page_template_s_map ir.ui.view qweb Inherits s_map
new_page_template_s_media_list new_page_template_s_media_list ir.ui.view qweb Inherits website.s_media_list
new_page_template_s_numbers new_page_template_s_numbers ir.ui.view qweb Inherits website.s_numbers
new_page_template_s_parallax new_page_template_s_parallax ir.ui.view qweb Inherits website.s_parallax
new_page_template_s_picture new_page_template_s_picture ir.ui.view qweb Inherits website.s_picture
new_page_template_s_quotes_carousel new_page_template_s_quotes_carousel ir.ui.view qweb Inherits website.s_quotes_carousel
new_page_template_s_references new_page_template_s_references ir.ui.view qweb Inherits website.s_references
new_page_template_s_showcase new_page_template_s_showcase ir.ui.view qweb Inherits website.s_showcase
new_page_template_s_text_block_2nd new_page_template_s_text_block_2nd ir.ui.view qweb Inherits website.s_text_block_2nd
new_page_template_s_text_block_h1 new_page_template_s_text_block_h1 ir.ui.view qweb Inherits website.s_text_block_h1
new_page_template_s_text_block_h2 new_page_template_s_text_block_h2 ir.ui.view qweb Inherits website.s_text_block_h2
new_page_template_s_text_cover new_page_template_s_text_cover ir.ui.view qweb Inherits website.s_text_cover
new_page_template_s_text_image new_page_template_s_text_image ir.ui.view qweb Inherits website.s_text_image
new_page_template_s_three_columns new_page_template_s_three_columns ir.ui.view qweb Inherits website.s_three_columns
new_page_template_s_website_form new_page_template_s_website_form ir.ui.view qweb Inherits s_website_form
new_page_template_services_0_s_three_columns new_page_template_services_0_s_three_columns ir.ui.view qweb Inherits website.new_page_template_services_s_three_columns
new_page_template_services_3_s_text_block_h1 new_page_template_services_3_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_services_s_text_block_h1
new_page_template_services_s_image_text new_page_template_services_s_image_text ir.ui.view qweb Inherits website.new_page_template_s_image_text
new_page_template_services_s_image_text_2nd new_page_template_services_s_image_text_2nd ir.ui.view qweb Inherits website.new_page_template_s_image_text_2nd
new_page_template_services_s_parallax new_page_template_services_s_parallax ir.ui.view qweb Inherits website.new_page_template_s_parallax
new_page_template_services_s_text_block_2nd new_page_template_services_s_text_block_2nd ir.ui.view qweb Inherits website.new_page_template_s_text_block_2nd
new_page_template_services_s_text_block_h1 new_page_template_services_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h1
new_page_template_services_s_text_block_h2 new_page_template_services_s_text_block_h2 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h2
new_page_template_services_s_text_cover new_page_template_services_s_text_cover ir.ui.view qweb Inherits website.new_page_template_s_text_cover
new_page_template_services_s_text_image new_page_template_services_s_text_image ir.ui.view qweb Inherits website.new_page_template_s_text_image
new_page_template_services_s_three_columns new_page_template_services_s_three_columns ir.ui.view qweb Inherits website.new_page_template_s_three_columns
new_page_template_team_0_s_three_columns new_page_template_team_0_s_three_columns ir.ui.view qweb Inherits website.new_page_template_team_s_three_columns
new_page_template_team_2_s_text_block_h1 new_page_template_team_2_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_team_s_text_block_h1
new_page_template_team_s_image_gallery new_page_template_team_s_image_gallery ir.ui.view qweb Inherits website.new_page_template_s_image_gallery
new_page_template_team_s_image_text new_page_template_team_s_image_text ir.ui.view qweb Inherits website.new_page_template_s_image_text
new_page_template_team_s_image_text_2nd new_page_template_team_s_image_text_2nd ir.ui.view qweb Inherits website.new_page_template_s_image_text_2nd
new_page_template_team_s_images_wall new_page_template_team_s_images_wall ir.ui.view qweb Inherits website.new_page_template_s_images_wall
new_page_template_team_s_media_list new_page_template_team_s_media_list ir.ui.view qweb Inherits website.new_page_template_s_media_list
new_page_template_team_s_picture new_page_template_team_s_picture ir.ui.view qweb Inherits website.new_page_template_s_picture
new_page_template_team_s_text_block_h1 new_page_template_team_s_text_block_h1 ir.ui.view qweb Inherits website.new_page_template_s_text_block_h1
new_page_template_team_s_text_image new_page_template_team_s_text_image ir.ui.view qweb Inherits website.new_page_template_s_text_image
new_page_template_team_s_three_columns new_page_template_team_s_three_columns ir.ui.view qweb Inherits website.new_page_template_s_three_columns
no_autohide_menu no_autohide_menu ir.ui.view qweb Inherits website.layout
one_hybrid Single any Search Results ir.ui.view qweb New
option_footer_scrolltop option_footer_scrolltop ir.ui.view qweb Inherits website.layout
option_header_brand_logo Header Brand Logo ir.ui.view qweb Inherits website.placeholder_header_brand
option_header_brand_name Header Brand Name ir.ui.view qweb Inherits website.placeholder_header_brand
option_layout_hide_header option_layout_hide_header ir.ui.view qweb Inherits website.layout
page_404 Page Not Found ir.ui.view qweb New
pager Pager ir.ui.view qweb Inherits portal.pager
placeholder_header_brand Placeholder Header Brand ir.ui.view qweb New
placeholder_header_language_selector Placeholder Header Language Selector ir.ui.view qweb New
pricing Pricing ir.ui.view qweb New
privacy_policy Privacy Policy ir.ui.view qweb New
protected_403 Page Protected ir.ui.view qweb New
publish_management publish_management ir.ui.view qweb New
qweb_500 qweb_500 ir.ui.view qweb Inherits http_routing.500
record_cover record_cover ir.ui.view qweb New
res_config_settings_view_form res.config.settings.view.form.inherit.website res.config.settings form Inherits base.res_config_settings_view_form
res_config_settings_view_form_inherit_auth_signup res.config.settings.view.form.inherit.website res.config.settings form Inherits auth_signup.res_config_settings_view_form
reset_view_arch_wizard_view reset.view.arch.wizard Inherits base.reset_view_arch_wizard_view
robots robots ir.ui.view qweb New
s_accordion Accordion ir.ui.view qweb New
s_accordion_image Accordion Image ir.ui.view qweb New
s_adventure Adventure ir.ui.view qweb New
s_alert Alert ir.ui.view qweb New
s_announcement_scroll Announcement Scroll ir.ui.view qweb New
s_attributes_horizontal Horizontal Attributes ir.ui.view qweb New
s_attributes_vertical Vertical Attributes ir.ui.view qweb New
s_badge Badge ir.ui.view qweb New
s_banner Banner ir.ui.view qweb New
s_banner_categories Banner Categories ir.ui.view qweb New
s_banner_connected Banner Connected ir.ui.view qweb New
s_banner_product Collection Banner ir.ui.view qweb New
s_bento_banner Bento Banner ir.ui.view qweb New
s_bento_block Bento Block ir.ui.view qweb New
s_bento_grid Bento Grid ir.ui.view qweb New
s_big_number Big number ir.ui.view qweb New
s_blockquote Blockquote ir.ui.view qweb New
s_button Button ir.ui.view qweb New
s_call_to_action Call to Action ir.ui.view qweb New
s_call_to_action_about s_call_to_action_about ir.ui.view qweb Inherits website.s_call_to_action
s_call_to_action_digital s_call_to_action_digital ir.ui.view qweb Inherits website.s_call_to_action
s_call_to_action_menu s_call_to_action_menu ir.ui.view qweb Inherits website.s_call_to_action
s_card Card ir.ui.view qweb New
s_card_offset Card Offset ir.ui.view qweb New
s_cards_grid Cards Grid ir.ui.view qweb New
s_cards_soft Cards Soft ir.ui.view qweb New
s_carousel Carousel ir.ui.view qweb New
s_carousel_cards Carousel Cards ir.ui.view qweb New
s_carousel_intro Carousel Intro ir.ui.view qweb New
s_chart Chart ir.ui.view qweb New
s_closer_look Closer Look ir.ui.view qweb New
s_color_blocks_2 Big Boxes ir.ui.view qweb New
s_company_team Team ir.ui.view qweb New
s_company_team_basic Team Basic ir.ui.view qweb New
s_company_team_card Card Team ir.ui.view qweb New
s_company_team_detail Team Detail ir.ui.view qweb New
s_company_team_grid Company Team Grid ir.ui.view qweb New
s_company_team_shapes Team Shapes ir.ui.view qweb New
s_company_team_spotlight Team Spotlight ir.ui.view qweb New
s_comparisons Comparisons ir.ui.view qweb New
s_comparisons_horizontal Comparisons Horizontal ir.ui.view qweb New
s_contact_info Contact Info ir.ui.view qweb New
s_countdown Countdown ir.ui.view qweb New
s_cover Cover ir.ui.view qweb New
s_cta_badge CTA Badge ir.ui.view qweb New
s_cta_box Box Call to Action ir.ui.view qweb New
s_cta_card Card Call to Action ir.ui.view qweb New
s_cta_mobile CTA Mobile ir.ui.view qweb New
s_cta_mockups Call to Action Mockups ir.ui.view qweb New
s_discovery Discovery ir.ui.view qweb New
s_dynamic_snippet Dynamic Snippet ir.ui.view qweb New
s_dynamic_snippet_carousel Dynamic Carousel ir.ui.view qweb New
s_ecomm_categories_showcase Categories Grid ir.ui.view qweb New
s_embed_code Embed Code ir.ui.view qweb New
s_empowerment Empowerment ir.ui.view qweb New
s_facebook_page Facebook ir.ui.view qweb New
s_faq_collapse FAQ ir.ui.view qweb New
s_faq_horizontal Topics List ir.ui.view qweb New
s_faq_list FAQ List ir.ui.view qweb New
s_features Features ir.ui.view qweb New
s_features_grid Features Grid ir.ui.view qweb New
s_features_wall Features Wall ir.ui.view qweb New
s_features_wave Features Wave ir.ui.view qweb New
s_floating_blocks Floating Cards ir.ui.view qweb New
s_form_aside Form Aside ir.ui.view qweb New
s_framed_intro Framed Intro ir.ui.view qweb New
s_freegrid Free grid ir.ui.view qweb New
s_google_map Google Map ir.ui.view qweb New
s_hr Separator ir.ui.view qweb New
s_image Image ir.ui.view qweb New
s_image_frame Image Frame ir.ui.view qweb New
s_image_gallery Image Gallery ir.ui.view qweb New
s_image_hexagonal Image Hexagonal ir.ui.view qweb New
s_image_punchy Image Punchy ir.ui.view qweb New
s_image_text Image - Text ir.ui.view qweb New
s_image_text_2nd s_image_text_2nd ir.ui.view qweb Inherits website.new_page_template_s_image_text
s_image_text_box Image Text Box ir.ui.view qweb New
s_image_text_overlap Image - Text Overlap ir.ui.view qweb New
s_image_title Image Title ir.ui.view qweb New
s_images_constellation Images Constellation ir.ui.view qweb New
s_images_mosaic Images Mosaic ir.ui.view qweb New
s_images_wall Images Wall ir.ui.view qweb New
s_inline_text Text ir.ui.view qweb New
s_instagram_page Instagram Page ir.ui.view qweb New
s_intro_pill Intro Pill ir.ui.view qweb New
s_key_benefits Key benefits ir.ui.view qweb New
s_key_images Key Images ir.ui.view qweb New
s_kickoff Kickoff ir.ui.view qweb New
s_map Map ir.ui.view qweb New
s_masonry_block Masonry ir.ui.view qweb New
s_masonry_block_alternation_image_text_template Masonry ir.ui.view qweb New
s_masonry_block_alternation_text_image_template Masonry ir.ui.view qweb New
s_masonry_block_default_template Masonry ir.ui.view qweb New
s_masonry_block_images_template Masonry ir.ui.view qweb New
s_masonry_block_mosaic_template Masonry ir.ui.view qweb New
s_masonry_block_reversed_template Masonry ir.ui.view qweb New
s_media_list Media List ir.ui.view qweb New
s_mega_menu_big_icons_subtitles Menu - Big icons & subtitles ir.ui.view qweb New
s_mega_menu_big_icons_subtitles_item s_mega_menu_big_icons_subtitles_item ir.ui.view qweb New
s_mega_menu_cards Menu - Cards ir.ui.view qweb New
s_mega_menu_cards_item s_mega_menu_cards_item ir.ui.view qweb New
s_mega_menu_images_subtitles Menu - images & subtitles ir.ui.view qweb New
s_mega_menu_images_subtitles_item s_mega_menu_images_subtitles_item ir.ui.view qweb New
s_mega_menu_little_icons Menu - Little icons ir.ui.view qweb New
s_mega_menu_menu_image_menu Menu - Image - Menu ir.ui.view qweb New
s_mega_menu_menus_logos Menus & logos ir.ui.view qweb New
s_mega_menu_multi_menus Multi-Menus ir.ui.view qweb New
s_mega_menu_odoo_menu Odoo Menu ir.ui.view qweb New
s_mega_menu_thumbnails Menu - Thumbnails ir.ui.view qweb New
s_mega_menu_thumbnails_item s_mega_menu_thumbnails_item ir.ui.view qweb New
s_mockup_image Mockup Image ir.ui.view qweb New
s_motto Motto ir.ui.view qweb New
s_numbers Numbers ir.ui.view qweb New
s_numbers_boxed Numbers boxed ir.ui.view qweb New
s_numbers_charts Numbers Charts ir.ui.view qweb New
s_numbers_framed Numbers framed ir.ui.view qweb New
s_numbers_grid Numbers Grid ir.ui.view qweb New
s_numbers_list Numbers list ir.ui.view qweb New
s_numbers_showcase Numbers Showcase ir.ui.view qweb New
s_opening_hours Opening Hours ir.ui.view qweb New
s_parallax Parallax ir.ui.view qweb New
s_picture Title - Image ir.ui.view qweb New
s_picture_only s_picture_only ir.ui.view qweb Inherits website.new_page_template_s_picture
s_popup Popup ir.ui.view qweb New
s_pricelist_boxed Pricelist Boxed ir.ui.view qweb New
s_pricelist_boxed_item s_pricelist_boxed_item ir.ui.view qweb New
s_pricelist_cafe Pricelist Cafe ir.ui.view qweb New
s_pricelist_cafe_item s_pricelist_cafe_item ir.ui.view qweb New
s_process_steps Steps ir.ui.view qweb New
s_product_catalog Pricelist ir.ui.view qweb New
s_product_catalog_dish s_product_catalog_dish ir.ui.view qweb New
s_product_list Items ir.ui.view qweb New
s_progress_bar Progress Bar ir.ui.view qweb New
s_quadrant Quadrant ir.ui.view qweb New
s_quotes_carousel Quotes ir.ui.view qweb New
s_quotes_carousel_compact Quotes Compact ir.ui.view qweb New
s_quotes_carousel_minimal Quotes Minimal ir.ui.view qweb New
s_rating Rating ir.ui.view qweb New
s_references References ir.ui.view qweb New
s_references_grid References Grid ir.ui.view qweb New
s_references_social References Social ir.ui.view qweb New
s_reviews_wall Reviews Wall ir.ui.view qweb New
s_searchbar Search ir.ui.view qweb New
s_searchbar_input Search ir.ui.view qweb New
s_shape_image Shape image ir.ui.view qweb New
s_share Share ir.ui.view qweb New
s_showcase Showcase ir.ui.view qweb New
s_sidegrid Side Grid ir.ui.view qweb New
s_snippet_group Snippet Group ir.ui.view qweb New
s_social_media Social Media ir.ui.view qweb New
s_split_intro Split Intro ir.ui.view qweb New
s_striped Striped section ir.ui.view qweb New
s_striped_center_top Striped Center Top ir.ui.view qweb New
s_striped_top Striped Top ir.ui.view qweb New
s_table_of_content Table of Content ir.ui.view qweb New
s_tabs Tabs ir.ui.view qweb New
s_tabs_images Tabs Images ir.ui.view qweb New
s_text_block Text ir.ui.view qweb New
s_text_block_2nd s_text_block_2nd ir.ui.view qweb Inherits website.s_text_block
s_text_block_h1 s_text_block_h1 ir.ui.view qweb Inherits website.s_text_block
s_text_block_h2 s_text_block_h2 ir.ui.view qweb Inherits website.s_text_block
s_text_block_h2_contact s_text_block_h2_contact ir.ui.view qweb Inherits website.s_text_block_h2
s_text_cover Text Cover ir.ui.view qweb New
s_text_highlight Text Highlight ir.ui.view qweb New
s_text_image Text - Image ir.ui.view qweb New
s_three_columns Columns ir.ui.view qweb New
s_three_columns_2nd s_three_columns_2nd ir.ui.view qweb Inherits website.s_three_columns
s_three_columns_menu s_three_columns_menu ir.ui.view qweb Inherits website.s_three_columns
s_timeline Timeline ir.ui.view qweb New
s_timeline_images Timeline Images ir.ui.view qweb New
s_timeline_list Timeline List ir.ui.view qweb New
s_title Title ir.ui.view qweb New
s_title_form Title - Form ir.ui.view qweb New
s_unveil Unveil ir.ui.view qweb New
s_video Video ir.ui.view qweb New
s_wavy_grid Wavy Grid ir.ui.view qweb New
s_website_form Form ir.ui.view qweb New
s_website_form_cover Form Cover ir.ui.view qweb New
s_website_form_info Form Info ir.ui.view qweb New
s_website_form_overlay Form Overlay ir.ui.view qweb New
search_text_with_highlight Website Searchbox item highlight ir.ui.view qweb New
shared_blocks Shared blocks ir.ui.view qweb Inherits website.layout
show_website_info Show Odoo Information ir.ui.view qweb Inherits website.website_info
sitemap_index_xml sitemap_index_xml ir.ui.view qweb New
sitemap_locs sitemap_locs ir.ui.view qweb New
sitemap_xml sitemap_xml ir.ui.view qweb New
snippets snippets ir.ui.view qweb New
snippets_debug_view Snippet Debug qweb New
step_wizard Step Checkout ir.ui.view qweb New
submenu Submenu ir.ui.view qweb New
template_footer_call_to_action Call-to-Action ir.ui.view qweb Inherits website.layout
template_footer_centered Centered ir.ui.view qweb Inherits website.layout
template_footer_contact Contact ir.ui.view qweb Inherits website.layout
template_footer_descriptive Descriptive ir.ui.view qweb Inherits website.layout
template_footer_headline Headline ir.ui.view qweb Inherits website.layout
template_footer_links Links ir.ui.view qweb Inherits website.layout
template_footer_mega Mega ir.ui.view qweb Inherits website.layout
template_footer_mega_cards Mega Cards ir.ui.view qweb Inherits website.layout
template_footer_mega_columns Mega Columns ir.ui.view qweb Inherits website.layout
template_footer_mega_links Mega Links ir.ui.view qweb Inherits website.layout
template_footer_minimalist Minimalist ir.ui.view qweb Inherits website.layout
template_footer_slideout Template Footer Slideout ir.ui.view qweb Inherits website.layout
template_header_additional_color_primary template_header_additional_color_primary ir.ui.view qweb Inherits website.layout
template_header_additional_color_secondary template_header_additional_color_secondary ir.ui.view qweb Inherits website.layout
template_header_boxed Template Header Rounded Box ir.ui.view qweb Inherits website.layout
template_header_boxed_align_center template_header_boxed_align_center ir.ui.view qweb Inherits website.template_header_boxed
template_header_boxed_align_right template_header_boxed_align_right ir.ui.view qweb Inherits website.template_header_boxed
template_header_default Template Header Default ir.ui.view qweb Inherits website.layout
template_header_default_align_center template_header_default_align_center ir.ui.view qweb Inherits website.template_header_default
template_header_default_align_right template_header_default_align_right ir.ui.view qweb Inherits website.template_header_default
template_header_hamburger Template Header Hamburger ir.ui.view qweb Inherits website.layout
template_header_hamburger_align_right template_header_hamburger_align_right ir.ui.view qweb Inherits website.template_header_hamburger
template_header_hamburger_mobile_align_center template_header_hamburger_mobile_align_center ir.ui.view qweb Inherits website.template_header_hamburger
template_header_hamburger_mobile_align_right template_header_hamburger_mobile_align_right ir.ui.view qweb Inherits website.template_header_hamburger
template_header_mobile Template Header Mobile ir.ui.view qweb New
template_header_mobile_align_center template_header_mobile_align_center ir.ui.view qweb Inherits website.template_header_mobile
template_header_mobile_align_right template_header_mobile_align_right ir.ui.view qweb Inherits website.template_header_mobile
template_header_mobile_position_left template_header_mobile_position_left ir.ui.view qweb Inherits website.template_header_mobile
template_header_navlink_no_background template_header_navlink_no_background ir.ui.view qweb Inherits website.layout
template_header_sales_four Template Header Sale 4 ir.ui.view qweb Inherits website.layout
template_header_sales_four_align_center template_header_sales_four_align_center ir.ui.view qweb Inherits website.template_header_sales_four
template_header_sales_four_align_right template_header_sales_four_align_right ir.ui.view qweb Inherits website.template_header_sales_four
template_header_sales_one Template Header Sale 1 ir.ui.view qweb Inherits website.layout
template_header_sales_one_align_center template_header_sales_one_align_center ir.ui.view qweb Inherits website.template_header_sales_one
template_header_sales_one_align_right template_header_sales_one_align_right ir.ui.view qweb Inherits website.template_header_sales_one
template_header_sales_three Template Header Sale 3 ir.ui.view qweb Inherits website.layout
template_header_sales_three_align_center template_header_sales_three_align_center ir.ui.view qweb Inherits website.template_header_sales_three
template_header_sales_three_align_right template_header_sales_three_align_right ir.ui.view qweb Inherits website.template_header_sales_three
template_header_sales_two Template Header Sale 2 ir.ui.view qweb Inherits website.layout
template_header_sales_two_align_center template_header_sales_two_align_center ir.ui.view qweb Inherits website.template_header_sales_two
template_header_sales_two_align_right template_header_sales_two_align_right ir.ui.view qweb Inherits website.template_header_sales_two
template_header_search Template Header Search ir.ui.view qweb Inherits website.layout
template_header_search_align_center template_header_search_align_center ir.ui.view qweb Inherits website.template_header_search
template_header_search_align_right template_header_search_align_right ir.ui.view qweb Inherits website.template_header_search
template_header_sidebar Template Header Sidebar ir.ui.view qweb Inherits website.layout
template_header_sidebar_align_center template_header_sidebar_align_center ir.ui.view qweb Inherits website.template_header_sidebar
template_header_sidebar_align_right template_header_sidebar_align_right ir.ui.view qweb Inherits website.template_header_sidebar
template_header_sidebar_position_right template_header_sidebar_position_right ir.ui.view qweb Inherits website.template_header_sidebar
template_header_stretch Template Header Stretch ir.ui.view qweb Inherits website.layout
template_header_stretch_align_center template_header_stretch_align_center ir.ui.view qweb Inherits website.template_header_stretch
template_header_stretch_align_right template_header_stretch_align_right ir.ui.view qweb Inherits website.template_header_stretch
template_header_vertical Template Header Vertical ir.ui.view qweb Inherits website.layout
template_header_vertical_align_center template_header_vertical_align_center ir.ui.view qweb Inherits website.template_header_vertical
template_header_vertical_align_right template_header_vertical_align_right ir.ui.view qweb Inherits website.template_header_vertical
theme_view_form_preview website.form ir.module.module form New
theme_view_kanban Themes Kanban ir.module.module kanban New
theme_view_search Themes Search ir.module.module search New
user_dropdown user_dropdown ir.ui.view qweb Inherits portal.user_dropdown
view_arch_only website.ir_ui_view.arch_only ir.ui.view form New
view_attachment_form_inherit_website ir.attachment.form.inherit.website ir.attachment form Inherits base.view_attachment_form
view_attachment_tree_inherit_website ir.attachment.list.inherit.website ir.attachment list Inherits base.view_attachment_tree
view_base_language_install view_base_language_install.inherit base.language.install Inherits base.view_base_language_install
view_edit_robots Edit Robots.txt website.robots form New
view_edit_third_party_domains Block 3rd-party service domains website.custom_blocked_third_party_domains form New
view_partner_form_inherit_website res.partner.form.website.inherit res.partner form Inherits base.view_partner_form
view_rewrite_search website.rewrite.search website.rewrite search New
view_server_action_form_website ir.actions.server.form.website ir.actions.server form Inherits base.view_server_action_form
view_server_action_search_website ir.actions.server.search.website ir.actions.server search Inherits base.view_server_action_search
view_view_form_extend ir.ui.view form Inherits base.view_view_form
view_view_tree_inherit_website ir.ui.view list Inherits base.view_view_tree
view_website_form website.form website form New
view_website_form_view_themes_modal website.modal.form website form Inherits website.view_website_form
view_website_rewrite_form website.rewrite form New
view_website_tree website.list website list New
website.aboutus About Us ir.ui.view qweb New
website.contactus Contact Us ir.ui.view qweb New
website.empty_search_svg website.empty_search_svg ir.ui.view qweb New
website.header_call_to_action Header Call to Action ir.ui.view qweb Inherits website.placeholder_header_call_to_action
website.header_call_to_action_large Header Call to Action - Large ir.ui.view qweb Inherits website.header_call_to_action
website.header_call_to_action_sidebar Header Call to Action - Sidebar ir.ui.view qweb Inherits website.header_call_to_action_large
website.header_call_to_action_stretched Header Call to Action - Stretched ir.ui.view qweb Inherits website.header_call_to_action
website.header_search_box Header Search Bar ir.ui.view qweb Inherits website.placeholder_header_search_box
website.header_social_links Header Social Links ir.ui.view qweb Inherits website.placeholder_header_social_links
website.header_text_element Header Text element ir.ui.view qweb Inherits website.placeholder_header_text_element
website.homepage Home ir.ui.view qweb New
website.neutralize_ribbon Neutralize Ribbon ir.ui.view qweb Inherits website.layout
website.our_services Services ir.ui.view qweb New
website.placeholder_header_call_to_action Placeholder Header Call to Action ir.ui.view qweb New
website.placeholder_header_search_box Placeholder Header Search Bar ir.ui.view qweb New
website.placeholder_header_social_links Placeholder Header Social Links ir.ui.view qweb New
website.placeholder_header_text_element Placeholder Header Text element ir.ui.view qweb New
website.s_dynamic_snippet_template website.s_dynamic_snippet_template ir.ui.view qweb New
website_controller_pages_form_view website.controller.page.form website.controller.page form New
website_controller_pages_kanban_view website.controller.page.kanban website.controller.page kanban New
website_controller_pages_search_view website.controller.page.search website.controller.page search New
website_controller_pages_tree_view website.controller.page.list website.controller.page list New
website_info Odoo Information ir.ui.view qweb New
website_menus_form_view website.menu.form website.menu form New
website_page_properties_base_view_form website.page.properties.base.form.view website.page.properties.base form New
website_page_properties_view_form website.page.properties.form.view website.page.properties form Inherits website_page_properties_base_view_form
website_pages_form_view website.page.form website.page form New
website_pages_kanban_view website.page.kanban website.page kanban New
website_pages_tree_view website.page.list website.page list New
website_pages_view_search website.page.view.search website.page search New
website_search_box Website Searchbox ir.ui.view qweb New
website_search_box_input website_search_box_input ir.ui.view qweb Inherits website.website_search_box
website_technical_pages_list_view website.technical.page.list website.technical.page list New
website_visitor_page_view_graph website.track.view.graph website.track graph New
website_visitor_page_view_search website.track.view.search website.track search New
website_visitor_page_view_tree website.track.view.list website.track list New
website_visitor_track_view_graph website.track.view.graph website.track graph New
website_visitor_track_view_tree website.track.view.list website.track list New
website_visitor_view_form website.visitor.view.form website.visitor form New
website_visitor_view_graph website.visitor.view.graph website.visitor graph New
website_visitor_view_kanban website.visitor.view.kanban website.visitor kanban New
website_visitor_view_search website.visitor.view.search website.visitor search New
website_visitor_view_tree website.visitor.view.list website.visitor list New
HTTP endpoints (57)
Route(s)HandlerAuthTypeMethodsFlags
/model/<string:page_name_slugified>, /model/<string:page_name_slugified>/page/<int:page_number>, /model/<string:page_name_slugified>/<string:record_slug> ModelPageController.generic_model public http ALL sudo website
/website/action/<path_or_xml_id_or_id>, /website/action/<path_or_xml_id_or_id>/<path:path> Website.actions_server public http ALL sudo website
/website/snippet/autocomplete Website.autocomplete public jsonrpc ALL sudo website
/website/lang/<lang> Website.change_lang public http ALL website
/website/check_can_modify_any Website.check_can_modify_any user jsonrpc ALL website
/website/check_existing_link Website.check_existing_link user jsonrpc ALL website
/@/, /@/<path:path> Website.client_action_redirect public http ALL website
/website/country_infos/<model("res.country"):country> Website.country_infos public jsonrpc POST website
/favicon.ico Website.favicon public http ALL website
/website/get_alt_images Website.get_alt_images user jsonrpc ALL website
/website/get_assets_editor_resources Website.get_assets_editor_resources user jsonrpc ALL website
/website/get_current_currency Website.get_current_currency public jsonrpc ALL website
/website/snippet/filters Website.get_dynamic_filter public jsonrpc ALL sudo website
/website/snippet/options_filters Website.get_dynamic_snippet_filters user jsonrpc ALL sudo website
/website/snippet/filter_templates Website.get_dynamic_snippet_templates public jsonrpc ALL sudo website
/website/get_new_page_templates Website.get_new_page_templates user jsonrpc ALL website
/website/get_seo_data Website.get_seo_data user jsonrpc ALL sudo website
/website/get_suggested_links Website.get_suggested_link user jsonrpc ALL sudo website
/website/get_switchable_related_views Website.get_switchable_related_views user jsonrpc ALL website
/google<string(length=16):key>.html Website.google_console_search public http ALL sudo website
/website/google_font_metadata Website.google_font_metadata user jsonrpc ALL website
/website/google_maps_api_key Website.google_maps_api_key public jsonrpc ALL website
/website/search, /website/search/page/<int:page>, /website/search/<string:search_type>, /website/search/<string:search_type>/page/<int:page> Website.hybrid_list public http ALL website
/ Website.index public http ALL website
/website/add, /website/add/<path:path> Website.pagenew user http POST website
/pages, /pages/page/<int:page> Website.pages_list public http ALL website
/website/reset_template Website.reset_template user jsonrpc POST
/robots.txt Website.robots public http ALL website
/website/save_session_layout_mode Website.save_session_layout_mode public jsonrpc ALL website
/website/save_xml Website.save_xml user jsonrpc ALL sudo website
/website/seo_suggest Website.seo_suggest user jsonrpc ALL website
/sitemap.xml Website.sitemap_xml_index public http ALL sudo website
/website/social/<string:social> Website.social public http ALL website
/website/theme_customize_bundle_reload Website.theme_customize_bundle_reload user jsonrpc ALL website
/website/theme_customize_data Website.theme_customize_data user jsonrpc ALL website
/website/theme_customize_data_get Website.theme_customize_data_get user jsonrpc ALL website
/website/theme_upload_font Website.theme_upload_font user jsonrpc ALL website
/website/get_translated_elements Website.translated_elements user jsonrpc ALL
/website/update_alt_images Website.update_alt_images user jsonrpc ALL website
/website/update_broken_links Website.update_broken_links user jsonrpc ALL website
/website/field/translation/update Website.update_field_translation user jsonrpc ALL website
/website/update_footer_template Website.update_footer_template user jsonrpc ALL website
(inherited route override) Website.web_login public http ALL website
/website/configurator, /website/configurator/<int:step> Website.website_configurator user http ALL website
/website/force/<int:website_id> Website.website_force user http ALL website
/website/info Website.website_info public http ALL sudo website
/website/get_languages Website.website_languages user jsonrpc ALL website
/website/check_new_content_access_rights WebsiteBackend.check_create_access_rights user jsonrpc ALL
/website/fetch_dashboard_data WebsiteBackend.fetch_dashboard_data user jsonrpc ALL
/website/iframefallback WebsiteBackend.get_iframe_fallback user http ALL website
/website/track_installing_modules WebsiteBackend.website_track_installing_modules user jsonrpc ALL
/web/assets/<int:website_id>/<unique>/<string:filename> WebsiteBinary.content_assets_website public http ALL
/website/image, /website/image/<xmlid>, /website/image/<xmlid>/<int:width>x<int:height>, /website/image/<xmlid>/<field>, /website/image/<xmlid>/<field>/<int:width>x<int:height>, /website/image/<model>/<id>/<field>, /website/image/<model>/<id>/<field>/<int:width>x<int:height> WebsiteBinary.website_content_image public http ALL
/website/form/<string:model_name> WebsiteForm.website_form public http POST csrf off website
/website/form WebsiteForm.website_form_empty public http POST
(inherited route override) WebsiteSession.logout public http ALL
(inherited route override) WebsiteWebClient.bundle inherited http ALL
Models touched (61)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • get_base_url(self)
    Returns the base url for a given record, given the following priority: 1. If the record has a `website_id` field, we use the url from this website as base url, if set. 2. If the record has a `company_id` field, we use the website from that company (if set). Note that a company doesn't really have a website, it is retrieve through some heuristic in its `website_id`'s compute. 3. Use the ICP `web.base.url` (super) :return: the base url for this record :rtype: string
  • get_website_meta(self)

New fields (1)
  • website_ids Many2many → website
    string='Websites to translate' args: 'website'
Public methods (2)
  • default_get(self, fields)
    @api.model
  • lang_install(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • website_path Char
    args: 'Website Path'
  • website_published Boolean
    copy=False help='A code server action can be executed from the website, using a dedicated controller. The address is <base>/website/action/<website_path>. Set this field as True to allow users to run this action. If it is set to False the action cannot be run through the website.' args: 'Available on the Website'
  • website_url Char
    compute='_get_website_url' help='The full URL to access the server action through the website.' args: 'Website Url'
  • xml_id Char
    compute='_compute_xml_id' help='ID of the action if defined in a XML file' args: 'External ID'
Public methods (0)

No public methods.

New fields (2)
  • key Char
    copy=False
  • website_id Many2one → website
    ondelete='cascade' args: 'website'
Public methods (2)
  • filter_duplicate(self, website_id=None)
    Filter current recordset only keeping the most suitable asset per distinct name. Every non-accessible asset will be removed from the set: * In non website context, every asset with a website will be removed * In a website context, every asset from another website
  • write(self, vals)
    COW for ir.asset. This way editing websites does not impact other websites. Also this way newly created websites will only contain the default assets.

New fields (1)
  • theme_template_id Many2one → theme.ir.asset
    copy=False index='btree_not_null' args: 'theme.ir.asset'
Public methods (0)

No public methods.

New fields (2)
  • key Char
  • website_id Many2one → website
    args: 'website'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • get_serving_groups(self)
    @api.model

New fields (2)
  • key Char
    copy=False
  • theme_template_id Many2one → theme.ir.attachment
    copy=False index='btree_not_null' args: 'theme.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 (3)
  • get_frontend_session_info(self)
    @api.model
  • get_nearest_lang(self, lang_code)
    @api.model
  • routing_map(self, key=None)

New fields (4)
  • website_form_access Boolean
    help='Enable the form builder feature for this model.' args: 'Allowed to use in forms'
  • website_form_default_field_id Many2one → ir.model.fields
    domain="[('model', '=', model), ('ttype', '=', 'text')]" help='Specify the field which will contain meta and custom form fields datas.' args: 'ir.model.fields', 'Field for custom form data'
  • website_form_key Char
    help='Used in FormBuilder Registry'
  • website_form_label Char
    help="Form action label. Ex: crm.lead could be 'Send an e-mail' and project.issue could be 'Create an Issue'." translate=True args: 'Label for form action'
Public methods (2)
  • get_authorized_fields(self, model_name, property_origins)
    @api.model
    Return the fields of the given model name as a mapping like method `fields_get`.
  • get_compatible_form_models(self)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • website_form_blacklisted Boolean
    default=True help='Blacklist this field for web forms' index=True args: 'Blacklisted in web forms'
Public methods (2)
  • formbuilder_whitelist(self, model, fields)
    @api.model
    :param str model: name of the model on which to whitelist fields :param list(str) fields: list of fields to whitelist on the model :return: nothing of import
  • init(self)

New fields (2)
  • image_ids One2many → ir.attachment
    domain=[('res_model', '=', 'ir.module.module'), ('mimetype', '=like', 'image/%')] readonly=True string='Screenshots' args: 'ir.attachment', 'res_id'
  • is_installed_on_current_website Boolean
    compute='_compute_is_installed_on_current_website'
Public methods (7)
  • button_choose_theme(self)
    Remove any existing theme on the current website and install the theme ``self`` instead. The actual loading of the theme on the current website will be done automatically on ``write`` thanks to the upgrade and/or install. When installating a new theme, upgrade the upstream chain first to make sure we have the latest version of the dependencies to prevent inconsistencies. :return: dict with the next action to execute
  • button_refresh_theme(self)
    Refresh the current theme of the current website. To refresh it, we only need to upgrade the modules. Indeed the (re)loading of the theme will be done automatically on ``write``.
  • button_remove_theme(self)
    Remove the current theme of the current website.
  • get_themes_domain(self)
    Returns the 'ir.module.module' search domain matching all available themes.
  • update_list(self)
    @api.model
  • update_theme_images(self)
    @api.model
  • write(self, vals)
    Override to correctly upgrade themes after upgrade/installation of modules. # Install If this theme wasn't installed before, then load it for every website for which it is in the stream. eg. The very first installation of a theme on a website will trigger this. eg. If a website uses theme_A and we install sale, then theme_A_sale will be autoinstalled, and in this case we need to load theme_A_sale for the website. # Upgrade There are 2 cases to handle when upgrading a theme: * When clicking on the theme upgrade button on the interface, in which case there will be an http request made. -> We want to upgrade the current website only, not any other. * When upgrading with -u, in which case no request should be set. -> We want to upgrade every website using this theme.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_available_options(self)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • value_to_html(self, value, options)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • load_menus_root(self)
    @api.model@tools.ormcache('self.env.uid', 'self.env.lang', 'self.env.context.get("force_action")')

New fields (8)
  • controller_page_ids One2many → website.controller.page
    args: 'website.controller.page', 'view_id'
  • first_page_id Many2one → website.page
    compute='_compute_first_page_id' help='First page linked to this view' string='Website Page' args: 'website.page'
  • page_ids One2many → website.page
    args: 'website.page', 'view_id'
  • track Boolean
    default=False help='Allow to specify for one page of the website to be trackable or not' string='Track'
  • visibility Selection
    default='' args: [('', 'Public'), ('connected', 'Signed In'), ('restricted_group', 'Restricted Group'), ('password', 'With Password')]
  • visibility_password Char
    copy=False groups='base.group_system'
  • visibility_password_display Char
    compute='_get_pwd' groups='website.group_website_designer' inverse='_set_pwd'
  • website_id Many2one → website
    ondelete='cascade' string='Website' args: 'website'
Public methods (9)
  • create(self, vals_list)
    @api.model_create_multi
    SOC for ir.ui.view creation. If a view is created without a website_id, it should get one if one is present in the context. Also check that an explicit website_id in create values matches the one in the context.
  • filter_duplicate(self)
    Filter current recordset only keeping the most suitable view per distinct key. Every non-accessible view will be removed from the set: * In non website context, every view with a website will be removed * In a website context, every view from another website
  • get_default_lang_code(self)
    @api.model
  • get_related_views(self, key, bundles=False)
    @api.model
    Make this only return most specific views for website.
  • get_view_hierarchy(self)
  • render_public_asset(self, template, values=None)
    @api.readonly@api.model
  • save(self, value, xpath=None)
  • unlink(self)
    This implements COU (copy-on-unlink). When deleting a generic page website-specific pages will be created so only the current website is affected.
  • write(self, vals)
    COW for ir.ui.view. This way editing websites does not impact other websites. Also this way newly created websites will only contain the default views.

New fields (1)
  • theme_template_id Many2one → theme.ir.ui.view
    copy=False index='btree_not_null' args: 'theme.ir.ui.view'
Public methods (1)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • website_id Many2one → website
    compute='_compute_website_id' store=True args: 'website'
Public methods (3)
  • action_open_website_theme_selector(self)
    @api.model
  • google_map_img(self, zoom=8, width=298, height=298)
  • google_map_link(self, zoom=8)

New fields (29)
  • auth_signup_uninvited Selection
    compute='_compute_auth_signup_uninvited' config_parameter=False default=None inverse='_inverse_auth_signup_uninvited'
  • cdn_activated Boolean
    readonly=False related='website_id.cdn_activated'
  • cdn_filters Text
    readonly=False related='website_id.cdn_filters'
  • cdn_url Char
    readonly=False related='website_id.cdn_url'
  • favicon Binary
    readonly=False related='website_id.favicon' args: 'Favicon'
  • google_analytics_key Char
    readonly=False related='website_id.google_analytics_key' args: 'Google Analytics Key'
  • google_search_console Char
    readonly=False related='website_id.google_search_console' args: 'Google Search Console Key'
  • group_multi_website Boolean
    implied_group='website.group_multi_website' args: 'Multi-website'
  • has_default_share_image Boolean
    compute='_compute_has_default_share_image' inverse='_inverse_has_default_share_image' args: 'Use a image by default for sharing'
  • has_google_analytics Boolean
    compute='_compute_has_google_analytics' inverse='_inverse_has_google_analytics' args: 'Google Analytics'
  • has_google_search_console Boolean
    compute='_compute_has_google_search_console' inverse='_inverse_has_google_search_console' args: 'Google Search Console'
  • has_plausible_shared_key Boolean
    compute='_compute_has_plausible_shared_key' inverse='_inverse_has_plausible_shared_key' args: 'Plausible Analytics'
  • language_ids Many2many
    readonly=False related='website_id.language_ids'
  • module_website_livechat Boolean
  • plausible_shared_key Char
    readonly=False related='website_id.plausible_shared_key' args: 'Plausible auth Key'
  • plausible_site Char
    readonly=False related='website_id.plausible_site' args: 'Plausible Site (e.g. domain.com)'
  • shared_user_account Boolean
    compute='_compute_shared_user_account' inverse='_inverse_shared_user_account' string='Shared Customer Accounts'
  • social_default_image Binary
    readonly=False related='website_id.social_default_image' args: 'Default Social Share Image'
  • website_block_third_party_domains Boolean
    readonly=False related='website_id.block_third_party_domains' args: 'Block 3rd-party domains'
  • website_company_id Many2one
    readonly=False related='website_id.company_id' string='Website Company'
  • website_cookies_bar Boolean
    readonly=False related='website_id.cookies_bar'
  • website_default_lang_code Char
    readonly=False related='website_id.default_lang_id.code' args: 'Default language code'
  • website_default_lang_id Many2one
    readonly=False related='website_id.default_lang_id' string='Default language'
  • website_domain Char
    readonly=False related='website_id.domain' args: 'Website Domain'
  • website_homepage_url Char
    readonly=False related='website_id.homepage_url'
  • website_id Many2one → website
    default=_default_website ondelete='cascade' string='website' args: 'website'
  • website_language_count Integer
    readonly=True related='website_id.language_count' string='Number of languages'
  • website_logo Binary
    readonly=False related='website_id.logo'
  • website_name Char
    readonly=False related='website_id.name' args: 'Website Name'
Public methods (3)
  • action_open_blocked_third_party_domains(self)
  • action_open_robots(self)
  • action_website_create_new(self)

New fields (0)

No new fields.

Public methods (2)
  • action_activate_langs(self)
    Open wizard to install language(s), so user can select the website(s) to translate in that language.
  • write(self, vals)

New fields (1)
  • visitor_ids One2many → website.visitor
    string='Visitors' args: 'website.visitor', 'partner_id'
Public methods (2)
  • google_map_img(self, zoom=8, width=298, height=298)
  • google_map_link(self, zoom=10)

New fields (1)
  • website_id Many2one → website
    readonly=False related='partner_id.website_id' related_sudo=False store=True args: 'website'
Public methods (2)
  • authenticate(self, credential, user_agent_env)
    Override to link the logged in user's res.partner to website.visitor. If a visitor already exists for that user, assign it data from the current anonymous visitor (if exists). Purpose is to try to aggregate as much sub-records (tracked pages, leads, ...) as possible.
  • website_publish_button(self)

New fields (9)
  • active Boolean
    default=True
  • bundle Char
    required=True
  • copy_ids One2many → ir.asset
    copy=False readonly=True args: 'ir.asset', 'theme_template_id', 'Assets using a copy of me'
  • directive Selection
    default=APPEND_DIRECTIVE selection=[(APPEND_DIRECTIVE, 'Append'), (PREPEND_DIRECTIVE, 'Prepend'), (AFTER_DIRECTIVE, 'After'), (BEFORE_DIRECTIVE, 'Before'), (REMOVE_DIRECTIVE, 'Remove'), (REPLACE_DIRECTIVE, 'Replace'), (INCLUDE_DIRECTIVE, 'Include')]
  • key Char
  • name Char
    required=True
  • path Char
    required=True
  • sequence Integer
    default=DEFAULT_SEQUENCE required=True
  • target Char
Public methods (0)

No public methods.

New fields (4)
  • copy_ids One2many → ir.attachment
    copy=False readonly=True args: 'ir.attachment', 'theme_template_id', 'Attachment using a copy of me'
  • key Char
    required=True
  • name Char
    required=True
  • url Char
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True
  • arch Text
    translate=xml_translate
  • arch_fs Char
    default=compute_arch_fs
  • copy_ids One2many → ir.ui.view
    copy=False readonly=True args: 'ir.ui.view', 'theme_template_id', 'Views using a copy of me'
  • customize_show Boolean
  • inherit_id Reference
    selection=[('ir.ui.view', 'ir.ui.view'), ('theme.ir.ui.view', 'theme.ir.ui.view')]
  • key Char
  • mode Selection
    args: [('primary', 'Base view'), ('extension', 'Extension View')]
  • name Char
    required=True
  • priority Integer
    default=DEFAULT_SEQUENCE required=True
  • type Char
Public methods (1)
  • compute_arch_fs(self)

New fields (0)

No new fields.

Public methods (4)
  • disable_asset(self, name)
    @api.model
  • disable_view(self, xml_id)
    @api.model
  • enable_asset(self, name)
    @api.model
  • enable_view(self, xml_id)
    @api.model

New fields (10)
  • copy_ids One2many → website.menu
    copy=False readonly=True args: 'website.menu', 'theme_template_id', 'Menu using a copy of me'
  • mega_menu_classes Char
  • mega_menu_content Html
  • name Char
    required=True translate=True
  • new_window Boolean
    args: 'New Window'
  • page_id Many2one → theme.website.page
    index='btree_not_null' ondelete='cascade' args: 'theme.website.page'
  • parent_id Many2one → theme.website.menu
    index=True ondelete='cascade' args: 'theme.website.menu'
  • sequence Integer
  • url Char
    default=''
  • use_main_menu_as_parent Boolean
    default=True
Public methods (0)

No public methods.

New fields (6)
  • copy_ids One2many → website.page
    copy=False readonly=True args: 'website.page', 'theme_template_id', 'Page using a copy of me'
  • is_new_page_template Boolean
    string='New Page Template'
  • is_published Boolean
  • url Char
  • view_id Many2one → theme.ir.ui.view
    index=True ondelete='cascade' required=True args: 'theme.ir.ui.view'
  • website_indexed Boolean
    default=True args: 'Page Indexed'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (44)
  • auth_signup_uninvited Selection
    default='b2b' string='Customer Account' args: [('b2b', 'On invitation'), ('b2c', 'Free sign up')]
  • auto_redirect_lang Boolean
    default=True help="Should users be redirected to their browser's language" args: 'Autoredirect Language'
  • block_third_party_domains Boolean
    default=True help='Block 3rd-party domains that may track users (YouTube, Google Maps, etc.).' args: 'Block 3rd-party domains'
  • blocked_third_party_domains Text
    compute='_compute_blocked_third_party_domains' args: 'List of blocked 3rd-party domains'
  • cdn_activated Boolean
    args: 'Content Delivery Network (CDN)'
  • cdn_filters Text
    default=<expr> help='URL matching those filters will be rewritten using the CDN Base URL' args: 'CDN Filters'
  • cdn_url Char
    default='' args: 'CDN Base URL'
  • company_id Many2one → res.company
    default=<expr> required=True string='Company' args: 'res.company'
  • configurator_done Boolean
    help='True if configurator has been completed or ignored'
  • cookies_bar Boolean
    help='Display a customizable cookies bar on your website.' args: 'Cookies Bar'
  • custom_blocked_third_party_domains Text
    groups='website.group_website_designer' translate=False args: 'User list of blocked 3rd-party domains'
  • custom_code_footer Html
    sanitize=False args: 'Custom end of <body> code'
  • custom_code_head Html
    sanitize=False args: 'Custom <head> code'
  • default_lang_id Many2one → res.lang
    default=_default_language required=True string='Default Language' args: 'res.lang'
  • domain Char
    help='E.g. https://www.mydomain.com' args: 'Website Domain'
  • domain_punycode Char
    compute='_compute_domain_punycode' readonly=True store=False string='Punycode Domain'
  • favicon Binary
    default=_default_favicon help='This field holds the image used to display a favicon on the website.' string='Website Favicon'
  • google_analytics_key Char
    args: 'Google Analytics Key'
  • google_maps_api_key Char
    args: 'Google Maps API Key'
  • google_search_console Char
    help='Google key, or Enable to access first reply'
  • has_social_default_image Boolean
    compute='_compute_has_social_default_image' store=True
  • homepage_url Char
    help='E.g. /contactus or /shop'
  • language_count Integer
    compute='_compute_language_count' args: 'Number of languages'
  • language_ids Many2many → res.lang
    default=_active_languages required=True string='Languages' args: 'res.lang', 'website_lang_rel', 'website_id', 'lang_id'
  • logo Binary
    default=_default_logo help='Display this logo on the website.' args: 'Website Logo'
  • menu_id Many2one → website.menu
    compute='_compute_menu' string='Main Menu' args: 'website.menu'
  • name Char
    required=True args: 'Website Name'
  • partner_id Many2one
    readonly=False related='user_id.partner_id' string='Public Partner'
  • plausible_shared_key Char
  • plausible_site Char
  • robots_txt Html
    groups='website.group_website_designer' sanitize=False translate=False args: 'Robots.txt'
  • sequence Integer
    default=10
  • social_default_image Binary
    help='If set, replaces the website logo as the default social share image.' string='Default Social Share Image'
  • social_discord Char
    default=_default_social_discord args: 'Discord Account'
  • social_facebook Char
    default=_default_social_facebook args: 'Facebook Account'
  • social_github Char
    default=_default_social_github args: 'GitHub Account'
  • social_instagram Char
    default=_default_social_instagram args: 'Instagram Account'
  • social_linkedin Char
    default=_default_social_linkedin args: 'LinkedIn Account'
  • social_tiktok Char
    default=_default_social_tiktok args: 'TikTok Account'
  • social_twitter Char
    default=_default_social_twitter args: 'X Account'
  • social_youtube Char
    default=_default_social_youtube args: 'Youtube Account'
  • specific_user_account Boolean
    help='If True, new accounts will be associated to the current website' args: 'Specific User Account'
  • theme_id Many2one → ir.module.module
    help='Installed theme' args: 'ir.module.module'
  • user_id Many2one → res.users
    required=True string='Public User' args: 'res.users'
Public methods (38)
  • action_dashboard_redirect(self)
    @api.model
  • button_go_website(self, path='/')
  • check_existing_page(self, page)
    Returns a boolean, whether the page is considered to exist for the current website. This is a heuristic and is not perfectly reliable.
  • configurator_addons_apply(self, industry_name=None, **kwargs)
  • configurator_apply(self, **kwargs)
    @api.model
  • configurator_get_footer_links(self)
  • configurator_init(self)
    @api.model
  • configurator_missing_industry(self, unknown_industry)
    @api.model
  • configurator_recommended_themes(self, industry_id, palette, result_nbr_max=3)
    @api.model
  • configurator_set_menu_links(self, menu_company, module_data)
  • configurator_skip(self)
    @api.model
  • copy_menu_hierarchy(self, top_menu)
  • create(self, vals_list)
    @api.model_create_multi
  • create_and_redirect_configurator(self)
  • get_cdn_url(self, uri)
  • get_client_action(self, url, mode_edit=False, website_id=False)
  • get_client_action_url(self, url, mode_edit=False, mode_debug=0)
  • get_cta_data(self, website_purpose, website_type)
  • get_current_website(self, fallback=True)
    @api.model
    The current website is returned in the following order: - the website forced in session `force_website_id` - the website set in context - (if frontend or fallback) the website matching the request's "domain" - arbitrary the first website found in the database if `fallback` is set to `True` - empty browse record
  • get_suggested_controllers(self)
    Returns a tuple (name, url, icon). Where icon can be a module name, or a path
  • get_template(self, template)
    @api.model
  • get_theme_configurator_snippets(self, theme_name)
    @api.model
    Prepare and return configurator_snippets by fetching theme snippets and inserting addon snippets at their intended positions.
  • get_unique_key(self, string, template_module=False)
    Given a string, return an unique key including module prefix. It will be suffixed by a counter if it already exists to garantee uniqueness. :param string : the key to be checked for uniqueness, you can pass it with 'website.' or not :param template_module : the module to be prefixed on the key, if not set, we will use website
  • get_unique_path(self, page_url)
    Given an url, return that url suffixed by counter if it already exists :param page_url : the url to be checked for uniqueness
  • get_website_page_ids(self)
    Returns website page IDs grouped by website. If called with an empty or non-existent recordset, returns all pages under the None key. Else, returns a mapping of website IDs to their respective page IDs. :returns: Dict mapping website ID (or None) to list of website.page IDs. :rtype: dict[int | None, list[int]]
  • image_url(self, record, field, size=None)
    @api.model
    Returns a local url that points to the image field of a given browse record.
  • is_menu_cache_disabled(self)
    @tools.ormcache('self.env.uid', 'self.id', cache='templates')
    Checks if the website menu contains a record like url. :return: True if the menu contains a record like url
  • is_public_user(self)
    @api.model
  • is_view_active(self, key)
    @api.model
    Return True if active, False if not active, None if not found
  • new_page(self, name=False, add_menu=False, template='website.default_page', ispage=True, namespace=None, page_values=None, menu_values=None, sections_arch=None, page_title=None)
    @api.model
    Create a new website page, and assign it a xmlid based on the given one :param name: the name of the page :param add_menu: if True, add a menu for that page :param template: potential xml_id of the page to create :param namespace: module part of the xml_id if none, the template module name is used :param page_values: default values for the page to be created :param menu_values: default values for the menu to be created :param sections_arch: HTML content of sections :param page_title: if set, it allows using 'name' for the URL and a different title
  • pager(self, url, total, page=1, step=30, scope=5, url_args=None)
    @api.model
  • rule_is_enumerable(self, rule)
    Checks that it is possible to generate sensible GET queries for a given rule (if the endpoint matches its own requirements) :type rule: werkzeug.routing.Rule :rtype: bool
  • search_pages(self, needle=None, limit=None)
  • search_url_dependencies(self, res_model, res_ids)
    @api.model
    Search dependencies just for information. It will not catch 100% of dependencies and False positive is more than possible Each module could add dependences in this dict :returns: a dictionnary where key is the 'categorie' of object related to the given view, and the value is the list of text and link to the resource using given page
  • unlink(self)
  • viewref(self, view_id, raise_if_not_found=True)
    @api.model
    Given an xml_id or a view_id, return the corresponding view record. In case of website context, return the most specific one. Look also for archived views, no matter the context. :param view_id: either a string xml_id or an integer view_id :param raise_if_not_found: should the method raise an error if no view found :return: The view record or empty recordset
  • website_domain(self)
  • write(self, vals)

New fields (0)

No new fields.

Public methods (3)
  • make_scss_customization(self, url, values)
    @api.model
    Makes a scss customization of the given file. That file must contain a scss map including a line comment containing the word 'hook', to indicate the location where to write the new key,value pairs. Params: url (str): the URL of the scss file to customize (supposed to be a variable file which will appear in the assets_frontend bundle) values (dict): key,value mapping to integrate in the file's map (containing the word hook). If a key is already in the file's map, its value is overridden.
  • reset_asset(self, url, bundle)
    @api.model
    Delete the potential customizations made to a given (original) asset. Params: url (str): the URL of the original asset (scss / js) file bundle (str): the name of the bundle in which the customizations to delete were made
  • save_asset(self, url, bundle, content, file_type)
    @api.model
    Customize the content of a given asset (scss / js). Params: url (src): the URL of the original asset to customize (whether or not the asset was already customized) bundle (src): the name of the bundle in which the customizations will take effect content (src): the new content of the asset (scss / js) file_type (src): either 'scss' or 'js' according to the file being customized

New fields (11)
  • description Char
    translate=True
  • feature_url Char
  • iap_page_code Char
    help='Page code used to tell IAP website_service for which page a snippet list should be generated'
  • icon Char
  • menu_company Boolean
    help='If set, add the menu as a second level menu, as a child of "Company" menu.'
  • menu_sequence Integer
    help='If set, a website menu will be created for the feature.'
  • module_id Many2one → ir.module.module
    ondelete='cascade' args: 'ir.module.module'
  • name Char
    translate=True
  • page_view_id Many2one → ir.ui.view
    ondelete='cascade' args: 'ir.ui.view'
  • sequence Integer
  • website_config_preselection Char
    help='Comma-separated list of website type/purpose for which this feature should be pre-selected'
Public methods (0)

No public methods.

New fields (9)
  • default_layout Selection
    default='grid' selection=[('grid', 'Grid'), ('list', 'List')]
  • menu_ids One2many → website.menu
    args: 'website.menu', 'controller_page_id', 'Related Menus'
  • name Char
    compute='_compute_name' inverse='_inverse_name' precompute=True required=True store=True string='The name is used to generate the URL and is shown in the browser title bar'
  • name_slugified Char
    compute='_compute_name_slugified' help='The name of the page usable in a URL' inverse='_inverse_name_slugified' precompute=True store=True string='URL'
  • record_domain Char
    help='Domain to restrict records that can be viewed publicly' string='Domain'
  • record_view_id Many2one → ir.ui.view
    ondelete='cascade' string='Record view' args: 'ir.ui.view'
  • url_demo Char
    compute='_compute_url_demo' string='Demo URL'
  • view_id Many2one → ir.ui.view
    index=True ondelete='cascade' required=True string='Listing view' args: 'ir.ui.view'
  • website_id Many2one
    ondelete='cascade' readonly=False related='view_id.website_id' store=True
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • open_website_url(self)
  • unlink(self)
  • write(self, vals)

New fields (1)
  • cover_properties Text
    default=<expr> args: 'Cover Properties'
Public methods (1)
  • write(self, vals)

New fields (1)
  • content Text
    default=<expr>
Public methods (1)
  • action_save(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (15)
  • child_id One2many → website.menu
    string='Child Menus' args: 'website.menu', 'parent_id'
  • controller_page_id Many2one → website.controller.page
    index='btree_not_null' ondelete='cascade' args: 'website.controller.page', 'Related Model Page'
  • group_ids Many2many → res.groups
    groups='base.group_user' help='User needs to be at least in one of these groups to see the menu' string='Visible Groups' args: 'res.groups'
  • is_mega_menu Boolean
    compute=_compute_field_is_mega_menu inverse=_set_field_is_mega_menu
  • is_visible Boolean
    compute='_compute_visible' string='Is Visible'
  • mega_menu_classes Char
  • mega_menu_content Html
    prefetch=True sanitize=False translate=html_translate
  • name Char
    required=True translate=True args: 'Menu'
  • new_window Boolean
    args: 'New Window'
  • page_id Many2one → website.page
    index='btree_not_null' ondelete='cascade' args: 'website.page', 'Related Page'
  • parent_id Many2one → website.menu
    index=True ondelete='cascade' args: 'website.menu', 'Parent Menu'
  • parent_path Char
    index=True
  • sequence Integer
    default=_default_sequence
  • url Char
    compute='_compute_url' copy=True default='#' readonly=False required=True store=True args: 'Url'
  • website_id Many2one → website
    ondelete='cascade' args: 'website', 'Website'
Public methods (5)
  • create(self, vals_list)
    @api.model_create_multi
    In case a menu without a website_id is trying to be created, we duplicate it for every website. Note: Particularly useful when installing a module that adds a menu like /shop. So every website has the shop menu. Be careful to return correct record for ir.model.data xml_id in case of default main menus creation.
  • get_tree(self, website_id, menu_id=None)
    @api.model
  • save(self, website_id, data)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (1)
  • theme_template_id Many2one → theme.website.menu
    copy=False index='btree_not_null' args: 'theme.website.menu'
Public methods (0)

No public methods.

New fields (1)
  • website_id Many2one → website
    help='Restrict to a specific website.' index=True ondelete='restrict' string='Website' args: 'website'
Public methods (1)
  • can_access_from_current_website(self, website_id=False)

New fields (13)
  • arch Text
    depends_context=('website_id') readonly=False related='view_id.arch'
  • date_publish Datetime
    args: 'Publishing Date'
  • is_homepage Boolean
    compute='_compute_is_homepage' string='Homepage'
  • is_in_menu Boolean
    compute='_compute_website_menu'
  • is_new_page_template Boolean
    help='Add this page to the "+New" page templates. It will be added to the "Custom" category.' string='New Page Template'
  • is_visible Boolean
    compute='_compute_visible' string='Is Visible'
  • menu_ids One2many → website.menu
    args: 'website.menu', 'page_id', 'Related Menus'
  • url Char
    required=True args: 'Page URL'
  • view_id Many2one → ir.ui.view
    index=True ondelete='cascade' required=True string='View' args: 'ir.ui.view'
  • view_write_date Datetime
    related='view_id.write_date' args: 'Last Content Update on'
  • view_write_uid Many2one → res.users
    related='view_id.write_uid' args: 'res.users', 'Last Content Update by'
  • website_id Many2one
    ondelete='cascade' readonly=False related='view_id.website_id' store=True
  • website_indexed Boolean
    default=True args: 'Is Indexed'
Public methods (6)
  • action_page_debug_view(self)
  • clone_page(self, page_id, page_name=None, clone_menu=True)
    @api.model
    Clone a page, given its identifier :param page_id : website.page identifier
  • copy_data(self, default=None)
  • get_website_meta(self)
  • unlink(self)
  • write(self, vals)

New fields (1)
  • theme_template_id Many2one → theme.website.page
    copy=False index='btree_not_null' args: 'theme.website.page'
Public methods (0)

No public methods.

New fields (12)
  • date_publish Datetime
    readonly=False related='target_model_id.date_publish'
  • group_ids Many2many
    readonly=False related='target_model_id.group_ids'
  • is_new_page_template Boolean
    readonly=False related='target_model_id.is_new_page_template'
  • name Char
    readonly=False related='target_model_id.name'
  • old_url Char
  • redirect_old_url Boolean
    default=False store=False
  • redirect_type Selection
    default='301' required=True store=False args: [('301', '301 Moved permanently'), ('302', '302 Moved temporarily')]
  • target_model_id Many2one → website.page
    args: 'website.page'
  • url Char
    readonly=False related='target_model_id.url'
  • visibility Selection
    readonly=False related='target_model_id.visibility'
  • visibility_password_display Char
    readonly=False related='target_model_id.visibility_password_display'
  • website_indexed Boolean
    readonly=False related='target_model_id.website_indexed'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (8)
  • can_publish Boolean
    compute='_compute_can_publish'
  • is_homepage Boolean
    compute='_compute_is_homepage' inverse='_inverse_is_homepage' string='Homepage'
  • is_in_menu Boolean
    compute='_compute_is_in_menu' inverse='_inverse_is_in_menu'
  • is_published Boolean
    compute='_compute_is_published' inverse='_inverse_is_published'
  • menu_ids One2many → website.menu
    compute='_compute_menu_ids' args: 'website.menu'
  • target_model_id Reference
    required=True selection='_selection_target_model_id'
  • url Char
    required=True
  • website_id Many2one → website
    required=True args: 'website'
Public methods (0)

No public methods.

New fields (3)
  • header_color Char
  • header_overlay Boolean
  • header_text_color Char
Public methods (0)

No public methods.

New fields (2)
  • footer_visible Boolean
    default=True
  • header_visible Boolean
    default=True
Public methods (0)

No public methods.

New fields (5)
  • can_publish Boolean
    compute='_compute_can_publish' args: 'Can Publish'
  • is_published Boolean
    copy=False default=<expr> index=True args: 'Is Published'
  • website_absolute_url Char
    compute='_compute_website_absolute_url' help='The full absolute URL to access the document through the website.' args: 'Website Absolute URL'
  • website_published Boolean
    readonly=False related='is_published' args: 'Visible on current website'
  • website_url Char
    compute='_compute_website_url' help='The full relative URL to access the document through the website.' args: 'Website URL'
Public methods (5)
  • create(self, vals_list)
    @api.model_create_multi
  • create_and_get_website_url(self, **kwargs)
  • open_website_url(self)
  • website_publish_button(self)
  • write(self, vals)

New fields (8)
  • active Boolean
    default=True
  • name Char
    required=True args: 'Name'
  • redirect_type Selection
    default='302' help="Type of redirect/Rewrite:\n\n 301 Moved permanently: The browser will keep in cache the new url.\n 302 Moved temporarily: The browser will not keep in cache the new url and ask again the next time the new url.\n 404 Not Found: If you want remove a specific page/controller (e.g. Ecommerce is installed, but you don't want /shop on a specific website)\n 308 Redirect / Rewrite: If you want rename a controller with a new url. (Eg: /shop -> /garden - Both url will be accessible but /shop will automatically be redirected to /garden)\n " string='Action' args: [('404', '404 Not Found'), ('301', '301 Moved permanently'), ('302', '302 Moved temporarily'), ('308', '308 Redirect / Rewrite')]
  • route_id Many2one → website.route
    args: 'website.route'
  • sequence Integer
  • url_from Char
    index=True args: 'URL from'
  • url_to Char
    args: 'URL to'
  • website_id Many2one → website
    index=True ondelete='cascade' string='Website' args: 'website'
Public methods (5)
  • create(self, vals_list)
    @api.model_create_multi
  • get_import_templates(self)
    @api.model
  • refresh_routes(self)
  • unlink(self)
  • write(self, vals)

New fields (1)
  • content Text
    default=<expr>
Public methods (1)
  • action_save(self)

New fields (1)
  • path Char
    args: 'Route'
Public methods (1)
  • name_search(self, name='', domain=None, operator='ilike', limit=100)
    @api.model@api.readonly

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • is_seo_optimized Boolean
    compute='_compute_is_seo_optimized' store=True args: 'SEO optimized'
  • seo_name Char
    prefetch=True translate=True args: 'Seo name'
  • website_meta_description Text
    prefetch='website_meta' translate=True args: 'Website meta description'
  • website_meta_keywords Char
    prefetch='website_meta' translate=True args: 'Website meta keywords'
  • website_meta_og_img Char
    args: 'Website opengraph image'
  • website_meta_title Char
    prefetch='website_meta' translate=True args: 'Website meta title'
Public methods (1)
  • get_website_meta(self)
    This method will return final meta information. It will replace default values with user's custom value (if user modified it from the seo popup of frontend) This method is not meant for overridden. To customize meta values override `_default_website_meta` method instead of this method. This method only replaces user custom values in defaults.

New fields (8)
  • action_server_id Many2one → ir.actions.server
    ondelete='cascade' args: 'ir.actions.server', 'Server Action'
  • field_names Char
    default='' help='A list of comma-separated field names' required=True
  • filter_id Many2one → ir.filters
    ondelete='cascade' args: 'ir.filters', 'Filter'
  • help Text
    help='Optional help text describing the filter usage and/or purpose.' string='Description' translate=True
  • limit Integer
    help='The limit is the maximum number of records retrieved' required=True
  • model_name Char
    compute='_compute_model_name' string='Model name'
  • name Char
    required=True translate=True
  • website_id Many2one → website
    ondelete='cascade' string='Website' args: 'website'
Public methods (0)

No public methods.

New fields (2)
  • name Char
    args: 'Page Name'
  • website_url Char
    args: 'Website Page URL'
Public methods (2)
  • get_static_routes(self)
    @ormcache(cache='routing')
    Returns a set of website content static routes.
  • open_website_url(self)
    Opens the technical page for the given URL and website.

New fields (4)
  • page_id Many2one → website.page
    index=True ondelete='cascade' readonly=True args: 'website.page'
  • url Text
    index=True args: 'Url'
  • visit_datetime Datetime
    default=fields.Datetime.now readonly=True required=True args: 'Visit Date'
  • visitor_id Many2one → website.visitor
    index=True ondelete='cascade' readonly=True required=True args: 'website.visitor'
Public methods (0)

No public methods.

New fields (21)
  • access_token Char
    copy=False default=_get_access_token required=True
  • country_flag Char
    related='country_id.image_url' string='Country Flag'
  • country_id Many2one → res.country
    readonly=True args: 'res.country', 'Country'
  • create_date Datetime
    readonly=True args: 'First Connection'
  • email Char
    compute='_compute_email_phone' compute_sudo=True string='Email'
  • is_connected Boolean
    compute='_compute_time_statistics' help='A visitor is considered as connected if his last page view was within the last 5 minutes.' args: 'Is connected?'
  • lang_id Many2one → res.lang
    help='Language from the website when visitor has been created' string='Language' args: 'res.lang'
  • last_connection_datetime Datetime
    default=fields.Datetime.now help='Last page view date' readonly=True args: 'Last Connection'
  • last_visited_page_id Many2one → website.page
    compute='_compute_last_visited_page_id' string='Last Visited Page' args: 'website.page'
  • mobile Char
    compute='_compute_email_phone' compute_sudo=True string='Mobile'
  • name Char
    related='partner_id.name' args: 'Name'
  • page_count Integer
    compute='_compute_page_statistics' help='Total number of tracked page visited' args: '# Visited Pages'
  • page_ids Many2many → website.page
    compute='_compute_page_statistics' groups='website.group_website_designer' search='_search_page_ids' string='Visited Pages' args: 'website.page'
  • partner_id Many2one → res.partner
    compute='_compute_partner_id' help='Partner of the last logged in user.' index='btree_not_null' store=True string='Contact' args: 'res.partner'
  • partner_image Binary
    related='partner_id.image_1920'
  • time_since_last_action Char
    compute='_compute_time_statistics' help='Time since last page view. E.g.: 2 minutes ago' args: 'Last action'
  • timezone Selection
    string='Timezone' args: _tz_get
  • visit_count Integer
    default=1 help='A new visit is considered if last connection was more than 8 hours ago.' readonly=True args: '# Visits'
  • visitor_page_count Integer
    compute='_compute_page_statistics' help='Total number of visits on tracked pages' args: 'Page Views'
  • website_id Many2one → website
    readonly=True args: 'website', 'Website'
  • website_track_ids One2many → website.track
    readonly=True string='Visited Pages History' args: 'website.track', 'visitor_id'
Public methods (1)
  • action_send_mail(self)

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…