Sindbad~EG File Manager

Current Path : /home/numerotech/scans.numerotech.com/scan_v1/core/controller/
Upload File :
Current File : //home/numerotech/scans.numerotech.com/scan_v1/core/controller/KitSessionController.py

from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json

from core.model.KitSessionModel import KitSessionModel

from random import randint
import datetime
 
from datetime import timedelta,date,datetime
# from .. import Cryptography,Auth,RouteGroup
from flask import session, app

from os.path import join


import os
from os import path

app = Blueprint('kit_session', __name__)


@app.route('/<int:conf_id>/<conf_key>/kit_sessionlogin',methods = ["GET", "POST"])
def KitSessionLogin(conf_id,conf_key):
	now = datetime.now()
	current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
	getKcConfData = KitSessionModel().getkcConf(conf_id,conf_key,current_dt)
	if getKcConfData :
		conf_name = getKcConfData["conf_name"]
		conf_end_time = getKcConfData["conf_end_time"]
		if datetime.strptime(current_dt, "%Y-%m-%d %H:%M:%S") < conf_end_time:
			if session.get("kitBOsession") :
				return redirect(url_for('kit_session.KitSessionIndex', conf_id=conf_id ,conf_key = conf_key))		    
			else:	
				return render_template('kitsession_counter/kc_session_login_screen.html' ,conf_id=conf_id ,conf_key = conf_key , conf_name =conf_name)
		else :
			return "<h2 style= 'color:red;text-align:center' ; >Conference Closed</h2>"
	else :
		return "<h2 style= 'color:red;text-align:center' ; >Invalid URL </h2>"
		
# @app.route('/<int:conf_id>/<conf_key>/kit_sessionlogin',methods = ["GET", "POST"])
# def KitSessionLogin(conf_id,conf_key):
# 	now = datetime.now()
# 	current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
# 	getKcConfData = KitSessionModel().getkcConf(conf_id,conf_key,current_dt)
# 	if getKcConfData :
# 		conf_name = getKcConfData["conf_name"]
# 		if session.get("kitBOsession") :
# 			return redirect(url_for('kit_session.KitSessionIndex', conf_id=conf_id ,conf_key = conf_key))		    
# 		else:	
# 			return render_template('kitsession_counter/kc_session_login_screen.html' ,conf_id=conf_id ,conf_key = conf_key , conf_name =conf_name)
# 	else :
# 		return "<h2 style= 'color:red;text-align:center' ; >Invalid URL </h2>"

@app.route('/post_kit_session_login', methods = ["GET","POST"])
def PostKitSessionLogin():
	if request.method == "POST":
		now = datetime.now()
		current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
		user_name     = request.form['user_name']
		password      = request.form['password']
		conf_id       = request.form['conf_id']
		conf_key      = request.form['conf_key']

		if  not user_name  or not password:
			flash('Please enter username and password')
			return redirect (url_for('kit_session.KitSessionLogin' , conf_id = conf_id , conf_key = conf_key))
		else :
			us = KitSessionModel()
			user_output = us.getDataByuser_name(user_name)
			if user_output : 
				db_pass     = user_output['password']
				if password == db_pass:
					kc_user_id = user_output['kc_user_id']
					us.updateKITLoginTime(kc_user_id,current_dt);
					session["kitBOsession"] = user_output
					flash('Login Successfully  ! ', "successMsg" )
					return redirect (url_for('kit_session.KitSessionIndex', conf_id = conf_id , conf_key = conf_key)) 
				else : 
					flash('Passsword invalid. Please check the password.  ',"errorMsg" )
					return redirect (url_for('kit_session.KitSessionLogin' , conf_id = conf_id , conf_key = conf_key))
			else:
				flash("Username is not registered.","errorMsg" )
				return redirect (url_for('kit_session.KitSessionLogin' , conf_id = conf_id , conf_key = conf_key))
	else :
		return redirect (url_for('kit_session.KitSessionLogin' , conf_id = conf_id , conf_key = conf_key))

@app.route('/<int:conf_id>/<conf_key>/kitsession_logout',methods = ["GET", "POST"])
def KitSessionLogout(conf_id,conf_key):
	if session.get("kitBOsession") :
		session.pop('kitBOsession', None)
		flash("logout Successfully","successMsg")
	else :
		pass
	return redirect(url_for('kit_session.KitSessionLogin',conf_id = conf_id ,conf_key = conf_key))		    

@app.route('/<int:conf_id>/<conf_key>/kit_session_index',methods = ["GET", "POST"])
def KitSessionIndex(conf_id,conf_key):
	getKcConfData = KitSessionModel().getKcConfData(conf_id,conf_key)
	if getKcConfData :
		conf_name = getKcConfData["conf_name"]
		if session.get("kitBOsession") :
			get_data = KitSessionModel().getSessionData(conf_id,conf_key)
			html_data = render_template('kitsession_counter/kit_session_table.html' , r_data =get_data)
			return render_template('kitsession_counter/kit_session_index.html' ,html_data = html_data ,conf_id =conf_id ,conf_key =conf_key,conf_name=conf_name,session_data=get_data)
		else :
			flash("Invalid login" , "errorMsg")
			return redirect (url_for('kit_session.KitSessionLogin',conf_id=conf_id ,conf_key=conf_key))	
	else :
		return "<h2 style= 'color:red;text-align:center' ; > Invalid Login </h2>"			


@app.route('/post_kit_session', methods = ["POST"])
def PostKitSession():
	if session.get("kitBOsession") :
		now = datetime.now()
		current_dt   = now.strftime("%Y-%m-%d %H:%M:%S")
		session_name = request.form['session_name']
		session_key  = request.form['session_key']
		start_time   = request.form['start_time']
		end_time     = request.form['end_time']
		conf_id      = request.form['conf_id']
		conf_key     = request.form['conf_key']
		# fetching data from form..
		data = {
			'session_name' : session_name,
			'session_key'  : session_key,
			'start_time'   : start_time,
			'end_time'     : end_time,
			'created_at'   : current_dt,
			'conf_id'      : conf_id,
			'conf_key'     : conf_key
		}
		insert_kitbo = KitSessionModel().insert_kitdata_and_getdata(data,conf_id,conf_key)
		html_data = render_template('kitsession_counter/kit_session_table.html',r_data =insert_kitbo)
		data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
		return json.dumps(data)
	else:
		return json.dumps(data)


@app.route('/edit_kit_session_index',methods = ["GET","POST"])
def EditKitSessionIndex():
	session_id = request.values.get("session_id")
	kit_data = KitSessionModel().edit_kitbo(session_id) 
	if kit_data :
		data = {'kit_data' :kit_data ,'msg' : 'success' ,'status' : 1}
	else :
		data = {'kit_data' :[] ,'msg' : 'data not exist' ,'status' : 2} 

	return json.dumps(data,default=str)


@app.route('/update_kit_session_index', methods = ["POST"])
def UpdateKitSessionIndex():
	now = datetime.now()
	current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
	session_name = request.values.get("session_name")  or None
	session_key = request.values.get("session_key")  or None
	start_time = request.values.get("start_time")  or None
	end_time  = request.values.get("end_time")  or None
	session_id = request.values.get("session_id")  or None
	conf_id = request.values.get("conf_id")
	conf_key = request.values.get("conf_key")


	if session_id and int(session_id) > 0 :
		data_for_update = {
		'session_name' : session_name,
		'session_key'  : session_key,
		'start_time'   : start_time,
		'end_time'     : end_time,
		'updated_at'   : current_dt
		}
		update_and_getdata = KitSessionModel().update_kitbo_and_getdata(data_for_update,session_id,conf_id,conf_key)
		html_data = render_template('kitsession_counter/kit_session_table.html',r_data =update_and_getdata)
		data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
	else:
		data = {"html_data" : "" ,"status" : 2 , "msg" : "Invalid Session"}	

	return json.dumps(data)

# update_start_time	
@app.route('/update_kitstart_time', methods = ["GET", "POST"])
def UpdateKitStartTime():
	now = datetime.now()
	current_dt  = now.strftime("%Y-%m-%d %H:%M:%S")
	curr_dt_dateformat = datetime.strptime(current_dt, "%Y-%m-%d %H:%M:%S")
	session_id  = request.values.get('session_id') or None
	conf_id = request.values.get("conf_id")
	conf_key = request.values.get("conf_key")
	if session_id and int(session_id) > 0 :
		data_for_update = {
		'start_time' : current_dt,
		'updated_at' : current_dt,
		'is_active'  : 1
		}
		update_and_getdata = KitSessionModel().update_kitbo_and_getdata(data_for_update,session_id,conf_id,conf_key)
		html_data = render_template('kitsession_counter/kit_session_table.html',r_data =update_and_getdata, curr_dt_dateformat=curr_dt_dateformat)
		data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
		return json.dumps(data)
	else :
		data = {"html_data" :[''],'status' : 2 ,"msg" : "Invalid session ID"}
		return "Invalid Login"	

# update_end_time	
@app.route('/update_kitend_time', methods = ["GET", "POST"])
def UpdateKitEndTime():
	now = datetime.now()
	current_dt  = now.strftime("%Y-%m-%d %H:%M:%S")
	session_id  = request.values.get('session_id') or None
	conf_id = request.values.get("conf_id")
	conf_key = request.values.get("conf_key")
	if session_id and int(session_id) > 0 :
		data_for_update = {
		'end_time'   : current_dt,
		'updated_at' : current_dt,
		'is_active'  : 0
		}
		update_and_getdata = KitSessionModel().update_kitbo_and_getdata(data_for_update,session_id,conf_id,conf_key)
		html_data = render_template('kitsession_counter/kit_session_table.html',r_data =update_and_getdata)
		data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
		return json.dumps(data)
	else :
		data = {"html_data" :[''],'status' : 2 ,"msg" : "Invalid session ID"}
		return "Invalid Login"
	
@app.route('/delete_kit_session_index',methods = ["GET","POST"])
def DeleteKitsessionIndex():
	session_id    = request.values.get('session_id')
	delet_data = KitSessionModel().delete_kit_session_index(session_id)
	html_data = render_template('kitsession_counter/kit_session_table.html',r_data =delet_data)
	data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
	return json.dumps(data)		
	
	
# Create kit session option
@app.route('/<int:conf_id>/<conf_key>/create_kcsessions', methods = ["GET","POST"])
def CreateKcSessions(conf_id,conf_key):
	now        = datetime.now()
	current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
	session_data_1 = []
	session_key    = 111

	getKcConfData = KitSessionModel().getKcConfData(conf_id,conf_key)
	if getKcConfData :
		conf_start_time = getKcConfData["conf_start_time"]
		conf_end_time   = getKcConfData["conf_end_time"]
		if not conf_start_time and not conf_end_time :
			flash('Cannot created sessions without conference start and end date.',"errorMsg")
			return redirect(url_for('food_session.FoodSessionIndex' ,conf_id = conf_id,conf_key = conf_key))
		else:
			KcsessionData = KitSessionModel().getKcsessionData(conf_id,conf_key)
			
			if KcsessionData:
				flash('Already session created for kit counter',"errorMsg")
				return redirect(url_for('kit_session.KitSessionIndex' ,conf_id = conf_id,conf_key = conf_key))

			else :
				kit_start_time = conf_start_time + timedelta(hours=6)					
				kit_start_time = kit_start_time.strftime("%Y-%m-%d %H:%M") # string format f
				kit_end_time   = conf_end_time.strftime("%Y-%m-%d %H:%M") # string format f

				session_data_1 = ("Delegate KIT ",session_key,kit_start_time,kit_end_time,current_dt,conf_id,conf_key)
				session_insert_stmt = "INSERT INTO kc_sessions ( session_name,session_key,start_time,end_time,created_at,conf_id,conf_key) VALUES"+str(session_data_1)+" ;" 

				KitSessionModel().insert_kit_session(session_insert_stmt)
				flash('Kit counter session(s) successfuylly created.',"successMsg")
				return redirect(url_for('kit_session.KitSessionIndex' ,conf_id = conf_id,conf_key = conf_key))	
	else:
		flash('Invalid URL.',"errorMsg")
		return "<h2 style= 'color:red;text-align:center' ; >Invalid URL </h2>"
		
	# remove kit scan data start 
@app.route('/<int:conf_id>/<conf_key>/kc_delete', methods = ["GET","POST"])
def KcDelete(conf_id,conf_key):
	getKcConfData = KitSessionModel().getKcConfData(conf_id,conf_key)
	if getKcConfData :
		kc_session_entry_table = getKcConfData["kc_session_entry_table_name"]
		del_table_name         = getKcConfData["del_table_name"]
		session_names          = KitSessionModel().getkcsession_names(conf_id)
		return render_template('kitsession_counter/kc_scanned_data_screen.html',conf_id = conf_id,conf_key = conf_key,session_names=session_names,kc_session_entry_table=kc_session_entry_table,del_table_name=del_table_name)
	else:
		flash('Invalid URL  mismach.',"errorMsg")
		return "<h2 style= 'color:red;text-align:center' ; >Invalid URL </h2>"


@app.route('/<int:conf_id>/<conf_key>/view_kc_delete_session_entry', methods = ["GET","POST"])
def ViewKcDeleteSessionEntry(conf_id,conf_key):
	try:
		session_id             = request.values.get("session_id")  or None
		delegate_nos           = request.values.get("delegate_nos")  or '0'
		kc_session_entry_table = request.values.get("kc_session_entry_table") or None
		del_table_name         = request.values.get("del_table_name") or None
		full_name              = request.values.get("full_name") or None
		if delegate_nos :
			delegate_nos = delegate_nos.replace(" ","")
			delegate_nos = delegate_nos.replace(".",",")
			delegate_nos = delegate_nos.replace(",,",",")
			delegate_nos = delegate_nos[:-1] if delegate_nos.endswith(",") else delegate_nos or None

		kc_scanned_data = KitSessionModel().getKcsession_data_by_delno(conf_id,kc_session_entry_table,del_table_name,session_id,delegate_nos,full_name)
		html_data =  render_template('kitsession_counter/kc_session_entry_data_table.html',conf_id=conf_id,conf_key=conf_key,kc_scanned_data=kc_scanned_data,session_id=session_id,delegate_nos=delegate_nos,full_name=full_name)
		data = { "html_data":html_data,"msg" : "" ,"status" : 1}
		return json.dumps(data,default=str)

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

@app.route('/<int:conf_id>/<conf_key>/kc_delete_data_index', methods = ["GET","POST"])
def kc_delete_data_index(conf_id,conf_key):
	try:
		getKcConfData = KitSessionModel().getKcConfData(conf_id,conf_key)
		if getKcConfData :
			kc_session_entry_table = getKcConfData["kc_session_entry_table_name"]
			del_table_name         = getKcConfData["del_table_name"]
			session_id             = request.values.get("session_id")  or None
			delegate_nos           = request.values.get("delegate_nos")  or None
			full_name              = request.values.get("full_name")  or None
			uncheck_del_nos        = request.values.get("uncheck_del_nos") or None
			kc_deleted_data        = KitSessionModel().DeleteKcsession_data_by_delno(kc_session_entry_table,session_id,delegate_nos)
			balance_uncheck_data   = KitSessionModel().getKcsession_data_by_delno_uncheck(kc_session_entry_table,del_table_name,session_id,uncheck_del_nos,full_name)
			
			html_data              = render_template('kitsession_counter/kc_session_entry_data_table.html',conf_id=conf_id,conf_key=conf_key,kc_scanned_data=balance_uncheck_data,session_id=session_id,delegate_nos=uncheck_del_nos)
			if kc_deleted_data == "success":
				data = {"html_data":html_data,"msg" : "Successfully Deleted ." ,"status" : 1}
			else:
				data = {"html_data":html_data,"msg" : "'Deleted Failed'" ,"status" : 2}
			return json.dumps(data,default=str)
		else:
			data = {"html_data":"","msg" : "'Invalid URL  mismach.'" ,"status" : 3}
		return json.dumps(data,default=str)
	except Exception as e:
		data = {"html_data":"","html_data":"","msg" : str(e) ,"status" : 401}
		return json.dumps(data,default=str)

# remove kit scan data end 

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