Website
website · odoo/odoo
🛠 Migration considerations
- 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
Found by automated static analysis: patterns worth a look before/after upgrading this module to a newer Odoo version.
- 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 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 |
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 |
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) | 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 | 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)
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.
-
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 (3)-
get_frontend_session_info(self)@api.model -
get_nearest_lang(self, lang_code)@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 (0)No public methods.
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")')
-
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='' args: [('', '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. -
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) -
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.
-
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' -
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_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 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_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_robots(self) -
action_website_create_new(self)
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 (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
-
copy_idsOne2many → website.menucopy=Falsereadonly=True args: 'website.menu', 'theme_template_id', 'Menu using a copy of me' -
mega_menu_classesChar -
mega_menu_contentHtml -
nameCharrequired=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 -
urlChar -
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.
-
auth_signup_uninvitedSelectiondefault='b2b'string='Customer Account' args: [('b2b', 'On invitation'), ('b2c', 'Free sign up')] -
auto_redirect_langBooleandefault=Truehelp="Should users be redirected to their browser's language" args: 'Autoredirect Language' -
block_third_party_domainsBooleandefault=Truehelp='Block 3rd-party domains that may track users (YouTube, Google Maps, etc.).' args: 'Block 3rd-party domains' -
blocked_third_party_domainsTextcompute='_compute_blocked_third_party_domains' args: 'List of blocked 3rd-party domains' -
cdn_activatedBooleanargs: 'Content Delivery Network (CDN)' -
cdn_filtersTextdefault=<expr>help='URL matching those filters will be rewritten using the CDN Base URL' args: 'CDN Filters' -
cdn_urlChardefault='' args: 'CDN Base URL' -
company_idMany2one → res.companydefault=<expr>required=Truestring='Company' args: 'res.company' -
configurator_doneBooleanhelp='True if configurator has been completed or ignored' -
cookies_barBooleanhelp='Display a customizable cookies bar on your website.' args: 'Cookies Bar' -
custom_blocked_third_party_domainsTextgroups='website.group_website_designer'translate=False args: 'User list of blocked 3rd-party domains' -
custom_code_footerHtmlsanitize=False args: 'Custom end of <body> code' -
custom_code_headHtmlsanitize=False args: 'Custom <head> code' -
default_lang_idMany2one → res.langdefault=_default_languagerequired=Truestring='Default Language' args: 'res.lang' -
domainCharhelp='E.g. https://www.mydomain.com' args: 'Website Domain' -
domain_punycodeCharcompute='_compute_domain_punycode'readonly=Truestore=Falsestring='Punycode Domain' -
faviconBinarydefault=_default_faviconhelp='This field holds the image used to display a favicon on the website.'string='Website Favicon' -
google_analytics_keyCharargs: 'Google Analytics Key' -
google_maps_api_keyCharargs: 'Google Maps API Key' -
google_search_consoleCharhelp='Google key, or Enable to access first reply' -
has_social_default_imageBooleancompute='_compute_has_social_default_image'store=True -
homepage_urlCharhelp='E.g. /contactus or /shop' -
language_countIntegercompute='_compute_language_count' args: 'Number of languages' -
language_idsMany2many → res.langdefault=_active_languagesrequired=Truestring='Languages' args: 'res.lang', 'website_lang_rel', 'website_id', 'lang_id' -
logoBinarydefault=_default_logohelp='Display this logo on the website.' args: 'Website Logo' -
menu_idMany2one → website.menucompute='_compute_menu'string='Main Menu' args: 'website.menu' -
nameCharrequired=True args: 'Website Name' -
partner_idMany2onereadonly=Falserelated='user_id.partner_id'string='Public Partner' -
plausible_shared_keyChar -
plausible_siteChar -
robots_txtHtmlgroups='website.group_website_designer'sanitize=Falsetranslate=False args: 'Robots.txt' -
sequenceIntegerdefault=10 -
social_default_imageBinaryhelp='If set, replaces the website logo as the default social share image.'string='Default Social Share Image' -
social_discordChardefault=_default_social_discord args: 'Discord Account' -
social_facebookChardefault=_default_social_facebook args: 'Facebook Account' -
social_githubChardefault=_default_social_github args: 'GitHub Account' -
social_instagramChardefault=_default_social_instagram args: 'Instagram Account' -
social_linkedinChardefault=_default_social_linkedin args: 'LinkedIn Account' -
social_tiktokChardefault=_default_social_tiktok args: 'TikTok Account' -
social_twitterChardefault=_default_social_twitter args: 'X Account' -
social_youtubeChardefault=_default_social_youtube args: 'Youtube Account' -
specific_user_accountBooleanhelp='If True, new accounts will be associated to the current website' args: 'Specific User Account' -
theme_idMany2one → ir.module.modulehelp='Installed theme' args: 'ir.module.module' -
user_idMany2one → res.usersrequired=Truestring='Public User' args: 'res.users'
-
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.modelThe 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.modelPrepare 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.modelReturns 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.modelReturn 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.modelCreate 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.modelSearch 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.modelGiven 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)
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 -
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.
-
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_menuinverse=_set_field_is_mega_menu -
is_visibleBooleancompute='_compute_visible'string='Is Visible' -
mega_menu_classesChar -
mega_menu_contentHtmlprefetch=Truesanitize=Falsetranslate=html_translate -
nameCharrequired=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'copy=Truedefault='#'readonly=Falserequired=Truestore=True 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'
-
can_access_from_current_website(self, website_id=False)
-
archTextdepends_context=('website_id')readonly=Falserelated='view_id.arch' -
date_publishDatetimeargs: 'Publishing Date' -
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' -
urlCharrequired=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) -
unlink(self) -
write(self, vals)
-
theme_template_idMany2one → theme.website.pagecopy=Falseindex='btree_not_null' args: 'theme.website.page'
No public methods.
-
date_publishDatetimereadonly=Falserelated='target_model_id.date_publish' -
group_idsMany2manyreadonly=Falserelated='target_model_id.group_ids' -
is_new_page_templateBooleanreadonly=Falserelated='target_model_id.is_new_page_template' -
nameCharreadonly=Falserelated='target_model_id.name' -
old_urlChar -
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' -
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' -
target_model_idReferencerequired=Trueselection='_selection_target_model_id' -
urlCharrequired=True -
website_idMany2one → websiterequired=True args: 'website'
No public methods.
-
header_colorChar -
header_overlayBoolean -
header_text_colorChar
No public methods.
-
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' -
website_absolute_urlCharcompute='_compute_website_absolute_url'help='The full absolute URL to access the document through the website.' args: 'Website Absolute URL' -
website_publishedBooleanreadonly=Falserelated='is_published' args: 'Visible on current website' -
website_urlCharcompute='_compute_website_url'help='The full relative URL to access the document through the website.' args: 'Website URL'
-
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 -
nameCharrequired=True args: 'Name' -
redirect_typeSelectiondefault='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_idMany2one → website.routeargs: 'website.route' -
sequenceInteger -
url_fromCharindex=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.
-
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.
-
nameCharargs: 'Page Name' -
website_urlCharargs: 'Website Page URL'
-
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.
-
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.
-
access_tokenCharcopy=Falsedefault=_get_access_tokenrequired=True -
country_flagCharrelated='country_id.image_url'string='Country Flag' -
country_idMany2one → res.countryreadonly=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…