[REF] website_sale, *: use website_url on product href
* = website_event_sale, website_sale_comparison, website_sale_wishlist Some product links were not using website_url, now that we have an url for product.product we should use that one to reach the right product. Part of https://github.com/odoo/odoo/pull/34149 task-2007400
This commit is contained in:
@@ -89,7 +89,7 @@
|
||||
<xpath expr="//a" position="attributes">
|
||||
<attribute name="t-attf-href"/>
|
||||
<attribute name="t-att-href">
|
||||
line.event_id and ('/event/%s/register' % slug(line.event_id)) or ('/shop/product/%s' % slug(line.product_id.product_tmpl_id))
|
||||
line.event_id and ('/event/%s/register' % slug(line.event_id)) or line.product_id.website_url
|
||||
</attribute>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
@@ -1069,7 +1069,7 @@ class WebsiteSale(http.Controller):
|
||||
'public_categ_ids': category,
|
||||
'website_id': request.website.id,
|
||||
})
|
||||
return "/shop/product/%s?enable_editor=1" % slug(product.product_tmpl_id)
|
||||
return "%s?enable_editor=1" % product.product_tmpl_id.website_url
|
||||
|
||||
@http.route(['/shop/change_styles'], type='json', auth='user')
|
||||
def change_styles(self, id, style_id):
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import ValidationError, UserError
|
||||
from odoo.addons.http_routing.models.ir_http import slug
|
||||
from odoo.addons.website.models import ir_http
|
||||
from odoo.tools.translate import html_translate
|
||||
from odoo.osv import expression
|
||||
@@ -367,7 +368,7 @@ class ProductTemplate(models.Model):
|
||||
def _compute_website_url(self):
|
||||
super(ProductTemplate, self)._compute_website_url()
|
||||
for product in self:
|
||||
product.website_url = "/shop/product/%s" % (product.id,)
|
||||
product.website_url = "/shop/product/%s" % slug(product)
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Rating Mixin API
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
</template>
|
||||
|
||||
<template id="products_item" name="Products item">
|
||||
<t t-set="product_href" t-value="request.httprequest.url_root + keep('shop/product/%s' % slug(product), page=(pager['page']['num'] if pager['page']['num']>1 else None))" />
|
||||
<t t-set="product_href" t-value="keep(product.website_url, page=(pager['page']['num'] if pager['page']['num']>1 else None))" />
|
||||
|
||||
<t t-set="combination_info" t-value="product._get_combination_info(only_template=True, add_qty=add_qty or 1, pricelist=pricelist)"/>
|
||||
|
||||
@@ -499,7 +499,7 @@
|
||||
</div>
|
||||
<div class="col-md-6 col-xl-4" id="product_details">
|
||||
<h1 itemprop="name" t-field="product.name">Product Name</h1>
|
||||
<span itemprop="url" style="display:none;" t-esc="'%sshop/product/%s' % (request.httprequest.url_root, slug(product))"/>
|
||||
<span itemprop="url" style="display:none;" t-esc="product.website_url"/>
|
||||
<form t-if="product._is_add_to_cart_possible()" action="/shop/cart/update" method="POST">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()" />
|
||||
<div class="js_product js_main_product">
|
||||
@@ -576,7 +576,7 @@
|
||||
<div t-if="product_variant" t-field="product_variant.image_64" t-options="{'widget': 'image', 'class': 'rounded shadow o_alternative_product' }" />
|
||||
<div t-else="" t-field="alt_product.image_64" t-options="{'widget': 'image', 'class': 'rounded shadow o_alternative_product' }" />
|
||||
<h6>
|
||||
<a t-attf-href="/shop/product/#{ slug(alt_product) }" style="display: block">
|
||||
<a t-att-href="alt_product.website_url" style="display: block">
|
||||
<span t-att-title="alt_product.name" t-field="alt_product.name" class="o_text_overflow" style="display: block;" />
|
||||
</a>
|
||||
</h6>
|
||||
@@ -802,7 +802,7 @@
|
||||
|
||||
<!-- We use this template where we want to give the user a link to the product of a sale order line. -->
|
||||
<template id="cart_line_product_link" name="Shopping Cart Line Product Link">
|
||||
<a t-attf-href="/shop/product/#{ slug(line.product_id.product_tmpl_id) }">
|
||||
<a t-att-href="line.product_id.website_url">
|
||||
<t t-raw="0"/>
|
||||
</a>
|
||||
</template>
|
||||
@@ -994,13 +994,13 @@
|
||||
<tr t-foreach="suggested_products" t-as="product">
|
||||
<t t-set="combination_info" t-value="product._get_combination_info_variant()"/>
|
||||
<td class='td-img'>
|
||||
<a t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }">
|
||||
<a t-att-href="product.website_url">
|
||||
<span t-field="product.image_64" t-options="{'widget': 'image', 'class': 'rounded'}" />
|
||||
</a>
|
||||
</td>
|
||||
<td class='td-product_name'>
|
||||
<div>
|
||||
<a t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }">
|
||||
<a t-att-href="product.website_url">
|
||||
<strong t-esc="combination_info['display_name']" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -96,11 +96,11 @@
|
||||
<a href="#" t-att-data-product_product_id="product.id" class="o_comparelist_remove" t-if="len(products) > 2">
|
||||
<strong class='float-right'>x</strong>
|
||||
</a>
|
||||
<a t-att-href="'/shop/product/%s' % slug(product.product_tmpl_id)">
|
||||
<a t-att-href="product.website_url">
|
||||
<img t-attf-src="/web/image/product.product/#{product.id}/image_256" class="img img-fluid" style="margin:auto;" alt="Product image"/>
|
||||
</a>
|
||||
<div class='product_summary'>
|
||||
<a class="o_product_comparison_table" t-attf-href="/shop/product/#{ slug(product.product_tmpl_id) }">
|
||||
<a class="o_product_comparison_table" t-att-href="product.website_url">
|
||||
<span t-esc="combination_info['display_name']"></span><br/>
|
||||
</a>
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
</div>
|
||||
<div class="col-8 pl-2">
|
||||
<h6>
|
||||
<a t-attf-href="/shop/product/#{product.product_tmpl_id[0].id}"><t t-esc="combination_info['display_name']" /></a><br/>
|
||||
<a t-att-href="product.website_url"><t t-esc="combination_info['display_name']" /></a><br/>
|
||||
<t t-if="True"><!--compatibility 12.0-->
|
||||
<del t-attf-class="text-danger mr8 {{'' if combination_info['has_discounted_price'] else 'd-none'}}" style="white-space: nowrap;" t-esc="combination_info['list_price']" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}" />
|
||||
</t>
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
<t t-foreach="wishes" t-as="wish">
|
||||
<tr t-att-data-wish-id='wish.id' t-att-data-product-id='wish.product_id.id'>
|
||||
<td class='td-img'>
|
||||
<a t-att-href="'/shop/product/%s' % slug(wish.product_id.product_tmpl_id)">
|
||||
<a t-att-href="wish.product_id.website_url">
|
||||
<img t-attf-src="/web/image/product.product/#{wish.product_id.id}/image_128" class="img img-fluid" style="margin:auto;" alt="Product image"/>
|
||||
</a>
|
||||
</td>
|
||||
<td class='text-left'>
|
||||
<strong><a t-att-href="'/shop/product/%s' % slug(wish.product_id.product_tmpl_id)"><t t-esc="wish.product_id.display_name" /></a></strong>
|
||||
<strong><a t-att-href="wish.product_id.website_url"><t t-esc="wish.product_id.display_name" /></a></strong>
|
||||
<small class='d-none d-md-block'><p t-field="wish.product_id.description_sale" class="text-muted"/></small>
|
||||
<button type="button" class="btn btn-link o_wish_rm no-decoration"><small><i class='fa fa-trash-o'></i> Remove</small></button>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user