Sindbad~EG File Manager
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
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):
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