cosmetic
This commit is contained in:
parent
f5a689bcc8
commit
c308d538a3
3 changed files with 217 additions and 419 deletions
2
.github/copilot-instructions.md
vendored
2
.github/copilot-instructions.md
vendored
|
|
@ -83,7 +83,7 @@ Este repositorio contiene addons personalizados y modificados de Odoo 18.0. El p
|
||||||
Pedir al usuario generar a través de UI, no sabemos el método correcto para exportar SÓLO las cadenas del addon sin incluir todo el sistema.
|
Pedir al usuario generar a través de UI, no sabemos el método correcto para exportar SÓLO las cadenas del addon sin incluir todo el sistema.
|
||||||
```
|
```
|
||||||
|
|
||||||
Usar sólo polib para trataer los archivos .po, msmerge corrompe los archivos.
|
Usar sólo polib y apend cadenas en los archivos .po, msmerge corrompe los archivos.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
"summary": "Add default price category to suppliers and bulk update products",
|
"summary": "Add default price category to suppliers and bulk update products",
|
||||||
"author": "Odoo Community Association (OCA), Criptomart",
|
"author": "Odoo Community Association (OCA), Criptomart",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
|
"website": "https://git.criptomart.net/criptomart/addons-cm",
|
||||||
"depends": ["product_price_category", "sales_team", "product_main_seller"],
|
"depends": ["product_price_category", "sales_team", "product_main_seller"],
|
||||||
"data": [
|
"data": [
|
||||||
"security/ir.model.access.csv",
|
"security/ir.model.access.csv",
|
||||||
|
|
|
||||||
|
|
@ -5,29 +5,19 @@
|
||||||
<!-- Template: Group Orders Page (Eskaera) -->
|
<!-- Template: Group Orders Page (Eskaera) -->
|
||||||
<template id="eskaera_page" name="Eskaera Page">
|
<template id="eskaera_page" name="Eskaera Page">
|
||||||
<t t-call="website.layout">
|
<t t-call="website.layout">
|
||||||
<div
|
<div id="wrap" class="eskaera-page oe_structure oe_empty" data-name="Eskaera Orders">
|
||||||
id="wrap"
|
|
||||||
class="eskaera-page oe_structure oe_empty"
|
|
||||||
data-name="Eskaera Orders"
|
|
||||||
>
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<h1>Available Orders</h1>
|
<h1>Available Orders</h1>
|
||||||
<p
|
<p class="text-muted" role="status">Browse and select an order to view its products.</p>
|
||||||
class="text-muted"
|
|
||||||
role="status"
|
|
||||||
>Browse and select an order to view its products.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mt-4">
|
<div class="row mt-4">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<!-- Editable area: Above orders list -->
|
<!-- Editable area: Above orders list -->
|
||||||
<div
|
<div class="oe_structure oe_empty" data-name="Before Orders" />
|
||||||
class="oe_structure oe_empty"
|
|
||||||
data-name="Before Orders"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<t t-if="active_orders">
|
<t t-if="active_orders">
|
||||||
<div
|
<div
|
||||||
|
|
@ -317,13 +307,8 @@
|
||||||
</t>
|
</t>
|
||||||
<t t-else="">
|
<t t-else="">
|
||||||
<div class="eskaera-empty-state">
|
<div class="eskaera-empty-state">
|
||||||
<div
|
<div class="alert alert-info" role="status" aria-live="polite">
|
||||||
class="alert alert-info"
|
<p>No group orders available this week.</p>
|
||||||
role="status"
|
|
||||||
aria-live="polite"
|
|
||||||
>
|
|
||||||
<p
|
|
||||||
>No group orders available this week.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
|
|
@ -386,10 +371,7 @@
|
||||||
<t t-esc="_('Thank you! Your order has been confirmed.')" />
|
<t t-esc="_('Thank you! Your order has been confirmed.')" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template
|
<template id="confirm_pickup_label_snippet" name="Confirm Pickup Label Snippet">
|
||||||
id="confirm_pickup_label_snippet"
|
|
||||||
name="Confirm Pickup Label Snippet"
|
|
||||||
>
|
|
||||||
<t t-esc="_('Pickup Day')" />
|
<t t-esc="_('Pickup Day')" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -397,25 +379,14 @@
|
||||||
<template id="order_header" name="Order Header">
|
<template id="order_header" name="Order Header">
|
||||||
<div t-att-class="header_class or 'eskaera-order-header'">
|
<div t-att-class="header_class or 'eskaera-order-header'">
|
||||||
<div class="d-flex gap-5 align-items-center mb-4">
|
<div class="d-flex gap-5 align-items-center mb-4">
|
||||||
<t
|
<t t-set="image_to_show" t-value="group_order.image or (group_order.group_ids[0].image_1920 if group_order.group_ids else False)" />
|
||||||
t-set="image_to_show"
|
|
||||||
t-value="group_order.image or (group_order.group_ids[0].image_1920 if group_order.group_ids else False)"
|
|
||||||
/>
|
|
||||||
<t t-if="image_to_show">
|
<t t-if="image_to_show">
|
||||||
<img
|
<img t-att-src="image_data_uri(image_to_show)" alt="Order image" class="order-thumbnail-md" />
|
||||||
t-att-src="image_data_uri(image_to_show)"
|
|
||||||
alt="Order image"
|
|
||||||
class="order-thumbnail-md"
|
|
||||||
/>
|
|
||||||
</t>
|
</t>
|
||||||
<div class="flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<h1 class="mb-2"><t
|
<h1 class="mb-2"><t t-esc="header_title or group_order.name" /></h1>
|
||||||
t-esc="header_title or group_order.name"
|
|
||||||
/></h1>
|
|
||||||
<t t-if="group_order.description">
|
<t t-if="group_order.description">
|
||||||
<p class="text-muted mb-0 order-desc-full"><t
|
<p class="text-muted mb-0 order-desc-full"><t t-esc="group_order.description" /></p>
|
||||||
t-esc="group_order.description"
|
|
||||||
/></p>
|
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -425,41 +396,24 @@
|
||||||
<!-- Template: Group Order Shop (Eskaera) -->
|
<!-- Template: Group Order Shop (Eskaera) -->
|
||||||
<template id="eskaera_shop" name="Eskaera Shop">
|
<template id="eskaera_shop" name="Eskaera Shop">
|
||||||
<t t-call="website.layout">
|
<t t-call="website.layout">
|
||||||
<div
|
<div id="wrap" class="eskaera-shop-page oe_structure oe_empty" data-name="Eskaera Shop">
|
||||||
id="wrap"
|
|
||||||
class="eskaera-shop-page oe_structure oe_empty"
|
|
||||||
data-name="Eskaera Shop"
|
|
||||||
>
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- Order Header Info Panel -->
|
<!-- Order Header Info Panel -->
|
||||||
<div class="row mb-4">
|
<div class="row mb-4">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<t t-call="website_sale_aplicoop.order_header">
|
<t t-call="website_sale_aplicoop.order_header">
|
||||||
<t
|
<t t-set="header_class" t-value="'eskaera-order-header'" />
|
||||||
t-set="header_class"
|
|
||||||
t-value="'eskaera-order-header'"
|
|
||||||
/>
|
|
||||||
</t>
|
</t>
|
||||||
<div class="eskaera-order-header">
|
<div class="eskaera-order-header">
|
||||||
<div class="order-info-grid">
|
<div class="order-info-grid">
|
||||||
<div class="info-item">
|
<div class="info-item">
|
||||||
<span
|
<span t-att-class="'info-label'">Consumer Groups</span>
|
||||||
t-att-class="'info-label'"
|
<span class="info-value"><t t-esc="', '.join(group_order.group_ids.mapped('name'))" /></span>
|
||||||
>Consumer Groups</span>
|
|
||||||
<span class="info-value"><t
|
|
||||||
t-esc="', '.join(group_order.group_ids.mapped('name'))"
|
|
||||||
/></span>
|
|
||||||
</div>
|
</div>
|
||||||
<t t-if="group_order.cutoff_day">
|
<t t-if="group_order.cutoff_day">
|
||||||
<div class="info-item">
|
<div class="info-item">
|
||||||
<span
|
<span t-att-class="'info-label'">Cutoff Day</span>
|
||||||
t-att-class="'info-label'"
|
<span class="info-value"><t t-esc="day_names[int(group_order.cutoff_day) % 7]" /> (<t t-esc="group_order.cutoff_date.strftime('%d/%m/%Y')" />)</span>
|
||||||
>Cutoff Day</span>
|
|
||||||
<span class="info-value"><t
|
|
||||||
t-esc="day_names[int(group_order.cutoff_day) % 7]"
|
|
||||||
/> (<t
|
|
||||||
t-esc="group_order.cutoff_date.strftime('%d/%m/%Y')"
|
|
||||||
/>)</span>
|
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
<t t-if="group_order.pickup_day">
|
<t t-if="group_order.pickup_day">
|
||||||
|
|
@ -519,31 +473,14 @@
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<!-- CRITICAL: This input is NOT inside a form to prevent Odoo from transforming it -->
|
<!-- CRITICAL: This input is NOT inside a form to prevent Odoo from transforming it -->
|
||||||
<!-- It must remain a pure HTML input element for realtime_search.js to detect value changes -->
|
<!-- It must remain a pure HTML input element for realtime_search.js to detect value changes -->
|
||||||
<input
|
<input type="text" id="realtime-search-input" class="form-control realtime-search-box search-input-styled" placeholder="Search products..." autocomplete="off" />
|
||||||
type="text"
|
|
||||||
id="realtime-search-input"
|
|
||||||
class="form-control realtime-search-box search-input-styled"
|
|
||||||
placeholder="Search products..."
|
|
||||||
autocomplete="off"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<select
|
<select name="category" id="realtime-category-select" class="form-select">
|
||||||
name="category"
|
<option value="">Browse Product Categories</option>
|
||||||
id="realtime-category-select"
|
|
||||||
class="form-select"
|
|
||||||
>
|
|
||||||
<option
|
|
||||||
value=""
|
|
||||||
>Browse Product Categories</option>
|
|
||||||
<!-- Macro para renderizar categorías recursivamente -->
|
<!-- Macro para renderizar categorías recursivamente -->
|
||||||
<t
|
<t t-call="website_sale_aplicoop.category_hierarchy_options">
|
||||||
t-call="website_sale_aplicoop.category_hierarchy_options"
|
<t t-set="categories" t-value="category_hierarchy" />
|
||||||
>
|
|
||||||
<t
|
|
||||||
t-set="categories"
|
|
||||||
t-value="category_hierarchy"
|
|
||||||
/>
|
|
||||||
<t t-set="depth" t-value="0" />
|
<t t-set="depth" t-value="0" />
|
||||||
</t>
|
</t>
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -607,10 +544,7 @@
|
||||||
<!-- Products Column -->
|
<!-- Products Column -->
|
||||||
<div class="col-lg-9">
|
<div class="col-lg-9">
|
||||||
<!-- Editable area: Above search/filter -->
|
<!-- Editable area: Above search/filter -->
|
||||||
<div
|
<div class="oe_structure oe_empty" data-name="Before Products Filter" />
|
||||||
class="oe_structure oe_empty"
|
|
||||||
data-name="Before Products Filter"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<t t-if="products">
|
<t t-if="products">
|
||||||
<div class="products-grid">
|
<div class="products-grid">
|
||||||
|
|
@ -827,11 +761,7 @@
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
<t t-else="">
|
<t t-else="">
|
||||||
<div
|
<div class="alert alert-warning" role="status" aria-live="polite">
|
||||||
class="alert alert-warning"
|
|
||||||
role="status"
|
|
||||||
aria-live="polite"
|
|
||||||
>
|
|
||||||
<p>No products available in this order.</p>
|
<p>No products available in this order.</p>
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
|
|
@ -851,25 +781,10 @@
|
||||||
<div
|
<div
|
||||||
class="card-header d-flex justify-content-between align-items-center gap-1"
|
class="card-header d-flex justify-content-between align-items-center gap-1"
|
||||||
>
|
>
|
||||||
<h6
|
<h6 class="mb-0 cart-title-sm" id="cart-title">My Cart</h6>
|
||||||
class="mb-0 cart-title-sm"
|
<div class="btn-group cart-btn-group gap-0" role="group">
|
||||||
id="cart-title"
|
<button type="button" class="btn btn-primary cart-btn-compact" id="save-cart-btn" t-attf-data-order-id="{{ group_order.id }}" data-bs-title="Save Cart" data-bs-toggle="tooltip">
|
||||||
>My Cart</h6>
|
<i class="fa fa-save cart-icon-size" />
|
||||||
<div
|
|
||||||
class="btn-group cart-btn-group gap-0"
|
|
||||||
role="group"
|
|
||||||
>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="btn btn-primary cart-btn-compact"
|
|
||||||
id="save-cart-btn"
|
|
||||||
t-attf-data-order-id="{{ group_order.id }}"
|
|
||||||
data-bs-title="Save Cart"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="fa fa-save cart-icon-size"
|
|
||||||
/>
|
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|
@ -897,25 +812,11 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="card-body cart-body-lg" id="cart-items-container" t-attf-data-order-id="{{ group_order.id }}" aria-labelledby="cart-title" aria-live="polite" aria-relevant="additions removals">
|
||||||
class="card-body cart-body-lg"
|
<p class="text-muted">This order's cart is empty</p>
|
||||||
id="cart-items-container"
|
|
||||||
t-attf-data-order-id="{{ group_order.id }}"
|
|
||||||
aria-labelledby="cart-title"
|
|
||||||
aria-live="polite"
|
|
||||||
aria-relevant="additions removals"
|
|
||||||
>
|
|
||||||
<p class="text-muted">
|
|
||||||
This order's cart is empty
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card-footer bg-white text-center">
|
<div class="card-footer bg-white text-center">
|
||||||
<a
|
<a t-attf-href="/eskaera/{{ group_order.id }}/checkout" class="btn btn-success checkout-btn-lg" data-bs-title="Proceed to Checkout" data-bs-toggle="tooltip">
|
||||||
t-attf-href="/eskaera/{{ group_order.id }}/checkout"
|
|
||||||
class="btn btn-success checkout-btn-lg"
|
|
||||||
data-bs-title="Proceed to Checkout"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
>
|
|
||||||
Proceed to Checkout
|
Proceed to Checkout
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -927,33 +828,15 @@
|
||||||
|
|
||||||
<!-- Scripts (in dependency order) -->
|
<!-- Scripts (in dependency order) -->
|
||||||
<!-- Load i18n_manager first - fetches translations from server -->
|
<!-- Load i18n_manager first - fetches translations from server -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/i18n_manager.js" />
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/i18n_manager.js"
|
|
||||||
/>
|
|
||||||
<!-- Keep legacy helpers for backwards compatibility -->
|
<!-- Keep legacy helpers for backwards compatibility -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/i18n_helpers.js" />
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/i18n_helpers.js"
|
|
||||||
/>
|
|
||||||
<!-- Main shop functionality (depends on i18nManager) -->
|
<!-- Main shop functionality (depends on i18nManager) -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/website_sale.js" />
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/website_sale.js"
|
|
||||||
/>
|
|
||||||
<!-- UI enhancements -->
|
<!-- UI enhancements -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/checkout_labels.js" />
|
||||||
type="text/javascript"
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/home_delivery.js" />
|
||||||
src="/website_sale_aplicoop/static/src/js/checkout_labels.js"
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/realtime_search.js" />
|
||||||
/>
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/home_delivery.js"
|
|
||||||
/>
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/realtime_search.js"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- Initialize tooltips using native title attribute -->
|
<!-- Initialize tooltips using native title attribute -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
@ -996,10 +879,7 @@
|
||||||
<!-- Sub-template: Checkout Order Summary Table with Translations -->
|
<!-- Sub-template: Checkout Order Summary Table with Translations -->
|
||||||
<template id="eskaera_checkout_summary" name="Checkout Order Summary">
|
<template id="eskaera_checkout_summary" name="Checkout Order Summary">
|
||||||
<div class="checkout-summary-container">
|
<div class="checkout-summary-container">
|
||||||
<table
|
<table class="table table-hover checkout-summary-table" id="checkout-summary-table">
|
||||||
class="table table-hover checkout-summary-table"
|
|
||||||
id="checkout-summary-table"
|
|
||||||
>
|
|
||||||
<thead class="table-dark">
|
<thead class="table-dark">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="col-name">Product</th>
|
<th class="col-name">Product</th>
|
||||||
|
|
@ -1020,10 +900,7 @@
|
||||||
<div class="checkout-total-section">
|
<div class="checkout-total-section">
|
||||||
<div class="total-row">
|
<div class="total-row">
|
||||||
<span class="total-label">Total</span>:
|
<span class="total-label">Total</span>:
|
||||||
<span
|
<span class="total-amount" id="checkout-total-amount">0.00</span>
|
||||||
class="total-amount"
|
|
||||||
id="checkout-total-amount"
|
|
||||||
>0.00</span>
|
|
||||||
<span class="currency">€</span>
|
<span class="currency">€</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1033,35 +910,15 @@
|
||||||
<!-- Template: Group Order Checkout (Eskaera) -->
|
<!-- Template: Group Order Checkout (Eskaera) -->
|
||||||
<template id="eskaera_checkout" name="Eskaera Checkout">
|
<template id="eskaera_checkout" name="Eskaera Checkout">
|
||||||
<t t-call="website.layout">
|
<t t-call="website.layout">
|
||||||
<div
|
<div id="wrap" class="eskaera-checkout-page oe_structure oe_empty" data-name="Eskaera Checkout" t-attf-data-delivery-product-id="{{ delivery_product_id }}" t-attf-data-delivery-product-name="{{ delivery_product_name }}" t-attf-data-delivery-product-price="{{ delivery_product_price }}" t-attf-data-home-delivery-enabled="{{ 'true' if group_order.home_delivery else 'false' }}" t-attf-data-pickup-day="{{ group_order.pickup_day }}" t-attf-data-pickup-date="{{ group_order.pickup_date.strftime('%d/%m/%Y') if group_order.pickup_date else '' }}" t-attf-data-delivery-notice="{{ (group_order.delivery_notice or '').replace(chr(10), ' ').replace(chr(13), ' ') }}">
|
||||||
id="wrap"
|
|
||||||
class="eskaera-checkout-page oe_structure oe_empty"
|
|
||||||
data-name="Eskaera Checkout"
|
|
||||||
t-attf-data-delivery-product-id="{{ delivery_product_id }}"
|
|
||||||
t-attf-data-delivery-product-name="{{ delivery_product_name }}"
|
|
||||||
t-attf-data-delivery-product-price="{{ delivery_product_price }}"
|
|
||||||
t-attf-data-home-delivery-enabled="{{ 'true' if group_order.home_delivery else 'false' }}"
|
|
||||||
t-attf-data-pickup-day="{{ group_order.pickup_day }}"
|
|
||||||
t-attf-data-pickup-date="{{ group_order.pickup_date.strftime('%d/%m/%Y') if group_order.pickup_date else '' }}"
|
|
||||||
t-attf-data-delivery-notice="{{ (group_order.delivery_notice or '').replace(chr(10), ' ').replace(chr(13), ' ') }}"
|
|
||||||
>
|
|
||||||
<div class="container mt-5">
|
<div class="container mt-5">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-10 offset-lg-1">
|
<div class="col-lg-10 offset-lg-1">
|
||||||
<!-- Header Section -->
|
<!-- Header Section -->
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<t
|
<t t-call="website_sale_aplicoop.order_header">
|
||||||
t-call="website_sale_aplicoop.order_header"
|
<t t-set="header_class" t-value="'checkout-header'" />
|
||||||
>
|
<t t-set="header_title">Confirm Order: <t t-esc="group_order.name" /></t>
|
||||||
<t
|
|
||||||
t-set="header_class"
|
|
||||||
t-value="'checkout-header'"
|
|
||||||
/>
|
|
||||||
<t
|
|
||||||
t-set="header_title"
|
|
||||||
>Confirm Order: <t
|
|
||||||
t-esc="group_order.name"
|
|
||||||
/></t>
|
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1208,16 +1065,8 @@
|
||||||
<div class="card border-0 shadow-sm mb-4">
|
<div class="card border-0 shadow-sm mb-4">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input
|
<input type="checkbox" class="form-check-input" id="home-delivery-checkbox" name="home_delivery" />
|
||||||
type="checkbox"
|
<label class="form-check-label fw-bold" for="home-delivery-checkbox">Home Delivery</label>
|
||||||
class="form-check-input"
|
|
||||||
id="home-delivery-checkbox"
|
|
||||||
name="home_delivery"
|
|
||||||
/>
|
|
||||||
<label
|
|
||||||
class="form-check-label fw-bold"
|
|
||||||
for="home-delivery-checkbox"
|
|
||||||
>Home Delivery</label>
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
id="delivery-info-alert"
|
id="delivery-info-alert"
|
||||||
|
|
@ -1295,39 +1144,13 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Action Buttons -->
|
<!-- Action Buttons -->
|
||||||
<div
|
<div class="checkout-actions d-grid gap-3" id="checkout-form-labels">
|
||||||
class="checkout-actions d-grid gap-3"
|
<button class="btn btn-success btn-lg" id="confirm-order-btn" t-attf-data-order-id="{{ group_order.id }}" data-confirmed-label="Order confirmed" data-pickup-label="Pickup Day" aria-label="Confirm and send order" data-bs-title="Confirm Order" data-bs-toggle="tooltip">
|
||||||
id="checkout-form-labels"
|
<i class="fa fa-check-circle" aria-hidden="true" t-translation="off" />
|
||||||
>
|
|
||||||
<button
|
|
||||||
class="btn btn-success btn-lg"
|
|
||||||
id="confirm-order-btn"
|
|
||||||
t-attf-data-order-id="{{ group_order.id }}"
|
|
||||||
data-confirmed-label="Order confirmed"
|
|
||||||
data-pickup-label="Pickup Day"
|
|
||||||
aria-label="Confirm and send order"
|
|
||||||
data-bs-title="Confirm Order"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="fa fa-check-circle"
|
|
||||||
aria-hidden="true"
|
|
||||||
t-translation="off"
|
|
||||||
/>
|
|
||||||
<span>Confirm Order</span>
|
<span>Confirm Order</span>
|
||||||
</button>
|
</button>
|
||||||
<a
|
<a t-attf-href="/eskaera/{{ group_order.id }}" class="btn btn-outline-secondary btn-lg" aria-label="Back to cart page" data-bs-title="Back to Cart" data-bs-toggle="tooltip">
|
||||||
t-attf-href="/eskaera/{{ group_order.id }}"
|
<i class="fa fa-arrow-left" aria-hidden="true" t-translation="off" />
|
||||||
class="btn btn-outline-secondary btn-lg"
|
|
||||||
aria-label="Back to cart page"
|
|
||||||
data-bs-title="Back to Cart"
|
|
||||||
data-bs-toggle="tooltip"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="fa fa-arrow-left"
|
|
||||||
aria-hidden="true"
|
|
||||||
t-translation="off"
|
|
||||||
/>
|
|
||||||
<span>Back to Cart</span>
|
<span>Back to Cart</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1350,33 +1173,15 @@
|
||||||
</script>
|
</script>
|
||||||
<!-- Scripts (in dependency order) -->
|
<!-- Scripts (in dependency order) -->
|
||||||
<!-- Load i18n_manager first - fetches translations from server -->
|
<!-- Load i18n_manager first - fetches translations from server -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/i18n_manager.js" />
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/i18n_manager.js"
|
|
||||||
/>
|
|
||||||
<!-- Keep legacy helpers for backwards compatibility -->
|
<!-- Keep legacy helpers for backwards compatibility -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/i18n_helpers.js" />
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/i18n_helpers.js"
|
|
||||||
/>
|
|
||||||
<!-- Main shop functionality (depends on i18nManager) -->
|
<!-- Main shop functionality (depends on i18nManager) -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/website_sale.js" />
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/website_sale.js"
|
|
||||||
/>
|
|
||||||
<!-- UI enhancements -->
|
<!-- UI enhancements -->
|
||||||
<script
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/checkout_labels.js" />
|
||||||
type="text/javascript"
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/home_delivery.js" />
|
||||||
src="/website_sale_aplicoop/static/src/js/checkout_labels.js"
|
<script type="text/javascript" src="/website_sale_aplicoop/static/src/js/checkout_summary.js" />
|
||||||
/>
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/home_delivery.js"
|
|
||||||
/>
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="/website_sale_aplicoop/static/src/js/checkout_summary.js"
|
|
||||||
/>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// Auto-load cart from localStorage when accessing checkout directly
|
// Auto-load cart from localStorage when accessing checkout directly
|
||||||
(function() {
|
(function() {
|
||||||
|
|
@ -1413,10 +1218,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- Recursive macro to render category hierarchy for select dropdown -->
|
<!-- Recursive macro to render category hierarchy for select dropdown -->
|
||||||
<template
|
<template id="category_hierarchy_options" name="Category Hierarchy Options">
|
||||||
id="category_hierarchy_options"
|
|
||||||
name="Category Hierarchy Options"
|
|
||||||
>
|
|
||||||
<!--
|
<!--
|
||||||
Macro para renderizar recursivamente la jerarquía de categorías.
|
Macro para renderizar recursivamente la jerarquía de categorías.
|
||||||
Todas las categorías son seleccionables, indentadas por profundidad.
|
Todas las categorías son seleccionables, indentadas por profundidad.
|
||||||
|
|
@ -1434,18 +1236,13 @@
|
||||||
</t>
|
</t>
|
||||||
|
|
||||||
<!-- Renderizar como opción indentada y seleccionable -->
|
<!-- Renderizar como opción indentada y seleccionable -->
|
||||||
<option
|
<option t-att-value="str(cat['id'])" t-attf-style="padding-left: {{ padding_px }}px;">
|
||||||
t-att-value="str(cat['id'])"
|
|
||||||
t-attf-style="padding-left: {{ padding_px }}px;"
|
|
||||||
>
|
|
||||||
<t t-esc="prefix" /><t t-esc="cat['name']" />
|
<t t-esc="prefix" /><t t-esc="cat['name']" />
|
||||||
</option>
|
</option>
|
||||||
|
|
||||||
<!-- Renderizar hijos recursivamente si existen -->
|
<!-- Renderizar hijos recursivamente si existen -->
|
||||||
<t t-if="cat['children']">
|
<t t-if="cat['children']">
|
||||||
<t
|
<t t-call="website_sale_aplicoop.category_hierarchy_options">
|
||||||
t-call="website_sale_aplicoop.category_hierarchy_options"
|
|
||||||
>
|
|
||||||
<t t-set="categories" t-value="cat['children']" />
|
<t t-set="categories" t-value="cat['children']" />
|
||||||
<t t-set="depth" t-value="depth + 1" />
|
<t t-set="depth" t-value="depth + 1" />
|
||||||
</t>
|
</t>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue