sale_management/views/sale_portal_templates.xml

107 lines
5.8 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="sale_order_portal_content_inherit_sale_management" name="Order Options" inherit_id="sale.sale_order_portal_content">
<xpath expr="//section[@id='details']//t[@t-set='display_discount']" position="after">
<t t-set="display_remove" t-value="sale_order._can_be_edited_on_portal() and any(line._can_be_edited_on_portal() for line in sale_order.order_line)"/>
</xpath>
<xpath expr="//section[@id='details']//table[@id='sales_order_table']/thead/tr" position="inside">
<!-- add blank Tr in thead for layout conciseness -->
<th t-if="display_remove">
</th>
</xpath>
<xpath expr="//section[@id='details']//t[@t-if='not line.display_type']" position="inside">
<td class="text-center" t-if="display_remove">
<a t-if="line._can_be_edited_on_portal()"
t-att-data-line-id="line.id"
t-att-data-unlink="True"
href="#"
class="mb8 js_update_line_json d-print-none"
aria-label="Remove"
title="Remove">
<span class="fa fa-trash-o"></span>
</a>
</td>
</xpath>
<xpath expr="//section[@id='signature']" position="after">
<t t-if="sale_order._can_be_edited_on_portal() and any((not option.is_present) for option in sale_order.sale_order_option_ids)">
<section>
<h3>Options</h3>
<t t-set="display_discount" t-value="True in [option.discount > 0 for option in sale_order.sale_order_option_ids]"/>
<table class="table table-sm">
<thead>
<tr>
<th class="text-start">Product</th>
<th t-if="display_discount" class="text-end">Disc.%
</th>
<th class="text-end">Unit Price</th>
<th t-if="sale_order._can_be_edited_on_portal() and report_type == 'html'"></th>
</tr>
</thead>
<tbody>
<tr t-foreach="sale_order.sale_order_option_ids" t-as="option">
<t t-if="not option.is_present">
<td>
<div t-field="option.name"/>
</td>
<td t-if="display_discount" class="text-end">
<strong t-if="option.discount" class="text-info">
<t t-out="((option.discount % 1) and '%s' or '%d') % option.discount"/>%
</strong>
</td>
<td>
<strong class="text-end">
<div t-field="option.price_unit"
t-options='{"widget": "monetary", "display_currency": sale_order.currency_id}'
t-att-style="option.discount and 'text-decoration: line-through' or None"
t-att-class="option.discount and 'text-danger' or None"/>
<div t-if="option.discount">
<t t-out="(1-option.discount / 100.0) * option.price_unit" t-options='{"widget": "monetary", "display_currency": sale_order.currency_id}'/>
</div>
</strong>
</td>
<td class="text-center" t-if="sale_order._can_be_edited_on_portal() and report_type == 'html'">
<a t-att-data-option-id="option.id" href="#" class="mb8 js_add_optional_products d-print-none" aria-label="Add to cart" title="Add to cart">
<span class="fa fa-shopping-cart"/>
</a>
</td>
</t>
</tr>
</tbody>
</table>
</section>
</t>
</xpath>
<xpath expr="//section[@id='details']//div[@id='quote_qty']" position="replace">
<t t-if="line._can_be_edited_on_portal()">
<div class="input-group js_quantity_container pull-right">
<span class="d-print-none input-group-text d-none d-md-inline-block">
<a t-att-data-line-id="line.id" t-att-data-remove="True" href="#" class="js_update_line_json" aria-label="Remove one" title="Remove one">
<span class="fa fa-minus"/>
</a>
</span>
<!-- TODO add uom in this case too -->
<input type="text" class="js_quantity form-control" t-att-data-line-id="line.id" t-att-value="line.product_uom_qty"/>
<span class="d-print-none input-group-text d-none d-md-inline-block">
<a t-att-data-line-id="line.id" href="#" class="js_update_line_json" aria-label="Add one" title="Add one">
<span class="fa fa-plus"/>
</a>
</span>
</div>
</t>
<t t-else="">
<span t-field="line.product_uom_qty"/>
<span t-field="line.product_uom"/>
</t>
</xpath>
</template>
</odoo>