from django.http import HttpResponseRedirect
from django.shortcuts import redirect
from django.urls import reverse

def checkifcustomeralreadylogin(function):
	def  wrap(request, *args, **kwargs):
		print('checkifcustomeralreadylogin decorator')
		
		if 'userrole' in request.session:
			userrole = request.session['userrole']
			print('userrole is',userrole)
			if userrole == 'customer' or userrole == 'company':
				return HttpResponseRedirect(reverse('customer-dashboard'))
			elif userrole == 'driver':
				return HttpResponseRedirect(reverse('driver-dashboard'))
			elif userrole == 'admin':
				return HttpResponseRedirect(reverse('admin-dashboard'))
			elif userrole == 'superadmin':
				return HttpResponseRedirect(reverse('superadmin-dashboard'))
			else:
				return HttpResponseRedirect(reverse('customer-login'))

			if userrole != 'customer':
				print('not customer')
				# return HttpResponseRedirect(reverse('customer-login'))
				return redirect(loginlink)
		else:
			print('in else')
			# return HttpResponseRedirect(reverse('customer-login'))
			# return HttpResponseRedirect(reverse('index'))
			# return redirect('/')
		return function(request, *args, **kwargs)
	wrap.__doc__ = function.__doc__
	return wrap


def checklogincustomer(function):
	def  wrap(request, *args, **kwargs):
		print('checklogincustomer decorator')
		loginlink = '/login/'
		if request.path:
			loginlink += '?next=' + request.path
		else:
			print('no path')
		if 'userrole' in request.session:
			userrole = request.session['userrole']
			print('userrole is',userrole)
			if userrole != 'customer' and userrole != 'company':
				print('not customer or company')
				# return HttpResponseRedirect(reverse('customer-login'))
				return redirect(loginlink)
		else:
			# return HttpResponseRedirect(reverse('customer-login'))
			return redirect(loginlink)
		return function(request, *args, **kwargs)
	wrap.__doc__ = function.__doc__
	return wrap


from django.shortcuts import redirect
def checklogincompany(function):
	def  wrap(request, *args, **kwargs):
		print('checklogincompany decorator')
		loginlink = '/login/'
		if request.path:
			loginlink += '?next=' + request.path
		else:
			print('no path')
		if 'userrole' in request.session:
			userrole = request.session['userrole']
			print('userrole is',userrole)
			if userrole != 'company':
				# return HttpResponseRedirect(reverse('customer-login'))
				return redirect(loginlink)
		else:
			# return HttpResponseRedirect(reverse('customer-login'))
			return redirect(loginlink)
		return function(request, *args, **kwargs)
	wrap.__doc__ = function.__doc__
	return wrap