Sindbad~EG File Manager

Current Path : /home/numerotech/profile.aios-scientificcommittee.org/aios_profile_v1/core/library/
Upload File :
Current File : //home/numerotech/profile.aios-scientificcommittee.org/aios_profile_v1/core/library/route_group.py

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

# Flask View decorators
class RouteGroup:
	def login_required(f):
		@wraps(f)
		def wrap(*args, **kwargs):
			society_id = request.view_args['society_id']
			# if user is not logged in, redirect to login page
			if  Auth.check(society_id)==True:
				return f(*args, **kwargs)
			else:
				return redirect(url_for('user.getLogin',society_id=request.view_args['society_id'],society_key=request.view_args['society_key']))
		return wrap

	def bo_login_required(f):
		@wraps(f)
		def wrap(*args, **kwargs):
			# if user is not logged in, redirect to login page    
			if  Auth.bo_check(request.view_args['society_id']):
				return f(*args, **kwargs)
			else:
				return redirect(url_for('bo.Login',society_id=request.view_args['society_id'],society_key=request.view_args['society_key']))
		return wrap
	
	def society_required(f):
		@wraps(f)
		def wrap(*args, **kwargs):
			# if user is not logged in, redirect to login page  
			if Auth.checkSocietybyIdKey(request.view_args['society_id'],request.view_args['society_key']):
				return f(*args, **kwargs)
			else:
				return "<h2 style=\"text-align:center;color:red\">Invalid url</h2>"
		return wrap


	def app_lock_requried(f):
		@wraps(f)
		def wrap(*args, **kwargs):
			society_id = request.view_args['society_id']
			society_key = request.view_args['society_key']
			society   = Auth.getSociety(society_id)
			if society is None:
				society = UserModel().get_society(society_id,society_key)
				Auth.setSociety(society,society_id)
			lock_date = society['profile_lock_at']
			if lock_date:
				lock_date=lock_date.strftime("%Y-%m-%d %H:%M")
				current_dt = datetime.now().strftime("%Y-%m-%d %H:%M")
				if (lock_date <= current_dt):
					return redirect(url_for('user.AppLock',society_id=society_id,society_key=society_key))
			return f(*args, **kwargs)
		return wrap


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