Files
odoo_source/addons/website/views/website_views.xml
T
fja-odoo e33172e832 [IMP] website_sale, *: keep track of products viewed
*= website, website_livechat, website_rating

///// Tracking Product /////

Now when a user browse products in eCommerce, we keep track of the
products he looked at. We use the website_visitor
to store the products viewed. A cookie is added with a TTl of 30 min it
will prevent the RPC for that time. We track the page only if the
product view is tracked.

The recently viewed products are displayed as a snippet but also
with the customize option in product pages of website_sale.

Products that are in cart will not be returned as recently viewed.

It is possible to add a recently viewed product to the cart directly
from the carousel, it will not redirect to the cart. If we are on the
cart page, the product is displayed in the cart.

The Visitor page in website now references products viewed

///// Tracking Page /////

Feature to track a view was remove in: https://github.com/odoo/enterprise/pull/4834

That feature is now reintroduced and will use website_track instead of
leads to be stored.

The track field is now on the view instead of the page.

url field is added to website.track, it will store the url for pages and
views

The Visitor page in website now references urls viewed

Add some tests

task-1984575

closes odoo/odoo#35810

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-09-16 09:38:53 +00:00

357 lines
16 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- Menu items -->
<menuitem name="Website"
id="menu_website_configuration"
sequence="9"
groups="base.group_user"
web_icon="website,static/description/icon.png"/>
<record id="action_website_add_features" model="ir.actions.act_window">
<field name="name">Apps</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.module.module</field>
<field name="view_mode">kanban,tree,form</field>
<field name="domain">['!', ('name', '=like', 'theme_%')]</field>
<field name="context" eval="{'search_default_category_id': ref('base.module_category_website')}"/>
</record>
<!-- website views -->
<record id="view_website_form" model="ir.ui.view">
<field name="name">website.form</field>
<field name="model">website</field>
<field name="arch" type="xml">
<form string="Website Settings">
<sheet>
<div name="domain">
<group name="domain">
<field name="name"/>
<field name="domain"/>
</group>
</div>
<div name="logo">
<group name="logo">
<field name="logo" widget="image" class="oe_avatar float-left"/>
</group>
</div>
<div name="other">
<group name="other">
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="default_lang_id" widget="selection" groups="base.group_no_one"/>
</group>
</div>
</sheet>
</form>
</field>
</record>
<record id="view_website_tree" model="ir.ui.view">
<field name="name">website.tree</field>
<field name="model">website</field>
<field name="arch" type="xml">
<tree string="Websites">
<field name="name"/>
<field name="domain"/>
<field name="country_group_ids" widget="many2many_tags"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="default_lang_id"/>
<field name="theme_id" groups="base.group_no_one"/>
</tree>
</field>
</record>
<record id="view_redirect_search" model="ir.ui.view">
<field name="name">website.redirect.search</field>
<field name="model">website.redirect</field>
<field name="arch" type="xml">
<search string="Search Redirect">
<field name="url_from"/>
<field name="url_to"/>
<separator/>
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
<group string="Group By">
<filter string="Redirection Type" name="group_by_type" domain="[]" context="{'group_by': 'redirect_type'}"/>
</group>
</search>
</field>
</record>
<record id="action_website_list" model="ir.actions.act_window">
<field name="name">Websites</field>
<field name="res_model">website</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_website_tree"/>
<field name="target">current</field>
</record>
<!-- website.redirect views -->
<record id="website_redirect_form_view" model="ir.ui.view">
<field name="name">website.redirect.form</field>
<field name="model">website.redirect</field>
<field name="arch" type="xml">
<form string="Website Redirect Settings">
<sheet>
<group>
<group>
<field name="redirect_type"/>
<field name="url_from"/>
<field name="url_to"/>
</group>
<group>
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
<field name="active"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="website_redirect_tree_view" model="ir.ui.view">
<field name="name">website.redirect.list</field>
<field name="model">website.redirect</field>
<field name="arch" type="xml">
<tree string="Website Redirects" editable="bottom">
<field name="redirect_type"/>
<field name="url_from"/>
<field name="url_to"/>
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
<field name="active"/>
<field name="sequence" widget="handle" />
</tree>
</field>
</record>
<record id="action_website_redirect_list" model="ir.actions.act_window">
<field name="name">Website Redirects</field>
<field name="res_model">website.redirect</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="website_redirect_tree_view"/>
<field name="target">current</field>
<field name="search_view_id" ref="view_redirect_search"/>
</record>
<!-- website.page views -->
<record id="website_pages_form_view" model="ir.ui.view">
<field name="name">website.page.form</field>
<field name="model">website.page</field>
<field name="arch" type="xml">
<form string="Website Page Settings">
<sheet>
<group>
<group>
<field name="name"/>
<field name="url"/>
<field name="view_id" context="{'display_website': True}"/>
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
<field name="track"/>
</group>
<group>
<field name="website_indexed"/>
<field name="is_published"/>
<field name="date_publish"/>
</group>
</group>
<label for="menu_ids" string="Related Menu Items"/>
<field name="menu_ids"/>
</sheet>
</form>
</field>
</record>
<record id="website_pages_tree_view" model="ir.ui.view">
<field name="name">website.page.list</field>
<field name="model">website.page</field>
<field name="arch" type="xml">
<tree string="Website Pages" default_order="name">
<field name="name"/>
<field name="url"/>
<field name="website_id" groups="website.group_multi_website"/>
<field name="website_indexed"/>
<field name="is_published" string="Page Published"/>
<field name="create_uid" invisible="1"/>
<field name="write_uid"/>
<field name="write_date"/>
<field name="track"/>
</tree>
</field>
</record>
<record id="website_pages_view_search" model="ir.ui.view">
<field name="name">website.page.view.search</field>
<field name="model">website.page</field>
<field name="arch" type="xml">
<search string="Website Pages" >
<filter string="Published" name="published" domain="[('website_published', '=', True)]"/>
<filter string="Not published" name="not_published" domain="[('website_published', '=', False)]"/>
<separator/>
<filter string="Tracked" name="tracked" domain="[('track', '=', True)]"/>
<filter string="Not tracked" name="not_tracked" domain="[('track', '=', False)]"/>
</search>
</field>
</record>
<record id="action_website_pages_list" model="ir.actions.act_window">
<field name="name">Website Pages</field>
<field name="res_model">website.page</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="website_pages_tree_view"/>
<field name="target">current</field>
</record>
<!-- website.menu views -->
<record id="website_menus_form_view" model="ir.ui.view">
<field name="name">website.menu.form</field>
<field name="model">website.menu</field>
<field name="arch" type="xml">
<form string="Website Menus Settings">
<sheet>
<group>
<group>
<field name="name"/>
<field name="url"/>
<field name="page_id"/>
<field name="is_mega_menu"/>
</group>
<group>
<field name="new_window"/>
<field name="sequence"/>
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
</group>
<group>
<field name="parent_id" context="{'display_website': True}"/>
<field name="group_ids"/>
</group>
</group>
<label for="child_id" string="Child Menus"/>
<field name="child_id">
<tree>
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="url"/>
</tree>
</field>
</sheet>
</form>
</field>
</record>
<record id="menu_tree" model="ir.ui.view">
<field name="name">website.menu.tree</field>
<field name="model">website.menu</field>
<field name="field_parent">child_id</field>
<field name="arch" type="xml">
<tree string="Website menu" editable="bottom">
<field name="sequence" widget="handle"/>
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
<field name="name"/>
<field name="url"/>
<field name="is_mega_menu"/>
<field name="new_window"/>
<field name="parent_id" context="{'display_website': True}"/>
<field name="group_ids" widget="many2many_tags"/>
</tree>
</field>
</record>
<record id="menu_search" model="ir.ui.view">
<field name="name">website.menu.search</field>
<field name="model">website.menu</field>
<field name="arch" type="xml">
<search string="Search Menus">
<field name="name"/>
<field name="url"/>
<field name="website_id" groups="website.group_multi_website"/>
<group string="Group By">
<filter string="name" name="group_by_name" domain="[]" context="{'group_by':'name'}"/>
<filter string="url" name="group_by_url" domain="[]" context="{'group_by':'url'}"/>
<filter string="website" name="my_websites" domain="[]" context="{'group_by':'website_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_website_menu" model="ir.actions.act_window">
<field name="name">Website Menu</field>
<field name="res_model">website.menu</field>
<field name="view_mode">tree,form</field>
<field name="context">{'search_default_my_websites':1}</field>
<field name="view_id" ref="menu_tree"/>
<field name="target">current</field>
</record>
<!-- ir.ui.view views -->
<record model="ir.ui.view" id="view_view_form_extend">
<field name="model">ir.ui.view</field>
<field name="inherit_id" ref="base.view_view_form"/>
<field name="arch" type="xml">
<field name="inherit_id" position="attributes">
<attribute name="context">{'display_website': True}</attribute>
</field>
<field name="name" position="after">
<field name="website_id" options="{'no_create': True}" groups="website.group_multi_website"/>
<field name="key"/>
<field name="page_ids" invisible="1" />
<field name="first_page_id" attrs="{'invisible': [('page_ids', '=', [])]}" />
</field>
<sheet position="before">
<header>
<button name="redirect_to_page_manager" string="Go to Page Manager"
type="object" attrs="{'invisible': [('page_ids', '=', [])]}"/>
</header>
</sheet>
</field>
</record>
<record id="view_view_tree_inherit_website" model="ir.ui.view">
<field name="model">ir.ui.view</field>
<field name="inherit_id" ref="base.view_view_tree"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="website_id" groups="website.group_multi_website"/>
</field>
<field name="xml_id" position="before">
<field name="key" groups="website.group_multi_website"/>
</field>
</field>
</record>
<!-- Dashboard -->
<record id="backend_dashboard" model="ir.actions.client">
<field name="name">Analytics</field>
<field name="tag">backend_dashboard</field>
</record>
<record id="ir_actions_server_website_dashboard" model="ir.actions.server">
<field name="name">Website: Dashboard</field>
<field name="model_id" ref="website.model_website"/>
<field name="state">code</field>
<field name="code">action = model.action_dashboard_redirect()</field>
</record>
<record id="ir_actions_server_website_google_analytics" model="ir.actions.server">
<field name="name">Website: Dashboard</field>
<field name="model_id" ref="website.model_website"/>
<field name="state">code</field>
<field name="code">action = model.env.ref('website.backend_dashboard').read()[0]</field>
</record>
<menuitem id="menu_dashboard"
name="Dashboard"
sequence="1"
parent="website.menu_website_configuration"/>
<menuitem id="menu_website_dashboard" parent="menu_dashboard"
sequence="10" name="eCommerce Dashboard"
action="website.ir_actions_server_website_dashboard" active="0"/>
<menuitem id="menu_website_google_analytics" parent="menu_dashboard"
sequence="20" name="Analytics"
action="website.ir_actions_server_website_google_analytics"/>
</data>
</odoo>