Sindbad~EG File Manager

Current Path : /home/numerotech/conf-scan.numerotech.com/conference_scan/core/library/
Upload File :
Current File : //home/numerotech/conf-scan.numerotech.com/conference_scan/core/library/route_group.py

from core import app
from flask import url_for, session, redirect,request
from datetime import datetime, date, time, timedelta
from functools import wraps
from core.library.auth import Auth
from core.model.LoginModel import LoginModel
from core.library.helper import Helper

# Flask View decorators
class RouteGroup:

	def login_required(f):
		@wraps(f)
		def wrap(*args, **kwargs): 
			conf_id  = request.view_args['conf_id']
			conf_key = request.view_args['conf_key']
			#   start 
			if session.get('conf_'+str(conf_id),None):
				conf_data = session.get('conf_'+str(conf_id))
				society_id = conf_data.get('society_id')
				if conf_key  == conf_data["conf_key"] :
					pass
				else:
					return ("<html><h1>Invalid URL</h1></html>")
			else:
				conf = LoginModel().GetConf(conf_id,conf_key)
				if conf : 
					session['conf_'+str(conf_id)] = conf
					conf_data  = session.get('conf_'+str(conf_id),None)
					society_id = conf_data['society_id']
				else :
					return ("<html><h1>Invalid URL</h1></html>")
						
			if session.get('login_'+str(society_id),None):	
				return f(*args, **kwargs)
			else:
				return redirect(url_for('login.Home',conf_id=request.view_args['conf_id'],conf_key=request.view_args['conf_key']))
				# return f(*args, **kwargs)
			#  end
		return wrap

	def conf_required(f):
		@wraps(f)
		def wrap(*args, **kwargs):
			conf_id  = request.view_args['conf_id']
			conf_key = request.view_args['conf_key']   
			# start
			if session.get('conf_'+str(conf_id),None):
				conf_data = session.get('conf_'+str(conf_id),None)
				if conf_key  == conf_data["conf_key"] :
					app_style  = LoginModel().GetAppStyle(conf_id)
					if app_style:
						Auth.app_style(app_style,conf_id)
					return f(*args, **kwargs)
				else:
					return ("<html><h1>Invalid URL</h1></html>")
			else:
				conf = LoginModel().GetConf(conf_id,conf_key)
				if conf :
					session['conf_'+str(conf_id)] = conf
					conf_data = session.get('conf_'+str(conf_id),None)
					if conf_key  == conf_data["conf_key"] :
						app_style  = LoginModel().GetAppStyle(conf_id)
						if app_style:
							Auth.app_style(app_style,conf_id)
						return f(*args, **kwargs)
					else:
						return ("<html><h1>Invalid URL</h1></html>")
				else :
					return ("<html><h1>Invalid URL</h1></html>")	
		return wrap
	


	def conf_active_required(f):
		@wraps(f)
		def wrap(*args, **kwargs):
			# if user is not logged in, redirect to login page      
			allow_access,auth_check = Auth.checkConfActive(request.view_args['conf_id'],request.view_args['conf_key'])
			if allow_access == True:
				return f(*args, **kwargs)
			else:
				return str(auth_check)

			if Auth.checkConfActive(request.view_args['conf_id'],request.view_args['conf_key']):
				return f(*args, **kwargs)
			else:
				return "<h1> Access Denied</h1>"
		return wrap

	def bologin_required(f):
		@wraps(f)
		def wrap(*args, **kwargs):    
			conf_id  = request.view_args['conf_id']
			conf_key = request.view_args['conf_key']
			if session.get('conf_'+str(conf_id),None):
				conf_data  = session.get('conf_'+str(conf_id))
				society_id = conf_data.get("society_id")
				if conf_key  == conf_data["conf_key"] :
					
					pass
				else:
					return ("<html><h1>Invalid URL</h1></html>")
			else :
				conf_data  = LoginModel().GetConf(conf_id,conf_key)
				if conf_data :
					society_id = conf_data["society_id"]
					session['conf_'+str(conf_id)] = conf_data
					if conf_key  == conf_data["conf_key"] :
						pass
					else:
						return ("<html><h1>Invalid URL</h1></html>")
				else :
					return ("<html><h1>Invalid URL</h1></html>")
		
			user 	   = session.get('login_'+str(society_id),None)
			if user:
				email     = user.get('email')
				bo_access = LoginModel().check_bo_access(email,2,society_id,conf_id) # for check back office admin access
				if bo_access and bo_access["is_admin"] == 1:
					return f(*args, **kwargs)
				else :
					return redirect(url_for('login.DashboardLoginPage',conf_id=request.view_args['conf_id'],conf_key=request.view_args['conf_key']))
			else :
				return redirect(url_for('login.DashboardLoginPage',conf_id=request.view_args['conf_id'],conf_key=request.view_args['conf_key']))			 		

		return wrap


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists