Sindbad~EG File Manager

Current Path : /home/numerotech/conf-regdesk.numerotech.com/reg_desk/core/controller/
Upload File :
Current File : //home/numerotech/conf-regdesk.numerotech.com/reg_desk/core/controller/AccessRequestController.py

from flask import render_template,request,flash,redirect,url_for, Blueprint,session,json,jsonify
import datetime
from datetime import timedelta,date,datetime
from core.model.AccessRequestModel import AccessRequestModel
from core.model.LoginModel import LoginModel
from flask import  app
import math
from .. import Cryptography,Auth,RouteGroup,Helper,Custom

app = Blueprint('access_request', __name__)


@app.route('/<int:conf_id>/<conf_key>/access_request', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.bologin_required
def AccessRequest(conf_id,conf_key):
	conf           = Auth.getConf(conf_id,conf_key)
	society_id     = conf['society_id']
	active_id      = conf['active_id']
	dashboard_list = []
	dashboard_data = AccessRequestModel().get_dashboard_id(conf_id,active_id)
	dashboard_list.append(dashboard_data)
	
	output         = AccessRequestModel().getAccessRequestData(conf_id,active_id)
	for index,value in enumerate(output):
		if index == 0:
			access_approved = value
		if index == 1:
			access_requested = value

	return render_template('access_request/access_request_form.html',conf=conf,data=dashboard_list,access_requested=access_requested,access_approved=access_approved,active_id=active_id)

@app.route('<int:conf_id>/<conf_key>/active_access_request',methods =["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.bologin_required
def ActiveAccessRequest(conf_id,conf_key):
	try:
		active_id = request.values.get('active_id')
		active_id = None if  active_id == 0 else  active_id 

		output         = AccessRequestModel().getAccessRequestData(conf_id,active_id)
		for index,value in enumerate(output):
			if index == 0:
				access_approved = value
			if index == 1:
				access_requested = value

		html_data = render_template('access_request/access_requested_approved_index.html',access_requested=access_requested,access_approved=access_approved,active_id=active_id)
		data      = {"html_data":html_data,"active_id":active_id,"msg" : "success" ,"status" :1}
	
		json_data = json.dumps(data,default =str)
		return json_data

	except Exception as e:
		data      = {"html_data" : "","msg" : str(e) , "status" :401 }
		json_data = json.dumps(data,default =str)
		return json_data

@app.route('<int:conf_id>/<conf_key>/get_new_access_request',methods =["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.bologin_required
def GetNewAccessRequest(conf_id,conf_key):
	try:
		conf        = Auth.getConf(conf_id,conf_key)
		active_id = conf['active_id']
		data = AccessRequestModel().get_dashboard_id(conf_id,active_id)
		html = render_template('access_request/access_request_new.html',dashboard_data=data,conf=conf)
		data = {"html":html,"msg" : "success" ,"status" :1}
	
		json_data = json.dumps(data,default =str)
		return json_data

	except Exception as e:
		data      = {"html_data" : "","msg" : str(e) , "status" :401 }
		json_data = json.dumps(data,default =str)
		return json_data


@app.route('/<int:conf_id>/<conf_key>/access_request_reject', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.bologin_required
def UpdateAccessRequestReject(conf_id,conf_key):
	conf        = Auth.getConf(conf_id,conf_key)
	society_id = conf['society_id']
	cau_id     = request.values.get('cau_id')
	action     = request.values.get('action')
	active_id  = request.values.get('active_id' or None) or None



	now        = datetime.now()
	curr_dt    = now.strftime("%Y-%m-%d %H:%M:%S")
	if str(action) == '0':
		access_on   = curr_dt
		approved_on = None 
		is_active   = 0
		update_data = {'access_on': access_on,'is_active':0,'approved_on':approved_on,'updated_at':curr_dt}
		AccessRequestModel().update_conf_active_users(cau_id,update_data) 
	else:
		access_on = None 
		is_active   = 1
		update_data = {'approved_on': curr_dt,'is_active':1,'updated_at':curr_dt,'access_on':access_on}
		AccessRequestModel().update_conf_active_users(cau_id,update_data) 

	active_id = None if  active_id == 0 else  active_id
	output     = AccessRequestModel().getAccessRequestData(conf_id,active_id)
	for index,value in enumerate(output):
		if index == 0:
			access_approved = value
		if index == 1:
			access_requested = value
	html_data = render_template('access_request/updated_access_request_reject.html',conf=conf,access_requested=access_requested,access_approved=access_approved)

	data = {'html_data' : html_data}

	return json.dumps(data ,default=str)



@app.route('/<int:conf_id>/<conf_key>/access_approval_new', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.bologin_required
def AccessApprovalNew(conf_id,conf_key):

	conf        = Auth.getConf(conf_id,conf_key)
	society_id = conf['society_id']
	full_name  = request.values.get('full_name') or None
	mobile     = request.values.get('mobile') or None
	active_id  = request.values.get('active_id' or None) or None

	now        = datetime.now()
	curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
	if full_name is None:
		msg  = "Please enter full name"
		data = {'status':1,'html_data' : None,'msg':msg}
	elif mobile is None:
		msg  = "Please enter mobile"
		data = {'status':1,'html_data' : None,'msg':msg}
	else:	
		user    = AccessRequestModel().check_mobile(mobile,society_id,active_id)
		if user:
			user_id = user['user_id']
			update_data = { 'is_active_conf_user':1,'updated_at' : curr_dt }
			AccessRequestModel().UpdateUsers(user_id,update_data)
		else:	
			insert_user_data = {'created_at' : curr_dt,'full_name' : full_name,'mobile' : mobile,'society_id' : society_id,'is_active_conf_user' : 1 }
			user_id          = AccessRequestModel().insert_users(insert_user_data)	 
		
		insert_au_data     = {'user_id':user_id,'conf_id':conf_id,'active_id':active_id,'approved_on':curr_dt,'is_active':1,'created_at':curr_dt}
		insert_active_user = AccessRequestModel().insert_conf_active_users(insert_au_data)

		
		output     = AccessRequestModel().getAccessRequestData(conf_id,active_id)
		for index,value in enumerate(output):
			if index == 0:
				access_approved = value
			if index == 1:
				access_requested = value
		html_data = render_template('access_request/updated_access_request_reject.html',conf=conf,access_requested=access_requested,access_approved=access_approved)

		data = {'status':2,'html_data' : html_data}

	return json.dumps(data ,default=str)



@app.route('/<int:conf_id>/<conf_key>/access_approval_or_reject_all', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.bologin_required
def AccessApprovalorRejectAll(conf_id,conf_key):
	conf        = Auth.getConf(conf_id,conf_key)
	society_id   = conf['society_id']
	action_value = request.values.get('action_value') or None
	active_id  = request.values.get('active_id' or None) or None
	now          = datetime.now()
	curr_dt      = now.strftime("%Y-%m-%d %H:%M:%S")
	if int(action_value) == 0:
		col_to_update = 'access_on'
		AccessRequestModel().Update_access_bulk(conf_id,col_to_update,curr_dt)
	else:		 
		col_to_update = 'approved_on'
		AccessRequestModel().Update_access_bulk(conf_id,col_to_update,curr_dt)

	active_id = None if  active_id == 0 else  active_id 
	output     = AccessRequestModel().getAccessRequestData(conf_id,active_id)
	for index,value in enumerate(output):
		if index == 0:
			access_approved = value
		if index == 1:
			access_requested = value

	html_data = render_template('access_request/updated_access_request_reject.html',conf=conf,access_requested=access_requested,access_approved=access_approved)

	data = {'status':2,'html_data' : html_data}

	return json.dumps(data ,default=str)			




@app.route('<int:conf_id>/<conf_key>/check_waiting_access_request',methods =["GET","POST"])
@RouteGroup.conf_required
def CheckWaitingAccessRequest(conf_id,conf_key):
	try:
		conf 		   = Auth.getConf(conf_id,conf_key)
		active_id      = conf['active_id']
		output         = AccessRequestModel().getAccessRequestData(conf_id,active_id)
		for index,value in enumerate(output):
			print(index,value)
			if index == 1:
				access_requested = value
				
		if access_requested :
			length_acc = len(access_requested)
			data = {"data":length_acc,"msg" : "success" ,"status" :1}
		else :
			length_acc = 0
			data = {"data":length_acc,"msg" : "no data" ,"status" :2}
		
		json_data = json.dumps(data,default =str)
		return json_data

	except Exception as e:
		data      = {"data" : "","msg" : str(e) , "status" :401 }
		json_data = json.dumps(data,default =str)
		return json_data


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