# -*- coding: utf-8 -*-
#################################################################################
# Author      : Webkul Software Pvt. Ltd. ()
# 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 
#################################################################################
from odoo import api, models, fields, tools, _
from odoo.http import request
class Website(models.Model):
    _inherit = 'website'
    @api.multi
    def sale_product_domain(self):
        vals = super(Website, self).sale_product_domain()
        customer_group = self.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)
                vals+=[('public_categ_ids', 'child_of', cat_ids)]
        return vals
    def get_current_pricelist(self):
        pricelist, uid = False, self.env.context.get('uid')
        customer_group = self.env['res.users'].sudo().browse(uid).customer_grp_id if uid else request.website.user_id.sudo().customer_grp_id
        if customer_group and customer_group.group_pricelist_id:
            pricelist = customer_group.group_pricelist_id
            request.session['website_sale_current_pl'] = pricelist.id
        else:
            pricelist = super(Website, self).get_current_pricelist()
        return pricelist
    def get_pricelist_available(self, show_visible=False):
        aval_pricelist, customer_group = False, self.env.user.customer_grp_id
        if customer_group and customer_group.group_pricelist_id:
            aval_pricelist = customer_group.group_pricelist_id
        else:
            aval_pricelist = super(Website, self).get_pricelist_available()
        return aval_pricelist