from django.core.exceptions import PermissionDenied
from django.shortcuts import redirect
from functools import wraps
import datetime
from django.contrib.auth.models import User


def user_redirect(function):
	def wrap(request ,*args ,**kwargs):
		if '_auth_user_id' in request.session:
			print('already logged user')
			id = request.session['_auth_user_id']
			print('id',id)
			superuser = User.objects.filter(id=id).first()
			if superuser:
				if superuser.is_superuser == True :
					print('admin')
					pass
				else:
					print('not admin')
					return redirect('/dashboard/login/')
					
		else:
			print('not logged in so redirect to login .')
			return redirect('/dashboard/login/')
		
		return function(request,*args,**kwargs)

	wrap.__doc__ = function.__doc__
	return wrap


def login_redirect(function):
	def wrap(request ,*args ,**kwargs):
		if '_auth_user_id' in request.session:
			id = request.session['_auth_user_id']
			print('id',id)
			superuser = User.objects.filter(id=id).first()
			if superuser:
				if superuser.is_superuser == True :
					print('admin')
					print('already logged user, redirect it to dashboard.')
					return redirect('/dashboard/')
				else:
					print('no admin')
					pass			
		else:
			print('no logged user')
			pass

		
		return function(request,*args,**kwargs)

	wrap.__doc__ = function.__doc__
	return wrap