42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
#################################################################################
|
|
# Author : Webkul Software Pvt. Ltd. (<https://webkul.com/>)
|
|
# Copyright(c): 2016-Present Webkul Software Pvt. Ltd.
|
|
# All Rights Reserved.
|
|
#
|
|
#
|
|
#
|
|
# This program is copyright property of the author mentioned above.
|
|
# You can`t redistribute it and/or modify it.
|
|
#
|
|
#
|
|
# You should have received a copy of the License along with this program.
|
|
# If not, see <https://store.webkul.com/license.html/>
|
|
#################################################################################
|
|
|
|
from odoo import http, tools, _
|
|
from odoo.http import request
|
|
from odoo.addons.website_sale.controllers.main import WebsiteSale
|
|
|
|
class WebsiteSale(WebsiteSale):
|
|
|
|
@http.route([
|
|
'/shop',
|
|
'/shop/page/<int:page>',
|
|
'/shop/category/<model("product.public.category"):category>',
|
|
'/shop/category/<model("product.public.category"):category>/page/<int:page>'
|
|
], type='http', auth="public", website=True)
|
|
def shop(self, page=0, category=None, search='', ppg=False, **post):
|
|
vals = super(WebsiteSale, self).shop(page=page, category=category, search=search, ppg=ppg, **post)
|
|
customer_group = request.env.user.customer_grp_id
|
|
if customer_group:
|
|
if customer_group.product_visible == 'all':
|
|
return vals
|
|
else:
|
|
cat_ids = []
|
|
for cat_obj in customer_group.product_cat_ids:
|
|
cat_ids.append(cat_obj.id)
|
|
category_obj = request.env['product.public.category']
|
|
categs = category_obj.search([('parent_id', 'not in', cat_ids), ('id', 'in', cat_ids)])
|
|
vals.qcontext['categories'] = categs
|
|
return vals |