return [r["product_tmpl_id"][0] for r in att]
@http.route(['/shop/pricelist'], type='http', auth="public", website=True, multilang=True)
- def shop_promo(self, code, **post):
- assert code, 'No pricelist code provided'
- request.registry['website']._ecommerce_change_pricelist(request.cr, request.uid, code=code, context=request.context)
- return request.redirect("/shop")
+ def shop_promo(self, promo=None, **post):
+ request.registry['website']._ecommerce_change_pricelist(request.cr, request.uid, code=promo, context=request.context)
+ return request.redirect("/shop/mycart/")
@http.route([
'/shop/',
order = request.registry['sale.order'].browse(cr, SUPERUSER_ID, sale_order_id, context=context)
assert order.website_session_id == request.httprequest.session['website_session_id']
+ self._ecommerce_change_pricelist(cr, uid, None, context=None)
+
return request.website.render("website_sale.confirmation", {'order': order})
@http.route(['/shop/change_sequence/'], type='json', auth="public", website=True)
values.update(order.onchange_pricelist_id(pricelist_id, None)['value'])
order.write(values)
for line in order.order_line:
- self.add_product_to_cart(order_line_id=line.id, number=0)
+ self._ecommerce_add_product_to_cart(cr, uid, order_line_id=line.id, number=0)
# ************************************************************
# Ecommerce quotation management
order_line_obj = self.pool.get('sale.order.line')
order_obj = self.pool.get('sale.order')
- context = dict(context, pricelist=self.ecommerce_get_pricelist_id(cr, uid, None, context=context))
+ context = dict(context or {}, pricelist=self.ecommerce_get_pricelist_id(cr, uid, None, context=context))
# set order_line_id and product_id
if order_line_id:
else:
order_line_id = order_line_obj.create(cr, SUPERUSER_ID, values, context=context)
order_obj.write(cr, SUPERUSER_ID, [order.id], {'order_line': [(4, order_line_id)]}, context=context)
+
+ order = self.ecommerce_get_current_order(cr, uid, context=context)
+ if not order or not order.order_line:
+ self._ecommerce_change_pricelist(cr, uid, None, context=context)
+
return quantity
def _ecommerce_get_quotation_values(self, cr, uid, context=None):
def load_tests(loader, base, _):
base.addTest(test_ui.WebsiteUiSuite(test_ui.full_path(__file__,'website_sale-sale_process-test.js'),
- { 'action': 'website.action_website_homepage' }, 60.0))
+ { 'action': 'website.action_website_homepage' }, 120.0))
return base
\ No newline at end of file
<div class="text-muted" t-field="line.product_id.description_sale"/>
</td>
<td class="text-center">
- <del class="text-danger" t-if="line.product_id.lst_price > line.price_unit">
- <span t-field="line.product_id.lst_price" t-field-options='{
+ <t t-if="abs(line.product_id.lst_price - line.price_unit) > 0.2">
+ <del class="text-danger"
+ t-field="line.product_id.lst_price" t-field-options='{
"widget": "monetary",
"display_currency": "website.pricelist_id.currency_id"
- }'/>
- </del>
- <span t-field="line.price_unit" t-field-options='{
+ }'/>&nbsp;
+ </t>
+ <span t-field="line.price_unit" t-field-options='{
"widget": "monetary",
"display_currency": "website.pricelist_id.currency_id"
}'/>
<div class="text-muted" t-field="product.description_sale"/>
</td>
<td>
- <span t-field="product.lst_price" t-field-options='{
- "widget": "monetary",
- "display_currency": "website.pricelist_id.currency_id"
- }'/>
+ <t t-if="abs(product.lst_price - product.price) > 0.2">
+ <del class="text-danger"
+ t-field="product.lst_price" t-field-options='{
+ "widget": "monetary",
+ "display_currency": "website.pricelist_id.currency_id"
+ }'/>&nbsp;
+ </t>
+ <span t-field="product.price" t-field-options='{
+ "widget": "monetary",
+ "display_currency": "website.pricelist_id.currency_id"
+ }'/>
</td>
<td class="text-center">
<form action="/shop/add_cart/" method="post">
<p>
Have a coupon code? Fill in this field and apply.
</p>
- <form t-if="website_sale_order and website_sale_order.website_order_line" action="/shop/mycart/" method="post" class="mb32">
+ <form t-if="website_sale_order and website_sale_order.website_order_line" action="/shop/pricelist/" method="post" class="mb32">
<div class="input-group">
<input name="promo" class='form-control' type="text" placeholder="code..." t-att-value="website_sale_order.pricelist_id.code or ''"/>
<div class="input-group-btn">