odex25_standard/odex25_donation/theme_prime/views/components.xml

339 lines
21 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="component_navbar_mobile_account_info" name="Component: Navbar Mobile Account Info">
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<div class="tp-account-info">
<a class="o_wsale_my_cart tp-cart-sidebar-action d-lg-none" href="/shop/cart">
<i class="dri dri-cart o_not_editable"/>
<sup class="my_cart_quantity badge badge-primary mb-0 font-weight-bold" t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" t-att-data-order-id="website_sale_order and website_sale_order.id or ''"/>
</a>
</div>
</template>
<template id="component_navbar_toggler" name="Component: Navbar Toggler">
<button class="navbar-toggler tp-navbar-toggler collapsed" type="button" data-toggle="collapse" aria-label="Menu" data-target="#top_menu_collapse">
<span class="icon-bar top-bar o_not_editable"></span>
<span class="icon-bar middle-bar o_not_editable"></span>
<span class="icon-bar bottom-bar o_not_editable"></span>
</button>
</template>
<template id="tp_bottom_action_btn_component">
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<li t-if="component != 'tp_lang_selector'" t-attf-class="list-inline-item position-relative tp-bottom-action-btn text-center #{button.get('action_class', '')} #{'tp-active-btn' if website_path == button.get('url') else ''}">
<a t-att-aria-label="button.get('name')" t-attf-class="#{'o_wsale_my_wish tp-btn-in-bottom-bar' if component == 'tp_wishlist' else ''} #{'o_wsale_my_cart tp-cart-sidebar-action' if component == 'tp_cart' else ''}" t-att-href="button.get('url', '#')">
<i t-attf-class="tp-action-btn-icon #{button.get('icon')}"/>
<sup t-if="component == 'tp_wishlist'" t-esc="wishcount" class="my_wish_quantity o_animate_blink badge badge-primary"/>
<sup t-if="component == 'tp_cart'" class="my_cart_quantity badge badge-primary mb-0 font-weight-bold" t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" t-att-data-order-id="website_sale_order and website_sale_order.id or ''"/>
</a>
<div class="tp-action-btn-label"><t t-esc="button.get('name')"></t></div>
</li>
<li t-else="" t-attf-class="list-inline-item position-relative tp-bottom-action-btn text-center #{button.get('action_class', '')}">
<ul style="padding: 2px 8px;">
<t t-call="theme_prime.component_language_pricelist">
<t t-set="only_symbols" t-value="True"/>
<t t-set="_dropdown_classes" t-value="'flex-column'"/>
</t>
</ul>
</li>
</template>
<template id="tp_login_dropdown_component">
<li t-if="request.website.viewref('portal.user_sign_in').active" t-attf-class="list-inline-item o_not_editable #{_btn_classes}">
<div class="dropdown" t-ignore="true" t-if="not user_id._is_public()">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-label="Account Info"><i t-attf-class="dri dri-user #{_icon_classes}"/></a>
<div t-if="action_label" class="tp-action-btn-label">Account</div>
<div class="dropdown-menu dropdown-menu-right" role="menu">
<div class="dropdown-header"><t t-esc="user_id.name"/></div>
<a href="/my" role="menuitem" class="dropdown-item">My Account</a>
<a href="/my/orders" role="menuitem" class="dropdown-item">Orders</a>
<a href="/shop/wishlist" role="menuitem" class="dropdown-item">Wishlist (<span class="tp-wishlist-counter"><t t-esc="wishcount"/></span>)</a>
<div class="dropdown-divider"></div>
<a href="/web/session/logout?redirect=/" role="menuitem" class="dropdown-item">Logout</a>
</div>
</div>
<div class="dropdown" t-else="">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-label="Account Info"><i t-attf-class="dri dri-user #{_icon_classes}"/></a>
<div t-if="action_label" class="tp-action-btn-label">Account</div>
<div class="dropdown-menu dropdown-menu-right" role="menu">
<div class="dropdown-header">Guest</div>
<a href="/web/login" role="menuitem" class="dropdown-item">Login</a>
<div class="dropdown-divider"></div>
<a href="/shop/cart" role="menuitem" class="dropdown-item">My Cart</a>
<a href="/shop/wishlist" role="menuitem" class="dropdown-item">Wishlist (<span class="tp-wishlist-counter"><t t-esc="wishcount"/></span>)</a>
</div>
</div>
<div t-if="show_title" class="mt-1 small text-body">Account</div>
</li>
</template>
<template id="tp_donation_login_dropdown_component">
<li t-if="request.website.viewref('portal.user_sign_in').active" t-attf-class="list-inline-item o_not_editable #{_btn_classes}">
<div class="dropdown" t-ignore="true" t-if="not user_id._is_public()">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-label="Account Info"><i t-attf-class="dri dri-user #{_icon_classes}"/></a>
<div t-if="action_label" class="tp-action-btn-label">Account</div>
<div class="dropdown-menu dropdown-menu-right" role="menu">
<div class="dropdown-header"><t t-esc="user_id.name"/></div>
<a href="/my/campaigns" role="menuitem" class="dropdown-item">My Account</a>
<a href="/my/campaigns" role="menuitem" class="dropdown-item">My Campaigns</a>
<a href="/my/orders" role="menuitem" class="dropdown-item">Donations</a>
<div class="dropdown-divider"></div>
<a href="/web/session/logout?redirect=/" role="menuitem" class="dropdown-item">Logout</a>
</div>
</div>
<div class="dropdown" t-else="">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-label="Account Info"><i t-attf-class="dri dri-user #{_icon_classes}"/></a>
<div t-if="action_label" class="tp-action-btn-label">Account</div>
<div class="dropdown-menu dropdown-menu-right" role="menu">
<div class="dropdown-header">Guest</div>
<a href="/account/login" role="menuitem" class="dropdown-item">Login</a>
<div class="dropdown-divider"></div>
<a href="/shop/cart" role="menuitem" class="dropdown-item">My Donations</a>
</div>
</div>
<div t-if="show_title" class="mt-1 small text-body">Account</div>
</li>
</template>
<template id="tp_mobile_bottombar_component" name="Bottombar Component">
<t t-set="wishcount" t-value="len(request.env['product.wishlist'].current())"/>
<t t-set="website_path" t-value="request.httprequest.path"/>
<t t-set="is_user_sign_in" t-value="request.website.viewref('portal.user_sign_in').active"/>
<t t-set="components" t-value="request.website._get_dr_theme_config('json_bottom_bar_config')"></t>
<t t-set="show_on_scroll" t-value="request.website._get_dr_theme_config('bool_show_bottom_bar_onscroll')"></t>
<t t-set="total_component" t-value="len(components)"></t>
<t t-set="components_vals" t-value="request.website.get_theme_prime_bottom_bar_action_buttons()"></t>
<t t-set="need_two_drower" t-value="total_component &gt; 4"></t>
<t t-set="need_mobile_filters" t-value="request.website._get_dr_theme_config('bool_mobile_filters')"></t>
<div t-attf-class="tp-bottombar-component w-100 tp-bottombar-component-style-1 p-0 #{'tp-has-drower-element' if need_two_drower else ''} #{'tp-bottombar-not-visible' if show_on_scroll else ''}">
<div t-if="bins != None and need_mobile_filters" class="d-flex justify-content-around border-bottom">
<div class="py-2 w-50 text-center d-flex justify-content-center align-items-center">
<t t-set="tp_is_filters_activated" t-value="is_view_active('website_sale.products_attributes') or is_view_active('website_sale.products_categories')"/>
<div class="">
<h6 class="d-inline mr-1 tp-filter-bottom-sidebar-toggle">
<i class="fa fa-filter text-primary"></i> <span class="text-body"> Filters </span>
</h6>
</div>
</div>
<div t-if="is_view_active('website_sale.sort')" class="py-2 w-50 border-left text-center d-flex justify-content-center align-items-center">
<div class="dropdown dropdown_sorty_by">
<h6 class="d-inline mr-1"><i class="fa fa-sort-amount-desc text-primary"></i></h6>
<a role="button" href="#" class="dropdown-toggle text-body py-2 h6" data-toggle="dropdown">
<t t-if="len(website_sale_sortable_current)">
<t t-raw="website_sale_sortable_current[0][0]"/>
</t>
<t t-else="">
Default
</t>
</a>
<div class="dropdown-menu p-0" role="menu">
<t t-foreach="website_sale_sortable" t-as="sortby">
<a role="menuitem" rel="noindex,nofollow" t-att-href="keep('/shop', order=sortby[1])" t-attf-class="dropdown-item d-block #{sortby_index != 0 and 'border-top'} p-3">
<span t-raw="sortby[0]"/>
</a>
</t>
</div>
</div>
</div>
</div>
<ul class="list-inline my-2 px-5 d-flex tp-bottombar-main-element justify-content-between">
<t t-foreach="components" t-as="component">
<t t-set="button" t-value="components_vals[component]"></t>
<!-- at 3rd position if more then 4 elements given then we need second drawer -->
<t t-if="component_index == 2 and need_two_drower">
<li class="list-inline-item text-center tp-bottom-action-btn tp-drawer-action-btn align-items-center d-flex justify-content-center rounded-circle">
<a href="#" aria-label="Open menu"><i class="tp-drawer-icon fa fa-th"></i></a>
</li>
</t>
<t t-if="not need_two_drower or (component_index &lt;= 2 and need_two_drower) or total_component == 4">
<t t-call="theme_prime.tp_bottom_action_btn_component"></t>
</t>
</t>
<t t-call="theme_prime.tp_login_dropdown_component">
<t t-set="_btn_classes" t-value="'tp-bottom-action-btn'"></t>
<t t-set="_icon_classes" t-value="'tp-action-btn-icon'"></t>
<t t-set="_classes" t-value="'tp-bottom-action-btn'"></t>
<t t-set="action_label" t-value="'Account'"></t>
</t>
</ul>
<hr t-if="need_two_drower" class="mx-4"/>
<ul t-if="need_two_drower" class="list-inline d-flex my-2 px-5 tp-bottombar-secondary-element justify-content-between">
<t t-foreach="components" t-as="component">
<t t-set="button" t-value="components_vals[component]"></t>
<t t-if="component_index &gt;= 3">
<t t-call="theme_prime.tp_bottom_action_btn_component"></t>
</t>
</t>
</ul>
</div>
</template>
<template id="component_account_info" name="Component Account Info">
<li t-if="not no_search" class="list-inline-item">
<a href="#" class="tp-search-sidebar-action" t-att-data-search="search" data-placement="bottom" aria-label="Search">
<i class="dri dri-search o_not_editable"/>
</a>
<div t-if="show_title" class="mt-1 small text-body o_not_editable">Search</div>
</li>
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<li class="list-inline-item">
<a class="o_wsale_my_cart tp-cart-sidebar-action" href="/shop/cart">
<i class="dri dri-cart o_not_editable"/>
<sup class="my_cart_quantity badge badge-primary mb-0 font-weight-bold" t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" t-att-data-order-id="website_sale_order and website_sale_order.id or ''"/>
</a>
<div t-if="show_title" class="mt-1 small text-body o_not_editable">My Cart</div>
</li>
<t t-set="wishcount" t-value="len(request.env['product.wishlist'].current())"/>
<li class="list-inline-item">
<a class="o_wsale_my_wish" href="/shop/wishlist">
<i class="dri dri-wishlist o_not_editable"/>
<sup t-esc="wishcount" t-attf-class="my_wish_quantity o_animate_blink badge badge-primary"/>
</a>
<div t-if="show_title" class="mt-1 small text-body o_not_editable">Wishlist</div>
</li>
<t t-call="theme_prime.tp_login_dropdown_component"></t>
</template>
<template id="donation_component_account_info" name="Component Account Info">
<li t-if="not no_search" class="list-inline-item">
<a href="#" class="tp-search-sidebar-action" t-att-data-search="search" data-placement="bottom" aria-label="Search">
<i class="dri dri-search o_not_editable"/>
</a>
<div t-if="show_title" class="mt-1 small text-body o_not_editable">Search</div>
</li>
<t t-set="website_sale_order" t-value="website.sale_get_order()" />
<li class="list-inline-item">
<a class="o_wsale_my_cart tp-cart-sidebar-action" href="/shop/cart">
<i class="dri dri-cart o_not_editable"/>
<sup class="my_cart_quantity badge badge-primary mb-0 font-weight-bold" t-esc="website_sale_order and website_sale_order.cart_quantity or '0'" t-att-data-order-id="website_sale_order and website_sale_order.id or ''"/>
</a>
<div t-if="show_title" class="mt-1 small text-body o_not_editable">My Donations</div>
</li>
<t t-call="theme_prime.tp_donation_login_dropdown_component"></t>
</template>
<template id="component_language_pricelist" name="Component Language + Pricelist">
<t t-set="website_sale_pricelists" t-value="website.get_pricelist_available(show_visible=True)" />
<t t-set="language_selector_visible" t-value="len(languages) &gt; 1 or (website and (editable or translatable))"/>
<t t-set="pricelist_selector_visible" t-value="website_sale_pricelists and len(website_sale_pricelists)&gt;1"/>
<t t-set="curr_pl" t-value="website.get_current_pricelist()" />
<t t-set="active_lang" t-value="list(filter(lambda lg : lg[0] == lang, languages))[0]"/>
<t t-set="hide_country_flag" t-value="request.website._get_dr_theme_config('json_general_language_pricelist_selector')['hide_country_flag']"/>
<div t-if="language_selector_visible or pricelist_selector_visible" t-attf-class="#{language_selector_visible and 'js_language_selector' or None} #{_classes}">
<a t-attf-class="dropdown-toggle d-flex align-items-center #{_dropdown_classes}" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<t t-if="not only_symbols">
<t t-if="language_selector_visible and active_lang">
<t t-if="hide_country_flag">
<t t-esc="active_lang[2].split('/').pop()"/>
<t t-if="pricelist_selector_visible">
</t>
</t>
<t t-else="">
<t t-call="website.lang_flag">
<t t-set="flag_image_src" t-value="active_lang[4]"/>
</t>
</t>
</t>
<t t-if="pricelist_selector_visible and curr_pl">
<span class="ml-1" t-esc="curr_pl.name"/>
</t>
</t>
<t t-else="">
<t t-if="not hide_country_flag" t-call="website.lang_flag">
<t t-set="flag_image_src" t-value="active_lang[4]"/>
</t>
<t t-else="">
<i class="tp-action-btn-icon fa fa-language"></i>
</t>
<t t-if="pricelist_selector_visible and curr_pl">
<div class="tp-action-btn-label" style="margin-top: 0.2rem;">
<t t-esc="curr_pl.name"></t>
</div>
</t>
</t>
</a>
<div class="dropdown-menu" role="menu">
<t t-if="pricelist_selector_visible">
<li class="dropdown-item">
<select class="custom-select form-control tp-select-pricelist">
<t t-foreach="website_sale_pricelists" t-as="pl">
<option t-att-selected="pl.id == curr_pl.id and 'selected' or None" t-att-value="'/shop/change_pricelist/%s' % pl.id">
<t t-esc="pl.currency_id.symbol"/> <t t-esc="pl.name"/>
</option>
</t>
</select>
</li>
<li t-if="language_selector_visible" class="dropdown-divider"/>
</t>
<t t-if="language_selector_visible">
<t t-foreach="languages" t-as="lg">
<a t-att-href="url_for(request.httprequest.path + '?' + keep_query(), lang_code=lg[0])" class="dropdown-item js_change_lang" t-att-data-url_code="lg[1]">
<t t-if="not hide_country_flag">
<t t-call="website.lang_flag">
<t t-set="flag_image_src" t-value="lg[4]"/>
</t>
</t>
<span t-esc="lg[2].split('/').pop()"/>
</a>
<li class="dropdown-divider"/>
</t>
</t>
<t t-call="website.language_selector_add_language">
<t t-set="dropdown" t-value="True"/>
</t>
</div>
</div>
</template>
<template id="component_product_search_category_dropdown" name="Component Product Search Category Dropdown">
<t t-set="dr_categories" t-value="website._get_website_category()"/>
<div class="dropdown show tp-disable-open-on-hover tp-category-dropdown-container o_not_editable" t-if="dr_categories and website._get_dr_theme_config('bool_general_show_category_search')">
<a t-attf-class="btn dropdown-toggle d-flex align-items-center tp-category-dropdown h-100 #{_classes}" href="#" role="button" id="categoryDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="dri dri-category mr-2"/>
<span class="tp-active-text">All</span>
</a>
<div class="dropdown-menu" aria-labelledby="categoryDropdown">
<a class="dropdown-item" href="#">All</a>
<a t-foreach="dr_categories" t-as="categ" class="dropdown-item" href="#" t-att-data-id="categ.id">
<t t-esc="categ.name"/>
</a>
</div>
</div>
</template>
<!-- rating template -->
<template id="d_rating_widget_stars_static" name="Rating: static star widget">
<t t-set="rating_avg" t-value="round(rating_avg * 100) / 100"/>
<t t-set="val_decimal" t-value="round(rating_avg % 1, 1)"/>
<t t-set="val_integer" t-value="int(rating_avg)"/>
<t t-set="empty_star" t-value="5 - (val_integer+1) if val_decimal else 5 - val_integer"/>
<div t-if="rating_avg" class="o_website_rating_static" t-att-style="inline_mode and 'display:inline'" t-att-title="rating_avg">
<t t-foreach="range(0, val_integer)" t-as="num">
<i class="fa fa-star" role="img"></i>
</t>
<t t-if="val_decimal">
<i class="fa fa-star-half-o" role="img"></i>
</t>
<t t-foreach="range(0, empty_star)" t-as="num">
<i class="fa fa-star text-black-25" role="img"></i>
</t>
<span class="ml-1 text-body" t-if="rating_count">
<t t-esc="rating_avg"/>
<span class="ml-1">(<t t-esc="rating_count"/> Reviews)</span>
</span>
</div>
</template>
</odoo>