# -*- coding: utf-8 -*-
#################################################################################
# Author : Webkul Software Pvt. Ltd. (:wink:
# Copyright(c): 2015-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.tools.translate import _
import odoo.modules.registry
import odoo
from odoo.addons.web.controllers.main import Home
import werkzeug.utils
import werkzeug.wrappers
from odoo import http
from odoo.http import request
import logging
_logger = logging.getLogger(__name__)
class Home(Home):
@http.route(website=True, auth="public")
def web_login(self, redirect=None, *args, **kw):
response = super(Home, self).web_login(redirect=redirect, *args, **kw)
# kw.get('affiliate_login_form') is hidden field in login form of affiliate home page
check_affiliate = request.env['res.users'].sudo().search([('login', '=', kw.get('login'))]).partner_id.is_affiliate
if kw.get('affiliate_login_form') and response.qcontext.get('error'):
request.session['error'] = 'Wrong login/password'
return request.redirect('/affiliate/', 303)
else:
if kw.get('affiliate_login_form') and check_affiliate:
return super(Home, self).web_login(redirect='/affiliate/about', *args, **kw)
else:
return response
@http.route('/web/session/logout', type='http', auth="none")
def logout(self, redirect='/web'):
partner = request.env['res.users'].sudo().browse([request.session.uid])
if partner.partner_id.is_affiliate:
request.session.logout(keep_db=True)
return werkzeug.utils.redirect('/affiliate', 303)
else:
request.session.logout(keep_db=True)
return werkzeug.utils.redirect(redirect, 303)