53 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.1 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 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 |