<?xml version="1.0" encoding="UTF-8"?>
<odoo>

    <!-- Filters for Dynamic Filter -->
    <record id="dynamic_snippet_newest_products_filter" model="ir.filters">
        <field name="name">Newest Products</field>
        <field name="model_id">product.product</field>
        <field name="user_ids" eval="False" />
        <field name="domain">[('website_published', '=', True)]</field>
        <field name="context">{'display_default_code': False, 'add2cart_rerender': False}</field>
        <field name="sort">["create_date desc"]</field>
        <field name="action_id" ref="website.action_website"/>
    </record>
    <!-- Action Server for Dynamic Filter -->
    <record id="dynamic_snippet_latest_sold_products_action" model="ir.actions.server">
        <field name="name">Recently Sold Products</field>
        <field name="model_id" ref="model_product_product"/>
        <field name="state">code</field>
        <field name="code">
DynamicFilter = model.env['website.snippet.filter']
response = DynamicFilter._get_products('latest_sold')
        </field>
    </record>
    <record id="dynamic_snippet_latest_viewed_products_action" model="ir.actions.server">
        <field name="name">Recently Viewed Products (per user)</field>
        <field name="model_id" ref="model_product_product"/>
        <field name="state">code</field>
        <field name="code">
DynamicFilter = model.env['website.snippet.filter']
res_products = DynamicFilter._get_products('latest_viewed')
for data in res_products:
    data['_latest_viewed'] = True
response = res_products
        </field>
    </record>
    <record id="dynamic_snippet_accessories_action" model="ir.actions.server">
        <field name="name">Product Accessories</field>
        <field name="model_id" ref="model_product_product"/>
        <field name="state">code</field>
        <field name="code">
DynamicFilter = model.env['website.snippet.filter']
response = DynamicFilter._get_products('accessories', product_template_id=request.params.get('productTemplateId'))
        </field>
    </record>
    <record id="dynamic_snippet_recently_sold_with_action" model="ir.actions.server">
        <field name="name">Products Recently Sold With</field>
        <field name="model_id" ref="model_product_product"/>
        <field name="state">code</field>
        <field name="code">
DynamicFilter = model.env['website.snippet.filter']
response = DynamicFilter._get_products('recently_sold_with', product_template_id=request.params.get('productTemplateId'))
        </field>
    </record>
    <record id="dynamic_snippet_alternative_products" model="ir.actions.server">
        <field name="name">Alternative Products</field>
        <field name="model_id" ref="model_product_product"/>
        <field name="state">code</field>
        <field name="code">
DynamicFilter = model.env['website.snippet.filter']
response = DynamicFilter._get_products('alternative_products', product_template_id=request.params.get('productTemplateId'))
        </field>
    </record>
    <record id="dynamic_snippet_category_list" model="ir.actions.server">
        <field name="name">Category List</field>
        <field name="model_id" ref="model_product_public_category"/>
        <field name="state">code</field>
        <field name="code">
DynamicFilter = model.env['website.snippet.filter']
response = DynamicFilter._prepare_category_list_data(parent_id=request.params.get('parentId'))
        </field>
    </record>
    <!-- Dynamic Filter -->
    <record id="dynamic_filter_newest_products" model="website.snippet.filter">
        <field name="filter_id" ref="website_sale.dynamic_snippet_newest_products_filter"/>
        <field name="field_names">display_name,description_sale,image_512</field>
        <field name="limit" eval="16"/>
        <field name="name">Newest Products</field>
    </record>
    <record id="dynamic_filter_latest_sold_products" model="website.snippet.filter">
        <field name="action_server_id" ref="website_sale.dynamic_snippet_latest_sold_products_action"/>
        <field name="field_names">display_name,description_sale,image_512</field>
        <field name="limit" eval="16"/>
        <field name="name">Recently Sold Products</field>
    </record>
    <record id="dynamic_filter_latest_viewed_products" model="website.snippet.filter">
        <field name="action_server_id" ref="website_sale.dynamic_snippet_latest_viewed_products_action"/>
        <field name="field_names">display_name,description_sale,image_512</field>
        <field name="limit" eval="16"/>
        <field name="name">Recently Viewed Products (per user)</field>
        <field name="help">The building block will remain empty until the user visits a product page.</field>
    </record>
    <record id="dynamic_filter_cross_selling_accessories" model="website.snippet.filter">
        <field name="action_server_id" ref="website_sale.dynamic_snippet_accessories_action"/>
        <field name="field_names">display_name,description_sale,image_512</field>
        <field name="limit" eval="16"/>
        <field name="name">Accessories for Product</field>
        <field name="product_cross_selling">True</field>
    </record>
    <record id="dynamic_filter_cross_selling_recently_sold_with" model="website.snippet.filter">
        <field name="action_server_id" ref="website_sale.dynamic_snippet_recently_sold_with_action"/>
        <field name="field_names">display_name,description_sale,image_512</field>
        <field name="limit" eval="16"/>
        <field name="name">Products Recently Sold With Product</field>
        <field name="product_cross_selling">True</field>
    </record>
    <record id="dynamic_filter_cross_selling_alternative_products" model="website.snippet.filter">
        <field name="action_server_id" ref="website_sale.dynamic_snippet_alternative_products"/>
        <field name="field_names">display_name,description_sale,image_512</field>
        <field name="limit" eval="16"/>
        <field name="name">Alternative Products</field>
        <field name="product_cross_selling">True</field>
    </record>
    <record id="dynamic_filter_category_list" model="website.snippet.filter">
        <field name="action_server_id" ref="website_sale.dynamic_snippet_category_list"/>
        <field name="field_names">id,name,cover_image</field>
        <field name="name">Category List</field>
        <field name="limit" eval="10"/>
    </record>

</odoo>
