mover campos de compra colectiva a su página propia dentro del notebook
This commit is contained in:
parent
5de7573fba
commit
4c1813a811
3 changed files with 43 additions and 4 deletions
|
|
@ -104,8 +104,13 @@
|
||||||
.product-tags {
|
.product-tags {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
align-content: center;
|
||||||
gap: var(--ac-space-3xs);
|
gap: var(--ac-space-3xs);
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
/* Reserved even when a product has no tags (rendered empty, aria-hidden —
|
||||||
|
see eskaera_shop_products), so the supplier/origin/price rows below line
|
||||||
|
up across every card in the grid row. Matches one row of .badge-km. */
|
||||||
|
min-height: calc(var(--ac-text-2xs) * var(--ac-leading-tight) + 2 * var(--ac-space-3xs) + 2px);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -126,15 +131,35 @@
|
||||||
|
|
||||||
/* ---------- Supplier & origin ---------- */
|
/* ---------- Supplier & origin ---------- */
|
||||||
|
|
||||||
|
/* Both rows are reserved even when empty (rendered aria-hidden — see
|
||||||
|
eskaera_shop_products) and clamped to a fixed line count, so the price row
|
||||||
|
below lines up across every card in the grid row regardless of which
|
||||||
|
products actually have a supplier name or an origin. */
|
||||||
.product-card .product-supplier,
|
.product-card .product-supplier,
|
||||||
.product-card .product-origin {
|
.product-card .product-origin {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
overflow: hidden;
|
||||||
font-size: var(--ac-text-xs);
|
font-size: var(--ac-text-xs);
|
||||||
font-weight: var(--ac-weight-normal);
|
font-weight: var(--ac-weight-normal);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: var(--ac-text-secondary);
|
color: var(--ac-text-secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.product-card .product-supplier {
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
line-clamp: 2;
|
||||||
|
min-height: calc(2em * var(--ac-leading-tight));
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-card .product-origin {
|
||||||
|
min-height: calc(1em * var(--ac-leading-tight));
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
.product-card .product-origin .fa {
|
.product-card .product-origin .fa {
|
||||||
margin-right: var(--ac-space-3xs);
|
margin-right: var(--ac-space-3xs);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
<field name="model">sale.order</field>
|
<field name="model">sale.order</field>
|
||||||
<field name="inherit_id" ref="sale.view_order_form" />
|
<field name="inherit_id" ref="sale.view_order_form" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<!-- Add group purchase fields in the general information section -->
|
<xpath expr="//notebook" position="inside">
|
||||||
<xpath expr="//field[@name='note']" position="before">
|
<page string="Group Purchase Information" groups="base.group_user">
|
||||||
<group string="Group Purchase Information" groups="base.group_user">
|
<group string="Group Purchase Information" groups="base.group_user">
|
||||||
<field name="group_order_id" readonly="True" />
|
<field name="group_order_id" readonly="True" />
|
||||||
<field name="consumer_group_id" readonly="True" />
|
<field name="consumer_group_id" readonly="True" />
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
<field name="pickup_date" readonly="True" />
|
<field name="pickup_date" readonly="True" />
|
||||||
<field name="home_delivery" readonly="True" />
|
<field name="home_delivery" readonly="True" />
|
||||||
</group>
|
</group>
|
||||||
|
</page>
|
||||||
</xpath>
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
||||||
|
|
@ -658,6 +658,10 @@
|
||||||
</t>
|
</t>
|
||||||
<div class="card-body d-flex flex-column">
|
<div class="card-body d-flex flex-column">
|
||||||
<h6 class="card-title" t-esc="product.name" />
|
<h6 class="card-title" t-esc="product.name" />
|
||||||
|
<!-- Tags/supplier/origin always occupy their slot (empty and
|
||||||
|
aria-hidden when the product has no value) so that the price
|
||||||
|
row below lines up across every card in the grid row,
|
||||||
|
regardless of which optional fields a given product has. -->
|
||||||
<t t-if="product.product_tag_ids">
|
<t t-if="product.product_tag_ids">
|
||||||
<div class="product-tags">
|
<div class="product-tags">
|
||||||
<t t-foreach="filtered_product_tags.get(product.id, {}).get('published_tags', product.product_tag_ids)" t-as="tag">
|
<t t-foreach="filtered_product_tags.get(product.id, {}).get('published_tags', product.product_tag_ids)" t-as="tag">
|
||||||
|
|
@ -672,6 +676,9 @@
|
||||||
</t>
|
</t>
|
||||||
</div>
|
</div>
|
||||||
</t>
|
</t>
|
||||||
|
<t t-else="">
|
||||||
|
<div class="product-tags" aria-hidden="true" />
|
||||||
|
</t>
|
||||||
<t t-if="product_supplier_info.get(product.id)">
|
<t t-if="product_supplier_info.get(product.id)">
|
||||||
<p class="product-supplier">
|
<p class="product-supplier">
|
||||||
<small>
|
<small>
|
||||||
|
|
@ -679,6 +686,9 @@
|
||||||
</small>
|
</small>
|
||||||
</p>
|
</p>
|
||||||
</t>
|
</t>
|
||||||
|
<t t-else="">
|
||||||
|
<p class="product-supplier" aria-hidden="true" />
|
||||||
|
</t>
|
||||||
<t t-if="product.origin_text">
|
<t t-if="product.origin_text">
|
||||||
<p class="product-origin">
|
<p class="product-origin">
|
||||||
<small>
|
<small>
|
||||||
|
|
@ -687,6 +697,9 @@
|
||||||
</small>
|
</small>
|
||||||
</p>
|
</p>
|
||||||
</t>
|
</t>
|
||||||
|
<t t-else="">
|
||||||
|
<p class="product-origin" aria-hidden="true" />
|
||||||
|
</t>
|
||||||
<t t-set="price_info" t-value="product_price_info.get(product.id, {})" />
|
<t t-set="price_info" t-value="product_price_info.get(product.id, {})" />
|
||||||
<t t-set="display_price" t-value="product_display_info.get(product.id, {}).get('display_price', 0.0)" />
|
<t t-set="display_price" t-value="product_display_info.get(product.id, {}).get('display_price', 0.0)" />
|
||||||
<t t-set="base_price" t-value="price_info.get('list_price', product.list_price)" />
|
<t t-set="base_price" t-value="price_info.get('list_price', product.list_price)" />
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue