Website
website · odoo/odoo
Security findings
Migration considerations
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE website SET default_lang_id=%s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE ir_model_fields SET website_form_blacklisted=true WHERE website_form_blacklisted IS NULL` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE ir_model_fields SET website_form_blacklisted=false WHERE model=%s AND name in %s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE website_visitor SET access_token = partner_id WHERE partner_id::int != access_token::int AND partner_id = %s;` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Website/Website
- Folder size
- 55.96 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://www.odoo.com/app/website
- Last tracking update
- 2026-10-05 00:19:45
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Raphael Collet, Thibault Delavallée, Mohammed Shekha, odoo, Odoo Translation Bot, Christophe Matthieu, David Monjoie, Nicolas Lempereur, Aaron Bohy, Géry Debongnie, Jeremy Kersten, Lucas Perais (lpe), qsm-odoo, Pierre Masereel, Jorge Pinna Puissant, Julien Castiaux, Xavier-Do, Victor Feyens, Adrien Dieudonné, Sébastien Theys, Julien Mougenot, Alvaro Fuentes, Achraf (abz), David Beguin, Rémy Voet (ryv), Tiffany Chang (tic), Gorash, Pierre Paridans, abd-msyukyu-odoo, Romain Estievenart, Benjamin Vray, Benoit Socias, william-andre, Didier (did), Antoine Guenet, Patrick Hoste, Louis Baudoux, Nicolas Bayet, Jinjiu Liu, Mathieu Walravens, luvi, Hubert Van De Walle, Renaud Thiry, tsm-odoo, Merel Geens (mege), Victor Piryns (pivi), Julien (jula), Mahamadasif Ansari, amdi-odoo, Pierre-Yves Dufays, Robin Lejeune (role), Soukéina Bojabza, Louis (loco), Levi Siuzdak (sile), Dylan Kiss (dyki), Antoine Boonen, FrancoisGe, Chong Wang (cwg), bram1000, Brieuc-brd, divy-odoo, Walid (wasa), Deependra Solanki, maad-odoo, visp-odoo, Maryam Kia, Basit, Mehdi Outagant (MOU), Serge Bayet (seba), reka-odoo, dhba, kcv-odoo, Alex Kühn, adch-odoo, Rodolpho Lima, Adnan Saiyed, Chrysanthe (chgo), sami odoo, Sanjay Sharma, mano-odoo, Harsh Shah, Majed Alhanash (malh), thle-odoo, Xavier Luyckx (xlu), Antoine (anso), Léo Gizard, Arib Ansari, Rahil Ghanchi, Denis Rygaert, Sébastien (blse), sben-odoo, pkgu-odoo, Lucas Lefèvre (lul), Pierre Pulinckx, Anton Romanova (roan), Bastien PIERRE, Michaël Mattiello, Valeriya (vchu), Shrey Mehta, Mahdi Alijani (malj), Thomas Carlier (thc), Thomas Josse (THJO), Krzysztof Magusiak (krma), krip-odoo, Robin Engels (roen), kdes-odoo, Rushil Patel, Elier Ayala Bernal, bhna-odoo, defl, bikh-odoo, Giorgio Tocco (gito), akha, kareem, jayp-odoo, mohannedah, Tudor-Calin Panzaru (tupan), Daniel Duato Catalán, Julien Launois (jula), Laetitia (ldau), rusp-odoo, dtda-odoo, alap-odoo, Augustin (duau), Subhadeep R. Dev, Garvish Panchal, Patrick Stooks, Parth Pujara, Serhii Rubanskyi, Jay Panchal, chdh-odoo, romo, Alessandro Lupo, Quentin Colla (qucol), Kai Chang (kacha), Yagnik ✗ (yagp), Waleed Elgamal, steji, h4818, Ayush Modi, Saurabh, lrizzi1, assh-odoo, Beekoan, Lionel Piraux (lipi), livaios, Kevin Gerard (kege), Louis, Benoit Socias (bso), YoussefM890, maap-odoo, Mohamed Barakat, Merlin Guillaume, Mazen, Serge Bayet, Sébastien Geelen, Rudra Patel, sbbh-odoo, assk-odoo, Abdelouahab Laaroussi (abla), Zachary (zavan), alan-odoo, Joseph Maiarana, Julien (jdeh), h4818 (ayh), Parth Vyas, Alay Patel, Ian (iacio), Akash, ELCO, Khaj-odoo, khaj-odoo, chpa-odoo, Guillaume Jacquet, Dhruv Chauhan, panj-odoo, Oussema Heni, Simon Maldague (simal), stefanorigano (sri), Dylan Provoost, Frantisek Binovsky, Haroune Hassine (Hahas), Kai (kache), Divyesh Vyas (divy), Sreedev Kodichath (srkod), Ahmed Gamal, claireclan, Louis Wicket, Léo Leclerc, Julien Coppin (jucop), Mark Orban (maorb), Julien Piron, Jean Schoenlaub, Serhii Rubanksyi, mekot-odoo, Ivkl, Julien Piron (jupir)
- Odoo dependencies
- Python dependencies
- geoip2
- System dependencies
- None
- Required by
- marketing_card, test_import_export, test_website, test_website_modules, theme_default, website_address_autocomplete, website_cf_turnstile, website_crm, website_event, website_links, website_livechat, website_mail, website_mail_group, website_mass_mailing, website_partner, website_payment, website_project, website_sale, website_slides, website_sms, website_timesheet
- Description
Code Analysis
Views touched (468)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
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 |
digest_digest_view_form |
digest.digest.view.form.inherit.website | digest.digest | form | Inherits digest.digest_digest_view_form |
external_snippets |
external_snippets | ir.ui.view | qweb | Inherits website.snippets |
font_links |
Font Links | ir.ui.view | qweb | New |
footer_cookie_policy_link |
Footer Cookie Policy Link | ir.ui.view | qweb | Inherits website.layout |
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_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 |
icons_fonts_preload |
Icons fonts preload | ir.ui.view | qweb | Inherits web.frontend_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_us_s_company_team_spotlight |
new_page_template_about_us_s_company_team_spotlight | ir.ui.view | qweb | Inherits website.new_page_template_s_company_team_spotlight |
new_page_template_about_us_s_title_split |
new_page_template_about_us_s_title_split | ir.ui.view | qweb | Inherits website.new_page_template_s_title_split |
new_page_template_contact_us_s_duo_images |
new_page_template_contact_us_s_duo_images | ir.ui.view | qweb | Inherits website.new_page_template_s_duo_images |
new_page_template_groups |
new_page_template_groups | ir.ui.view | qweb | New |
new_page_template_portfolio_s_announcement_scroll |
new_page_template_portfolio_s_announcement_scroll | ir.ui.view | qweb | Inherits website.new_page_template_s_announcement_scroll |
new_page_template_portfolio_s_projects_grid_minimal |
new_page_template_portfolio_s_projects_grid_minimal | ir.ui.view | qweb | Inherits website.new_page_template_s_projects_grid_minimal |
new_page_template_portfolio_s_timeline_images |
new_page_template_portfolio_s_timeline_images | ir.ui.view | qweb | Inherits website.new_page_template_s_timeline_images |
new_page_template_portfolio_s_title |
new_page_template_portfolio_s_title | ir.ui.view | qweb | Inherits website.new_page_template_s_title |
new_page_template_portfolio_s_title_split |
new_page_template_portfolio_s_title_split | ir.ui.view | qweb | Inherits website.new_page_template_s_title_split |
new_page_template_s_announcement_scroll |
new_page_template_s_announcement_scroll | ir.ui.view | qweb | Inherits website.s_announcement_scroll |
new_page_template_s_company_team_spotlight |
new_page_template_s_company_team_spotlight | ir.ui.view | qweb | Inherits website.s_company_team_spotlight |
new_page_template_s_duo_images |
new_page_template_s_duo_images | ir.ui.view | qweb | Inherits website.s_duo_images |
new_page_template_s_map |
new_page_template_s_map | ir.ui.view | qweb | Inherits s_map |
new_page_template_s_projects_grid_minimal |
new_page_template_s_projects_grid_minimal | ir.ui.view | qweb | Inherits website.s_projects_grid_minimal |
new_page_template_s_timeline_images |
new_page_template_s_timeline_images | ir.ui.view | qweb | Inherits website.s_timeline_images |
new_page_template_s_title |
new_page_template_s_title | ir.ui.view | qweb | Inherits website.s_title |
new_page_template_s_title_split |
new_page_template_s_title_split | ir.ui.view | qweb | Inherits website.s_title_split |
new_page_template_s_website_form |
new_page_template_s_website_form | ir.ui.view | qweb | Inherits s_website_form |
new_page_template_services_s_title_split |
new_page_template_services_s_title_split | ir.ui.view | qweb | Inherits website.new_page_template_s_title_split |
new_page_template_utility_0_s_title_split |
new_page_template_utility_0_s_title_split | ir.ui.view | qweb | Inherits website.new_page_template_utility_s_title_split |
new_page_template_utility_1_s_title_split |
new_page_template_utility_1_s_title_split | ir.ui.view | qweb | Inherits website.new_page_template_utility_s_title_split |
new_page_template_utility_s_title_split |
new_page_template_utility_s_title_split | ir.ui.view | qweb | Inherits website.new_page_template_s_title_split |
no_autohide_menu |
no_autohide_menu | ir.ui.view | qweb | Inherits website.layout |
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_header_disclaimer |
Header Disclaimer | ir.ui.view | qweb | Inherits website.placeholder_header_disclaimer |
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_disclaimer |
Placeholder Header Disclaimer | 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_about_bold |
About Bold | ir.ui.view | qweb | New |
s_accordion |
Accordion | ir.ui.view | qweb | New |
s_accordion_image |
Accordion Image | ir.ui.view | qweb | New |
s_achievements_list |
Achievements List | ir.ui.view | qweb | New |
s_achievements_list_item |
s_achievements_list_item | ir.ui.view | qweb | New |
s_adventure |
Adventure | ir.ui.view | qweb | New |
s_age_verification_popup |
Age Verification Popup | ir.ui.view | qweb | New |
s_alert |
Alert | ir.ui.view | qweb | New |
s_animated_cover |
Animated Cover | ir.ui.view | qweb | New |
s_animated_number |
Animated Number | 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_avatars |
Avatars | ir.ui.view | qweb | New |
s_awards_list |
Awards List | 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_contained |
Banner Contained | ir.ui.view | qweb | New |
s_banner_glow |
Banner Glow | 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_features |
Bento Features | ir.ui.view | qweb | New |
s_bento_grid |
Bento Grid | ir.ui.view | qweb | New |
s_bento_grid_avatars |
Bento Avatars | 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_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_chart_text |
Chart - Text | 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_countdown_big_numbers_template |
s_countdown_big_numbers_template | ir.ui.view | qweb | New |
s_countdown_bordered_text_template |
s_countdown_bordered_text_template | ir.ui.view | qweb | New |
s_countdown_circle_template |
s_countdown_circle_template | ir.ui.view | qweb | New |
s_countdown_dominoes_template |
s_countdown_dominoes_template | ir.ui.view | qweb | New |
s_countdown_text_template |
s_countdown_text_template | ir.ui.view | qweb | New |
s_countdown_wrapped_numbers_template |
s_countdown_wrapped_numbers_template | 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_centered |
Centered 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_duo_images |
Duo Images | 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_dynamic_snippet_carousel_preview_data |
Carousel Preview Data | 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 |
ir.ui.view | qweb | New | |
s_faq_collapse |
FAQ | ir.ui.view | qweb | New |
s_faq_collapse_centered |
FAQ Centered | 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_cards |
Features Cards | ir.ui.view | qweb | New |
s_features_grid |
Features Grid | ir.ui.view | qweb | New |
s_features_image |
Features Image | 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_hero_about |
Hero About | ir.ui.view | qweb | New |
s_hero_maintenance |
Hero Maintenance | ir.ui.view | qweb | New |
s_hero_minimalist |
Hero Minimalist | ir.ui.view | qweb | New |
s_hours_and_place |
Hours and Place | ir.ui.view | qweb | New |
s_hr |
Separator | ir.ui.view | qweb | New |
s_icon |
Icon | ir.ui.view | qweb | New |
s_icon_list |
Icon List | ir.ui.view | qweb | New |
s_image |
Image | ir.ui.view | qweb | New |
s_image_features |
Image Features | 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_box |
Image Text Box | ir.ui.view | qweb | New |
s_image_text_full |
Image - Text Full Width | 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_intro_spotlight |
Intro Spotlight | 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_launch_countdown |
Launch Countdown | ir.ui.view | qweb | New |
s_manifesto |
Manifesto | 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_quad_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_dropzone |
Menu - Dropzone | 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_inline |
Numbers Inline | ir.ui.view | qweb | New |
s_numbers_list |
Numbers list | ir.ui.view | qweb | New |
s_numbers_lite |
Numbers Lite | 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_opening_hours_alt |
Opening Hours Alt | ir.ui.view | qweb | New |
s_parallax |
Parallax | ir.ui.view | qweb | New |
s_picture |
Title - Image | ir.ui.view | qweb | New |
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_projects_grid |
Projects Grid | ir.ui.view | qweb | New |
s_projects_grid_minimal |
Projects Grid Minimal | ir.ui.view | qweb | New |
s_projects_list |
Projects List | 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_columns |
s_references_columns | ir.ui.view | qweb | New |
s_references_grid |
References Grid | ir.ui.view | qweb | New |
s_references_lite |
References Lite | ir.ui.view | qweb | New |
s_references_social |
References Social | ir.ui.view | qweb | New |
s_references_tiles |
References Tiles | 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_services_grid |
Services Grid | ir.ui.view | qweb | New |
s_services_pack |
Services Pack | 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_showcase_square |
Showcase Square | 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_splash_intro |
Splash Intro | 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_split |
Text Split | ir.ui.view | qweb | New |
s_text_bold |
Text Bold | ir.ui.view | qweb | New |
s_text_chart |
Text - Chart | ir.ui.view | qweb | New |
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_text_image_full |
Text - Image Full Width | ir.ui.view | qweb | New |
s_three_columns |
Columns | ir.ui.view | qweb | New |
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_title_split |
Title Split | 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_bold |
Form Bold | 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 |
s_whatsapp |
WhatsApp Snippet | ir.ui.view | qweb | New |
search_tags_highlight |
Website Searchbar: Tag Highlight | 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_colors_preview |
theme_colors_preview | ir.ui.view | qweb | Inherits web.layout |
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_llms |
Edit LLMs.txt | website.llms | form | New |
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.400_hide_error |
website.400_hide_error | ir.ui.view | qweb | Inherits http_routing.400 |
website.403_hide_error |
website.403_hide_error | ir.ui.view | qweb | Inherits http_routing.403 |
website.415_hide_error |
website.415_hide_error | ir.ui.view | qweb | Inherits http_routing.415 |
website.422_hide_error |
website.422_hide_error | ir.ui.view | qweb | Inherits http_routing.422 |
website.4xx_hide_error |
website.4xx_hide_error | ir.ui.view | qweb | Inherits http_routing.4xx |
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.search_image_item_view |
website.search_image_item_view | ir.ui.view | qweb | New |
website.search_result_items |
website.search_result_items | ir.ui.view | qweb | New |
website.unpublished_badge |
Unpublished Badge | 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 (64)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/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 | 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/cookie-policy |
Website.cookie_policy_redirect |
public | http | ALL | sudo 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/get_current_website_id |
Website.get_current_website |
user | jsonrpc | ALL | |
/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_pages |
Website.get_new_page_records |
user | jsonrpc | ALL | sudo |
/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/<string:search_type> |
Website.hybrid_list |
public | http | ALL | website |
/ |
Website.index |
public | http | ALL | website |
/llms.txt |
Website.llms_txt |
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/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/odoo_track |
Website.track |
public | jsonrpc | POST | sudo 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/configurator/preview |
Website.website_configurator_preview |
user | http | ALL | sudo website |
/website/force/<int:website_id> |
Website.website_force |
user | http | ALL | website |
/website/http_error/<string:status_code> |
Website.website_http_error_page |
public | http | ALL | website |
/website/info |
Website.website_info |
public | http | ALL | sudo website |
/website/get_languages |
Website.website_languages |
user | jsonrpc | ALL | website |
/website/fetch_dashboard_data |
WebsiteBackend.fetch_dashboard_data |
user | jsonrpc | ALL | |
/website/iframefallback |
WebsiteBackend.get_iframe_fallback |
user | http | ALL | website |
/website/theme_colors_preview |
WebsiteBackend.get_theme_colors_preview |
user | http | ALL | website |
| (inherited route override) | WebsiteBackendHome.web_client |
inherited | http | 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) | WebsiteSession.session_identity |
inherited | http | ALL | website |
/web/bundle/website.<string:bundle_name> |
WebsiteWebClient.bundle |
public | http | GET |
Models touched (66)
No new fields.
Public methods (0)No public methods.
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)
-
website_idsMany2many → websitestring='Websites to translate' args: 'website'
-
default_get(self, fields)@api.model -
lang_install(self)
No new fields.
Public methods (0)No public methods.
-
kpi_website_track_countBooleanargs: 'Tracked Page Views' -
kpi_website_track_count_valueIntegercompute='_compute_kpi_website_track_count_value' -
kpi_website_visitor_countBooleanargs: 'Visitors' -
kpi_website_visitor_count_valueIntegercompute='_compute_kpi_website_visitors_count_value'
No public methods.
No new fields.
Public methods (0)No public methods.
-
website_pathCharargs: 'Website Path' -
website_publishedBooleancopy=Falsehelp='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_urlCharcompute='_get_website_url'help='The full URL to access the server action through the website.' args: 'Website Url' -
xml_idCharcompute='_compute_xml_id'help='ID of the action if defined in a XML file' args: 'External ID'
No public methods.
-
keyCharcopy=False -
website_idMany2one → websiteondelete='cascade' args: 'website'
-
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.
-
theme_template_idMany2one → theme.ir.assetcopy=Falseindex='btree_not_null' args: 'theme.ir.asset'
No public methods.
-
keyChar -
website_idMany2one → websiteargs: 'website'
-
create(self, vals_list)@api.model_create_multi -
get_serving_groups(self)@api.model
-
keyCharcopy=False -
theme_template_idMany2one → theme.ir.attachmentcopy=Falseindex='btree_not_null' args: 'theme.ir.attachment'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)-
get_frontend_session_info(self)@api.model -
routing_map(self, key=None)
-
website_form_accessBooleanhelp='Enable the form builder feature for this model.' args: 'Allowed to use in forms' -
website_form_default_field_idMany2one → ir.model.fieldsdomain="[('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_keyCharhelp='Used in FormBuilder Registry' -
website_form_labelCharhelp="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'
-
get_authorized_fields(self, model_name, property_origins)@api.modelReturn the fields of the given model name as a mapping like method `fields_get`. -
get_compatible_form_models(self)@api.model
No new fields.
Public methods (0)No public methods.
-
website_form_blacklistedBooleandefault=Truehelp='Blacklist this field for web forms'index=True args: 'Blacklisted in web forms'
-
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)
-
image_idsOne2many → ir.attachmentdomain=[('res_model', '=', 'ir.module.module'), ('mimetype', '=like', 'image/%')]readonly=Truestring='Screenshots' args: 'ir.attachment', 'res_id' -
is_installed_on_current_websiteBooleancompute='_compute_is_installed_on_current_website'
-
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.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)-
get_available_options(self)@api.model
No new fields.
Public methods (1)-
value_to_html(self, value, options)@api.model
No new fields.
Public methods (1)-
load_menus_root(self)@api.model@api.ormcache('self.env.uid', 'self.env.lang', 'self.env.context.get("force_action")')
-
controller_page_idsOne2many → website.controller.pageargs: 'website.controller.page', 'view_id' -
first_page_idMany2one → website.pagecompute='_compute_first_page_id'help='First page linked to this view'string='Website Page' args: 'website.page' -
page_idsOne2many → website.pageargs: 'website.page', 'view_id' -
trackBooleandefault=Falsehelp='Allow to specify for one page of the website to be trackable or not'string='Track' -
visibilitySelectiondefault='public'required=True args: [('public', 'Public'), ('connected', 'Signed In'), ('restricted_group', 'Restricted Group'), ('password', 'With Password')] -
visibility_passwordCharcopy=Falsegroups='base.group_system' -
visibility_password_displayCharcompute='_get_pwd'groups='website.group_website_designer'inverse='_set_pwd' -
website_idMany2one → websiteondelete='cascade'string='Website' args: 'website'
-
create(self, vals_list)@api.model_create_multiSOC 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. -
extract_embedded_fields(self, arch)@api.model -
extract_oe_structures(self, arch)@api.model -
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.modelMake this only return most specific views for website. -
get_view_hierarchy(self) -
replace_arch_section(self, section_xpath, replacement, replace_tail=False) -
save(self, value, xpath=None)Update a view section. The view section may embed fields to write Note that `self` record might not exist when saving an embed field :param str xpath: valid xpath to the tag to replace -
save_embedded_field(self, el)@api.model -
save_oe_structure(self, el) -
to_empty_oe_structure(self, el)@api.model -
to_field_ref(self, el)@api.model -
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.
-
theme_template_idMany2one → theme.ir.ui.viewcopy=Falseindex='btree_not_null' args: 'theme.ir.ui.view'
-
write(self, vals)
No new fields.
Public methods (0)No public methods.
-
website_idMany2one → websitecompute='_compute_website_id'store=True args: 'website'
-
action_open_website_theme_selector(self)@api.model -
google_map_img(self, zoom=8, width=298, height=298) -
google_map_link(self, zoom=8)
-
auth_signup_uninvitedSelectioncompute='_compute_auth_signup_uninvited'config_parameter=Falsedefault=Noneinverse='_inverse_auth_signup_uninvited' -
cdn_activatedBooleanreadonly=Falserelated='website_id.cdn_activated' -
cdn_filtersTextreadonly=Falserelated='website_id.cdn_filters' -
cdn_urlCharreadonly=Falserelated='website_id.cdn_url' -
cookie_policy_idMany2onereadonly=Falserelated='website_id.cookie_policy_id'string='Cookie Policy Page' -
faviconBinaryreadonly=Falserelated='website_id.favicon' args: 'Favicon' -
google_analytics_keyCharreadonly=Falserelated='website_id.google_analytics_key' args: 'Google Analytics Key' -
google_search_consoleCharreadonly=Falserelated='website_id.google_search_console' args: 'Google Search Console Key' -
group_multi_websiteBooleanimplied_group='website.group_multi_website' args: 'Multi-website' -
has_cookie_policyBooleancompute='_compute_has_cookie_policy' -
has_default_share_imageBooleancompute='_compute_has_default_share_image'inverse='_inverse_has_default_share_image' args: 'Use a image by default for sharing' -
has_google_analyticsBooleancompute='_compute_has_google_analytics'inverse='_inverse_has_google_analytics' args: 'Google Tag Manager/Google Analytics' -
has_google_search_consoleBooleancompute='_compute_has_google_search_console'inverse='_inverse_has_google_search_console' args: 'Google Search Console' -
has_plausible_shared_keyBooleancompute='_compute_has_plausible_shared_key'inverse='_inverse_has_plausible_shared_key' args: 'Plausible Analytics' -
language_idsMany2manyreadonly=Falserelated='website_id.language_ids' -
module_website_address_autocompleteBooleanargs: 'Website Address Autocomplete' -
module_website_livechatBoolean -
plausible_shared_keyCharreadonly=Falserelated='website_id.plausible_shared_key' args: 'Plausible auth Key' -
plausible_siteCharreadonly=Falserelated='website_id.plausible_site' args: 'Plausible Site (e.g. domain.com)' -
shared_user_accountBooleancompute='_compute_shared_user_account'inverse='_inverse_shared_user_account'string='Shared Customer Accounts' -
social_default_imageBinaryreadonly=Falserelated='website_id.social_default_image' args: 'Default Social Share Image' -
website_block_third_party_domainsBooleanreadonly=Falserelated='website_id.block_third_party_domains' args: 'Block 3rd-party domains' -
website_company_idMany2onereadonly=Falserelated='website_id.company_id'string='Website Company' -
website_cookies_barBooleanreadonly=Falserelated='website_id.cookies_bar' -
website_default_lang_codeCharreadonly=Falserelated='website_id.default_lang_id.code' args: 'Default language code' -
website_default_lang_idMany2onereadonly=Falserelated='website_id.default_lang_id'string='Default language' -
website_domainCharreadonly=Falserelated='website_id.domain' args: 'Website Domain' -
website_homepage_urlCharreadonly=Falserelated='website_id.homepage_url' -
website_idMany2one → websitedefault=_default_websiteondelete='cascade'string='website' args: 'website' -
website_language_countIntegerreadonly=Truerelated='website_id.language_count'string='Number of languages' -
website_logoBinaryreadonly=Falserelated='website_id.logo' -
website_nameCharreadonly=Falserelated='website_id.name' args: 'Website Name'
-
action_open_blocked_third_party_domains(self) -
action_open_llms(self) -
action_open_robots(self) -
action_website_create_new(self)
No new fields.
Public methods (0)No public methods.
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)
-
visitor_idsOne2many → website.visitorstring='Visitors' args: 'website.visitor', 'partner_id'
-
google_map_img(self, zoom=8, width=298, height=298) -
google_map_link(self, zoom=10)
-
website_idMany2one → websitereadonly=Falserelated='partner_id.website_id'related_sudo=Falsestore=True args: 'website'
-
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)
-
activeBooleandefault=True -
bundleCharrequired=True -
copy_idsOne2many → ir.assetcopy=Falsereadonly=True args: 'ir.asset', 'theme_template_id', 'Assets using a copy of me' -
directiveSelectiondefault=APPEND_DIRECTIVEselection=[(APPEND_DIRECTIVE, 'Append'), (PREPEND_DIRECTIVE, 'Prepend'), (AFTER_DIRECTIVE, 'After'), (BEFORE_DIRECTIVE, 'Before'), (REMOVE_DIRECTIVE, 'Remove'), (REPLACE_DIRECTIVE, 'Replace'), (INCLUDE_DIRECTIVE, 'Include')] -
keyChar -
nameCharrequired=True -
pathCharrequired=True -
sequenceIntegerdefault=DEFAULT_SEQUENCErequired=True -
targetChar
No public methods.
-
copy_idsOne2many → ir.attachmentcopy=Falsereadonly=True args: 'ir.attachment', 'theme_template_id', 'Attachment using a copy of me' -
keyCharrequired=True -
nameCharrequired=True -
urlChar
No public methods.
-
activeBooleandefault=True -
archTexttranslate=xml_translate -
arch_fsChardefault=compute_arch_fs -
copy_idsOne2many → ir.ui.viewcopy=Falsereadonly=True args: 'ir.ui.view', 'theme_template_id', 'Views using a copy of me' -
customize_showBoolean -
inherit_idReferenceselection=[('ir.ui.view', 'ir.ui.view'), ('theme.ir.ui.view', 'theme.ir.ui.view')] -
keyChar -
modeSelectionargs: [('primary', 'Base view'), ('extension', 'Extension View')] -
nameCharrequired=True -
priorityIntegerdefault=DEFAULT_SEQUENCErequired=True -
typeChar
-
compute_arch_fs(self)
No new fields.
Public methods (5)-
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 -
set_page_option(self, page_option, value)@api.model
-
copy_idsOne2many → website.menucopy=Falsereadonly=True args: 'website.menu', 'theme_template_id', 'Menu using a copy of me' -
mega_menu_classesChar -
mega_menu_contentHtml -
nameCharcopy=Truerequired=Truetranslate=True -
new_windowBooleanargs: 'New Window' -
page_idMany2one → theme.website.pageindex='btree_not_null'ondelete='cascade' args: 'theme.website.page' -
parent_idMany2one → theme.website.menuindex=Trueondelete='cascade' args: 'theme.website.menu' -
sequenceInteger -
urlChardefault='#' -
use_main_menu_as_parentBooleandefault=True
No public methods.
-
copy_idsOne2many → website.pagecopy=Falsereadonly=True args: 'website.page', 'theme_template_id', 'Page using a copy of me' -
is_new_page_templateBooleanstring='New Page Template' -
is_publishedBoolean -
urlChartranslate=True -
view_idMany2one → theme.ir.ui.viewindex=Trueondelete='cascade'required=True args: 'theme.ir.ui.view' -
website_indexedBooleandefault=True args: 'Page Indexed'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)-
make_scss_customization(self, url, values)@api.modelMakes 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.modelDelete 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.modelCustomize 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
-
descriptionChartranslate=True -
feature_urlChar -
iap_page_codeCharhelp='Page code used to tell IAP website_service for which page a snippet list should be generated' -
iconChar -
icon_classChar -
menu_companyBooleanhelp='If set, add the menu as a second level menu, as a child of "Company" menu.' -
menu_sequenceIntegerhelp='If set, a website menu will be created for the feature.' -
module_idMany2one → ir.module.moduleondelete='cascade' args: 'ir.module.module' -
nameChartranslate=True -
page_view_idMany2one → ir.ui.viewondelete='cascade' args: 'ir.ui.view' -
sequenceInteger -
website_config_preselectionCharhelp='Comma-separated list of website type/purpose for which this feature should be pre-selected'
No public methods.
-
default_layoutSelectiondefault='grid'selection=[('grid', 'Grid'), ('list', 'List')] -
menu_idsOne2many → website.menuargs: 'website.menu', 'controller_page_id', 'Related Menus' -
nameCharcompute='_compute_name'inverse='_inverse_name'precompute=Truerequired=Truestore=Truestring='The name is used to generate the URL and is shown in the browser title bar' -
name_slugifiedCharcompute='_compute_name_slugified'help='The name of the page usable in a URL'inverse='_inverse_name_slugified'precompute=Truestore=Truestring='URL' -
record_domainCharhelp='Domain to restrict records that can be viewed publicly'string='Domain' -
record_view_idMany2one → ir.ui.viewondelete='cascade'string='Record view' args: 'ir.ui.view' -
url_demoCharcompute='_compute_url_demo'string='Demo URL' -
view_idMany2one → ir.ui.viewindex=Trueondelete='cascade'required=Truestring='Listing view' args: 'ir.ui.view' -
website_idMany2oneondelete='cascade'readonly=Falserelated='view_id.website_id'store=True
-
create(self, vals_list)@api.model_create_multi -
open_website_url(self) -
unlink(self) -
write(self, vals)
-
cover_propertiesTextdefault=<expr> args: 'Cover Properties'
-
write(self, vals)
-
contentTextdefault=<expr>
-
action_save(self)
No new fields.
Public methods (0)No public methods.
-
contentTextreadonly=Falserelated='website_id.llms_txt'
-
action_save(self)
-
website_absolute_urlCharcompute='_compute_website_absolute_url'help='The full absolute URL to access the document through the website.' args: 'Website Absolute URL' -
website_urlCharcompute='_compute_website_url'help='The full relative URL to access the document through the website.' args: 'Website URL'
No public methods.
-
child_idOne2many → website.menustring='Child Menus' args: 'website.menu', 'parent_id' -
controller_page_idMany2one → website.controller.pageindex='btree_not_null'ondelete='cascade' args: 'website.controller.page', 'Related Model Page' -
group_idsMany2many → res.groupsgroups='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_menuBooleancompute='_compute_field_is_mega_menu'inverse='_inverse_field_is_mega_menu' -
is_visibleBooleancompute='_compute_visible'string='Is Visible' -
manual_urlCharargs: 'Url defined by user' -
mega_menu_classesChar -
mega_menu_contentHtmlprefetch=Truesanitize=Falsetranslate=html_translate -
nameCharcopy=Truerequired=Truetranslate=True args: 'Menu' -
new_windowBooleanargs: 'New Window' -
page_idMany2one → website.pageindex='btree_not_null'ondelete='cascade' args: 'website.page', 'Related Page' -
parent_idMany2one → website.menuindex=Trueondelete='cascade' args: 'website.menu', 'Parent Menu' -
parent_pathCharindex=True -
sequenceIntegerdefault=_default_sequence -
urlCharcompute='_compute_url'compute_sudo=Trueinverse='_inverse_url'search='_search_url' args: 'Url' -
website_idMany2one → websiteondelete='cascade' args: 'website', 'Website'
-
create(self, vals_list)@api.model_create_multiIn 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)
-
theme_template_idMany2one → theme.website.menucopy=Falseindex='btree_not_null' args: 'theme.website.menu'
No public methods.
-
website_idMany2one → websitehelp='Restrict to a specific website.'index=Trueondelete='restrict'string='Website' args: 'website'
No public methods.
-
archTextreadonly=Falserelated='view_id.arch' -
is_homepageBooleancompute='_compute_is_homepage'string='Homepage' -
is_in_menuBooleancompute='_compute_website_menu' -
is_new_page_templateBooleanhelp='Add this page to the "+New" page templates. It will be added to the "Custom" category.'string='New Page Template' -
is_visibleBooleancompute='_compute_visible'string='Is Visible' -
menu_idsOne2many → website.menuargs: 'website.menu', 'page_id', 'Related Menus' -
nameCharcompute='_compute_name'copy=Trueinverse='_inverse_name'store=Truestring='Page Name'translate=True -
parent_idMany2one → website.pagestring='Parent Page' args: 'website.page' -
parent_idsMany2many → website.pagecompute='_compute_parent_ids' args: 'website.page' -
urlCharcopy=<expr>required=Truetranslate=True args: 'Page URL' -
view_idMany2one → ir.ui.viewindex=Trueondelete='cascade'required=Truestring='View' args: 'ir.ui.view' -
view_write_dateDatetimerelated='view_id.write_date' args: 'Last Content Update on' -
view_write_uidMany2one → res.usersrelated='view_id.write_uid' args: 'res.users', 'Last Content Update by' -
website_idMany2oneondelete='cascade'readonly=Falserelated='view_id.website_id'store=True -
website_indexedBooleandefault=True args: 'Is Indexed'
-
action_page_debug_view(self) -
clone_page(self, page_id, page_name=None, clone_menu=True)@api.modelClone a page, given its identifier :param page_id : website.page identifier -
copy_data(self, default=None) -
get_website_meta(self) -
open_website_url(self) -
unlink(self) -
write(self, vals)
-
theme_template_idMany2one → theme.website.pagecopy=Falseindex='btree_not_null' args: 'theme.website.page'
No public methods.
-
group_idsMany2manyreadonly=Falserelated='target_model_id.group_ids' -
has_parent_pageBooleancompute='_compute_has_parent_page'help='Improve navigation and hierarchy of site by adding parent page in breadcrumbs format.'readonly=False -
is_new_page_templateBooleanreadonly=Falserelated='target_model_id.is_new_page_template' -
nameCharcopy=Truereadonly=Falserelated='target_model_id.name' -
old_urlChar -
parent_idMany2onedomain="['|', ('website_id', '=?', website_id), ('website_id', '=', False), ('id', '!=', target_model_id)]"readonly=Falserelated='target_model_id.parent_id' -
redirect_old_urlBooleandefault=Falsestore=False -
redirect_typeSelectiondefault='301'required=Truestore=False args: [('301', '301 Moved permanently'), ('302', '302 Moved temporarily')] -
target_model_idMany2one → website.pageargs: 'website.page' -
urlCharreadonly=Falserelated='target_model_id.url' -
url_in_website_default_langCharcompute='_compute_url_in_website_default_lang' -
visibilitySelectionreadonly=Falserelated='target_model_id.visibility' -
visibility_password_displayCharreadonly=Falserelated='target_model_id.visibility_password_display' -
website_indexedBooleanreadonly=Falserelated='target_model_id.website_indexed'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
-
can_publishBooleancompute='_compute_can_publish' -
is_homepageBooleancompute='_compute_is_homepage'inverse='_inverse_is_homepage'string='Homepage' -
is_in_menuBooleancompute='_compute_is_in_menu'inverse='_inverse_is_in_menu' -
is_publishedBooleancompute='_compute_is_published'inverse='_inverse_is_published' -
menu_idsOne2many → website.menucompute='_compute_menu_ids' args: 'website.menu' -
publish_onDatetimecompute='_compute_publish_on'inverse='_inverse_publish_on'readonly=False -
published_dateDatetimecompute='_compute_published_date'inverse='_inverse_published_date'readonly=False -
target_model_idReferencerequired=Trueselection='_selection_target_model_id' -
urlCharrequired=True -
website_idMany2one → websiterequired=True args: 'website'
-
action_unschedule(self) -
write(self, vals)
-
breadcrumb_colorChar -
breadcrumb_overlayBoolean -
breadcrumb_text_colorChar -
header_colorChar -
header_overlayBoolean -
header_text_colorChar
No public methods.
-
breadcrumb_visibleBooleandefault=True -
footer_visibleBooleandefault=True -
header_visibleBooleandefault=True
No public methods.
-
can_publishBooleancompute='_compute_can_publish' args: 'Can Publish' -
is_publishedBooleancopy=Falsedefault=<expr>index=True args: 'Is Published' -
publish_onDatetimecopy=Falsehelp='Automatically publish the page on the chosen date and time.' args: 'Auto publish on' -
published_dateDatetimecopy=False args: 'Published date' -
website_publishedBooleanreadonly=Falserelated='is_published' args: 'Visible on current website'
-
action_unschedule(self) -
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)
-
activeBooleandefault=True -
is_url_from_existBooleancompute='_compute_is_url_from_exist'default=False -
nameCharargs: 'Name' -
redirect_typeSelectiondefault='301'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 "required=Truestring='Action' args: [('404', '404 Not Found'), ('301', '301 Moved permanently'), ('302', '302 Moved temporarily'), ('308', '308 Redirect / Rewrite')] -
route_idMany2one → website.routeargs: 'website.route' -
sequenceInteger -
url_fromCharindex=Truerequired=True args: 'URL from' -
url_toCharargs: 'URL to' -
website_idMany2one → websiteindex=Trueondelete='cascade'string='Website' args: 'website'
-
create(self, vals_list)@api.model_create_multi -
get_import_templates(self)@api.model -
refresh_routes(self) -
unlink(self) -
write(self, vals)
-
contentTextdefault=<expr>
-
action_save(self)
-
pathCharargs: 'Route'
-
name_search(self, name='', domain=None, operator='ilike', limit=100)@api.model@api.readonly
No new fields.
Public methods (0)No public methods.
-
is_seo_optimizedBooleancompute='_compute_is_seo_optimized'store=True args: 'SEO optimized' -
seo_nameCharprefetch=Truetranslate=True args: 'Seo name' -
website_meta_descriptionTextprefetch='website_meta'translate=True args: 'Website meta description' -
website_meta_keywordsCharprefetch='website_meta'translate=True args: 'Website meta keywords' -
website_meta_og_imgCharargs: 'Website opengraph image' -
website_meta_titleCharprefetch='website_meta'translate=True args: 'Website meta title'
-
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. -
get_website_meta_i18n_value(self, field_name, lang_code)Return the translation for the given SEO meta field in lang_code, or ''.
-
action_server_idMany2one → ir.actions.serverondelete='cascade' args: 'ir.actions.server', 'Server Action' -
field_namesChardefault=''help='A list of comma-separated field names'required=True -
filter_idMany2one → ir.filtersondelete='cascade' args: 'ir.filters', 'Filter' -
helpTexthelp='Optional help text describing the filter usage and/or purpose.'string='Description'translate=True -
limitIntegerhelp='The limit is the maximum number of records retrieved'required=True -
model_nameCharcompute='_compute_model_name'string='Model name' -
nameCharrequired=Truetranslate=True -
website_idMany2one → websiteondelete='cascade'string='Website' args: 'website'
No public methods.
No new fields.
Public methods (0)No public methods.
-
nameCharargs: 'Page Name' -
website_urlCharargs: 'Website Page URL'
-
open_website_url(self)Opens the technical page for the given URL and website.
-
page_idMany2one → website.pageindex=Trueondelete='cascade'readonly=True args: 'website.page' -
urlTextindex=True args: 'Url' -
visit_datetimeDatetimedefault=fields.Datetime.nowreadonly=Truerequired=True args: 'Visit Date' -
visitor_idMany2one → website.visitorindex=Trueondelete='cascade'readonly=Truerequired=True args: 'website.visitor'
No public methods.
No new fields.
Public methods (0)No public methods.
-
access_tokenCharcopy=Falsedefault=_get_access_tokenrequired=True -
country_flagCharrelated='country_id.image_url'string='Country Flag' -
country_idMany2one → res.countryindex='btree_not_null'readonly=True args: 'res.country', 'Country' -
create_dateDatetimereadonly=True args: 'First Connection' -
emailCharcompute='_compute_email_phone'compute_sudo=Truestring='Email' -
is_connectedBooleancompute='_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_idMany2one → res.langhelp='Language from the website when visitor has been created'string='Language' args: 'res.lang' -
last_connection_datetimeDatetimedefault=fields.Datetime.nowhelp='Last page view date'readonly=True args: 'Last Connection' -
last_visited_page_idMany2one → website.pagecompute='_compute_last_visited_page_id'string='Last Visited Page' args: 'website.page' -
mobileCharcompute='_compute_email_phone'compute_sudo=Truestring='Mobile' -
nameCharrelated='partner_id.name' args: 'Name' -
page_countIntegercompute='_compute_page_statistics'help='Total number of tracked page visited' args: '# Visited Pages' -
page_idsMany2many → website.pagecompute='_compute_page_statistics'groups='website.group_website_designer'search='_search_page_ids'string='Visited Pages' args: 'website.page' -
partner_idMany2one → res.partnercompute='_compute_partner_id'help='Partner of the last logged in user.'index='btree_not_null'store=Truestring='Contact' args: 'res.partner' -
partner_imageBinaryrelated='partner_id.image_1920' -
time_since_last_actionCharcompute='_compute_time_statistics'help='Time since last page view. E.g.: 2 minutes ago' args: 'Last action' -
timezoneSelectionstring='Timezone' args: _tz_get -
visit_countIntegerdefault=1help='A new visit is considered if last connection was more than 8 hours ago.'readonly=True args: '# Visits' -
visitor_page_countIntegercompute='_compute_page_statistics'help='Total number of visits on tracked pages' args: 'Page Views' -
website_idMany2one → websitereadonly=True args: 'website', 'Website' -
website_track_idsOne2many → website.trackreadonly=Truestring='Visited Pages History' args: 'website.track', 'visitor_id'
-
action_send_mail(self)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…