Sindbad~EG File Manager
from flask import request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json,render_template_string
from core.model.BadgeModel import BadgeModel
from core.model.FoodSessionModel import FoodSessionModel
from core.model.KitModel import KitModel
from core.model.VenueScanModel import VenueScanModel
from core.model.KitSessionModel import KitSessionModel
from .. import Cryptography,Helper
# from flask import session, app
from random import randint
import datetime
from datetime import timedelta,date,datetime,time
# import requests, json
from werkzeug.utils import secure_filename
from os.path import join, dirname, realpath
import os
import flask
import string
import boto3, botocore
from flask import Flask
import barcode
from barcode import EAN8
from barcode import EAN13
from barcode.writer import ImageWriter
# from Code128 import Code128
# from base64 import b64encode
from collections import defaultdict
import math
from core import app
# from flask_qrcode import QRcode
app = Blueprint('venue_scan', __name__)
@app.route('/<int:conf_id>/<conf_key>/venue_entry_login',methods = ["GET", "POST"])
def VenueEntryLogin(conf_id,conf_key):
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData :
conf_name = getConfData["conf_name"]
if session.get("venue_entry_session") :
return redirect(url_for('venue.VenueEntryScan',conf_id =conf_id ,conf_key = conf_key))
else :
return render_template('VenueScan/venue_entry_login.html' , conf_id = conf_id ,conf_key =conf_key ,conf_name =conf_name)
else :
return "<h4 style= 'color:red' ; > Invalid URL </h4>"
@app.route('/post_venue_entry_login', methods = ["POST"])
def PostVenueEntryLogin():
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
current_dt = "2023-07-26 00:00:00"
if request.method == "POST":
session_pin = request.form['session_key']
conf_id = request.form['conf_id']
conf_key = request.form['conf_key']
if not session_pin:
flash('Please enter session pin',"errorMsg")
return redirect (url_for('venue_scan.VenueEntryLogin'))
else :
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData:
db_session_pin = 1111
if int(db_session_pin) == int(session_pin):
session["venue_entry_session"] = getConfData
flash('Login sucessfully.',"successMsg" )
return redirect (url_for('venue_scan.VenueEntryScan',conf_id =conf_id ,conf_key = conf_key))
else :
flash("Ivalid session key" ,"errorMsg")
return redirect (url_for('venue_scan.VenueEntryLogin',conf_id =conf_id ,conf_key = conf_key))
else:
flash('Invalid Session Key.',"errorMsg" )
return redirect (url_for('venue_scan.VenueEntryLogin',conf_id =conf_id ,conf_key = conf_key))
else:
flash('Invalid Session Key.',"errorMsg" )
return redirect (url_for('venue_scan.VenueEntryLogin',conf_id =conf_id ,conf_key = conf_key))
@app.route('/<int:conf_id>/<conf_key>/venue_entry_scan',methods = ["GET", "POST"])
def VenueEntryScan(conf_id,conf_key):
total_count = 0
start_time = ""
end_time = ""
session_name = ""
now = datetime.now()
current_dt = now.strftime("%d-%m-%Y %H:%M:%S")
current_dt_1 = now.strftime("%Y-%m-%d %H:%M:%S")
#start
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData :
if session.get("venue_entry_session") :
session_data = session.get("venue_entry_session")
return render_template('VenueScan/venue_entry_scan_page.html' ,conf_id= conf_id,conf_key=conf_key)
else :
if session.get("venue_entry_session") :
session.pop('venue_entry_session', None)
else :
pass
flash("Invalid session" ,"errorMsg")
return redirect(url_for('venue_scan.VenueEntryLogin' ,conf_id =conf_id ,conf_key = conf_key))
else :
return "<h4 style= 'color:red' ; > Invalid URL </h4>"
# end
@app.route('/post_venue_entry_scan_data', methods = ["POST"])
def PostVenueEntryScanData():
try:
# time.sleep(1)
if session.get("venue_entry_session") :
session_data = session.get("venue_entry_session")
conf_id = session_data["conf_id"]
del_table_name = session_data["del_table_name"]
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
delegate_no = request.form['delegate_no']
if delegate_no :
delegate_no =delegate_no.lstrip('0')
# fetching data from form..
ent_scan_table = 'entrance_exit_scan'
is_entry_scan = '1'
insert_data = VenueScanModel().insertEntryScannedData(conf_id,delegate_no,del_table_name,ent_scan_table,is_entry_scan)
data = insert_data
json_data = jsonify(data)
return json_data
else :
data = {"delegate_no" : delegate_no, "full_name" : "" ,"role" : " ","scan_at" : "" ,"msg" : "Invalid login" ,"status" : 4}
json_data = json.dumps(data,default=str)
return json_data
except Exception as e:
data = {"delegate_no" : "", "full_name" : "" ,"role" : " ","scan_at" : "" ,"msg" : str(e) ,"status" : 401}
json_data = json.dumps(data,default=str)
return json_data
@app.route('/<int:conf_id>/<conf_key>/Venue_entry_logout',methods = ["GET", "POST"])
def VenueEntryLogout(conf_id,conf_key):
if session.get("venue_entry_session") :
session.pop('venue_entry_session', None)
else :
pass
return redirect(url_for('venue_scan.VenueEntryLogin' ,conf_id = conf_id,conf_key= conf_key))
# Venue Exit Entry
@app.route('/<int:conf_id>/<conf_key>/venue_exit_login',methods = ["GET", "POST"])
def VenueExitLogin(conf_id,conf_key):
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData :
conf_name = getConfData["conf_name"]
if session.get("venue_exit_session") :
return redirect(url_for('venue_scan.VenueExitScan',conf_id =conf_id ,conf_key = conf_key))
else :
return render_template('VenueScan/venue_exit_login.html' , conf_id = conf_id ,conf_key =conf_key)
else :
return "<h4 style= 'color:red' ; > Invalid URL </h4>"
@app.route('/post_venue_exit_login', methods = ["POST"])
def PostVenueExitLogin():
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
current_dt = "2023-07-26 00:00:00"
if request.method == "POST":
session_pin = request.form['session_key']
conf_id = request.form['conf_id']
conf_key = request.form['conf_key']
if not session_pin:
flash('Please enter session_key',"errorMsg")
return redirect (url_for('venue_scan.VenueExitLogin'))
else :
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData:
db_session_key = 9999
if int(session_pin) == int(db_session_key):
session["venue_exit_session"] = getConfData
flash('Login sucessfully.',"successMsg" )
return redirect (url_for('venue_scan.VenueExitScan',conf_id =conf_id ,conf_key = conf_key))
else :
flash("Ivalid session key" ,"errorMsg")
return redirect (url_for('venue_scan.VenueExitLogin',conf_id =conf_id ,conf_key = conf_key))
else:
flash('Invalid Session Key.',"errorMsg" )
return redirect (url_for('venue_scan.VenueExitLogin',conf_id =conf_id ,conf_key = conf_key))
else:
flash('Invalid Session Key.',"errorMsg" )
return redirect (url_for('venue_scan.VenueExitLogin',conf_id =conf_id ,conf_key = conf_key))
@app.route('/<int:conf_id>/<conf_key>/venue_exit_scan',methods = ["GET", "POST"])
def VenueExitScan(conf_id,conf_key):
total_count = 0
start_time = ""
end_time = ""
session_name = ""
now = datetime.now()
current_dt = now.strftime("%d-%m-%Y %H:%M:%S")
current_dt_1 = now.strftime("%Y-%m-%d %H:%M:%S")
#start
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData :
conf_name = getConfData["conf_name"]
del_table_name = getConfData["del_table_name"]
if session.get("venue_exit_session") :
session_data = session.get("venue_exit_session")
# check session is end or not
return render_template('VenueScan/venue_exit_scan_page.html' ,conf_id= conf_id,conf_key=conf_key)
else :
if session.get("venue_exit_session") :
session.pop('venue_exit_session', None)
else :
pass
flash("Invalid session" ,"errorMsg")
return redirect(url_for('venue_scan.VenueExitLogin' ,conf_id =conf_id ,conf_key = conf_key))
else :
return "<h4 style= 'color:red' ; > Invalid URL </h4>"
# end
@app.route('/post_venue_exit_scan_data', methods = ["POST"])
def PostVenueExitScanData():
try:
# time.sleep(1)
if session.get("venue_exit_session") :
session_data = session.get("venue_exit_session")
conf_id = session_data["conf_id"]
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
delegate_no = request.form['delegate_no']
if delegate_no :
delegate_no = delegate_no.lstrip('0')
del_table_name = session_data["del_table_name"]
# fetching data from form..
ent_scan_table = 'entrance_exit_scan'
is_entry_scan = '0'
insert_data = VenueScanModel().insertEntryScannedData(conf_id,delegate_no,del_table_name,ent_scan_table,is_entry_scan)
data = insert_data
json_data = jsonify(data)
return json_data
else :
data = {"delegate_no" : delegate_no, "full_name" : "" ,"role" : " ","scan_at" : "" ,"msg" : "Invalid login" ,"status" : 4}
json_data = json.dumps(data,default=str)
return json_data
except Exception as e:
data = {"delegate_no" : "", "full_name" : "" ,"role" : " ","scan_at" : "" ,"msg" : str(e) ,"status" : 401}
json_data = json.dumps(data,default=str)
return json_data
@app.route('/<int:conf_id>/<conf_key>/Venue_exit_logout',methods = ["GET", "POST"])
def VenueExitLogout(conf_id,conf_key):
if session.get("venue_exit_session") :
session.pop('venue_exit_session', None)
else :
pass
return redirect(url_for('venue_scan.VenueExitLogin' ,conf_id = conf_id,conf_key= conf_key))
@app.route('/<int:conf_id>/<conf_key>/venue_scan_dashboard',methods = ["GET", "POST"])
def VenueScanDashboard(conf_id,conf_key):
getConfData = VenueScanModel().getVenueScanConf(conf_id,conf_key)
if getConfData :
conf_name = getConfData["conf_name"]
if session.get("venue_entry_session") :
return render_template('VenueScan/venue_scan_dashboard.html' , conf_id = conf_id ,conf_key =conf_key ,conf_name =conf_name)
elif session.get("venue_exit_session") :
return render_template('VenueScan/venue_scan_dashboard.html' , conf_id = conf_id ,conf_key =conf_key ,conf_name =conf_name)
else:
return render_template('VenueScan/venue_entry_login.html' , conf_id = conf_id ,conf_key =conf_key ,conf_name =conf_name)
else :
return "<h4 style= 'color:red' ; > Invalid URL </h4>"
@app.route('/<int:conf_id>/<conf_key>/post_venue_scan_data', methods = ["GET","POST"])
def PostVenueScanData(conf_id,conf_key):
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
scan_date = request.values.get('scan_date' or None)
start_time = request.values.get('start_time' or None)
end_time = request.values.get('end_time' or None)
is_unique_count = request.values.get('is_unique_count' or None)
total_entry_count = 0
total_exit_count = 0
total_scanned_count = 0
report_data = VenueScanModel().venue_scan_report(conf_id,scan_date,start_time,end_time,is_unique_count)
if report_data:
for index, value in enumerate(report_data):
if value['is_entry']:
total_entry_count = total_entry_count+value['is_entry']
if value['is_exit']:
total_exit_count = total_exit_count+value['is_exit']
if value['scanned_count']:
total_scanned_count = total_scanned_count+value['scanned_count']
if int(is_unique_count) == 1:
table_data_name = 'Unique Count'
elif int(is_unique_count) == 2:
table_data_name = 'Venue Inside Count'
elif int(is_unique_count) == 3:
table_data_name = 'Venue Entered Count (Unique)'
elif int(is_unique_count) == 4:
table_data_name = 'Venue Entered Count (Over-all)'
else:
table_data_name = 'Over-all Count'
html_data = render_template('VenueScan/venue_scan_report_table.html' , conf_id = conf_id ,conf_key =conf_key ,data=report_data,total_entry_count=total_entry_count,total_exit_count=total_exit_count,total_scanned_count=total_scanned_count,table_data_name=table_data_name)
data = {'html_data':html_data,'msg':"view report",'status':1}
json_data = jsonify(data)
return json_data
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists