Sindbad~EG File Manager
from flask import request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json
from core.model.BadgeModel import BadgeModel
from core.model.RegdeskModel import RegdeskModel
from .. import Custom
from .. import Cryptography
from flask import app
from random import randint
import datetime
from datetime import timedelta,date,datetime,time
from werkzeug.utils import secure_filename
from os.path import join, dirname, realpath
import os
from collections import OrderedDict
from collections import defaultdict
from json import dumps
import string
import random
import requests
app = Blueprint('regdesk', __name__)
@app.route('/boa_venue', methods = ["GET", "POST"])
def BOAVenue():
return render_template('boa_venue.html')
# http://127.0.0.1:5003/regdesk_login?regdesk_pin=5555&api_key=w347H52d96
@app.route('/regdesk_login', methods = ["GET", "POST"])
def RegdeskLogin():
json_data = []
confData = []
delegate_data = []
msg = ""
signed_count = 0
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
curr_date = now.strftime("%Y-%m-%d")
try:
APIKEY = request.values.get("api_key",None)
regdesk_pin = request.values.get('regdesk_pin') or None
signup_for_alldays = request.values.get('signup_for_alldays') or 0
signup_for_alldays = int(signup_for_alldays) if signup_for_alldays else 0
if APIKEY and APIKEY == Custom.APIKEY :
confData = RegdeskModel().getConfDataForRegdesk(regdesk_pin)
if confData :
conf_start_time = confData["conf_start_time"]
conf_end_time = confData["conf_end_time"]
del_table_name = confData["del_table_name"]
conf_id = confData["conf_id"]
conf_key = confData["conf_key"]
signup_table = confData["signup_table"] # March 07 2023
# signup_for_alldays = confData["signup_for_alldays"] # March 07 2023
conf_start_time_str = conf_start_time.strftime("%Y-%m-%d %H:%M:%S")
conf_end_time_str = conf_end_time.strftime("%Y-%m-%d %H:%M:%S")
if conf_start_time < now < conf_end_time :
delegateData = RegdeskModel().delegateData(conf_id,del_table_name,signup_for_alldays,signup_table,curr_date)
if delegateData :
delegate_data = delegateData
key_order = ["delegate_id","delegate_no","role","full_name","email","mobile","city","state","membership_no","mc_number","counter","batch","signed_by","comments","signed_on","updated_at","conf_id","reg_remarks"]
# for index,value in enumerate(delegate_data) :
# signed_on = value["signed_on"]
# if signed_on :
# signed_count = signed_count + 1
data = {'conf_data' : confData ,'delegate_data' : delegate_data ,'signed_count': signed_count ,'msg' : "success", 'status' : 1}
result = defaultdict(list)
for dic in data["delegate_data"]:
signed_on = dic["signed_on"]
if signed_on :
signed_count = signed_count + 1
ordered = OrderedDict((key, dic.get(key)) for key in key_order)
result["delegate_data"].append(ordered)
data["signed_count"] = signed_count
json_data = dumps(data ,default=str)
return json_data
else :
data = {'conf_data' : confData ,'delegate_data' : "" ,'signed_count': signed_count ,'msg' : "Delegate Records not exist", 'status' : 7}
json_data = json.dumps(data,default= str)
return json_data
elif conf_start_time > now :
status = 4
msg = "Conference not yet start. It will start on " + conf_start_time_str
elif now > conf_end_time :
status = 5
msg = "Conference is completed on "+ conf_end_time_str
else :
msg = "Try again"
status = 6
data = {'conf_data' : confData ,'delegate_data' : delegate_data ,'signed_count': signed_count ,'msg' : msg, 'status' : status}
else :
data = {'conf_data' : [] ,'delegate_data' : delegate_data ,'signed_count': signed_count,'msg' : 'Invalid pin or Regdesk may be closed.', 'status' : 3}
else :
data = {'conf_data' : [] ,'delegate_data' : delegate_data,'signed_count': signed_count, 'msg' : 'Invalid API KEY', 'status' : 2}
json_data = json.dumps(data,default= str)
return json_data
except Exception as e:
data = {'conf_data' : [],'delegate_data' : delegate_data ,'signed_count': signed_count, 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data,default= str)
return json_data
# ---------------- not complete ------- Feb 25, 2023
# http://127.0.0.1:5001/save_singup_record?api_key=w347H52d96&conf_id=1&delegate_no=1&del_table_name=delegates_iages23&signed_by=DELEGATE
@app.route('/save_signup_record', methods = ["GET", "POST"])
def SaveSignupRecord():
json_data = {}
delegate_nos = []
signed_count = 0
msg = ""
update_stmt = ""
signed_on_1 = None
signed_count_1 = None
is_valid = "Invalid"
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
curr_date = now.strftime("%Y-%m-%d")
try:
conf_id = request.values.get('conf_id') or None
APIKEY = request.values.get("api_key") or None
del_table_name = request.values.get('del_table_name') or None
delegate_no = request.values.get('delegate_no') or None
signup_for_alldays = request.values.get('signup_for_alldays') or 0
signup_table = request.values.get('signup_table') or None
if delegate_no :
delegate_no = int(delegate_no)
signed_by = request.values.get('signed_by') or 'DELEGATE'
comments = request.values.get('comments') or None
signed_on = curr_dt
sync_at = curr_dt
updated_at = curr_dt
if APIKEY and APIKEY == Custom.APIKEY :
update_and_get_count = RegdeskModel().updateAndGetSignedCountForAndroidSignup(conf_id,delegate_no,del_table_name,curr_dt,signed_by,comments,curr_date,signup_for_alldays,signup_table)
if update_and_get_count :
for index,value in enumerate(update_and_get_count) :
if index == 0 :
is_valid_1 = value
if index == 1 :
signed_on_1 = value
if index == 2 :
signed_count_1 = value
if signed_count_1 :
signed_count = signed_count_1[0]["signed_count"]
# March 01, 2023
if is_valid_1 :
is_valid = is_valid_1[0]["is_valid"]
signed_on = None
if is_valid != "Valid" :
msg = "Sorry !. " + str(delegate_no) + " is doesn't exists in badge count list"
status = 5
data = {"signed_count" : signed_count, "signed_on" : signed_on, "msg" : msg , "status" : status}
json_data = json.dumps(data ,default=str)
return json_data
# end
if signed_on_1 :
signed_on = signed_on_1[0]["signed_on"]
if signed_on :
status = 3
signed_on = datetime.strptime(signed_on, '%Y-%m-%d %H:%M:%S')
signed_on = signed_on.strftime("%d-%m-%Y %H:%M:%S")
msg = "Already signed at " + signed_on
else:
status = 1
msg = "success"
data = {"signed_count" : signed_count, "signed_on" : signed_on, "msg" : msg , "status" : status}
json_data = json.dumps(data ,default=str)
return json_data
else :
msg = "Signed data does not exist"
status = 4
data = {"signed_count" : signed_count, "signed_on" : "", "msg" : msg , "status" : status}
json_data = json.dumps(data ,default=str)
return json_data
else :
data = {'signed_count' : 0 ,'signed_on' : "", 'msg' : 'Invalid API KEY', 'status' : 2}
json_data = json.dumps(data ,default=str)
return json_data
except Exception as e:
data = {'signed_count' : 0,'signed_on' : "" , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str)
return json_data
# ---------------
# 2023-02-26 sync all data with signed count
# http://127.0.0.1:5003/sync_toandroid_with_count?api_key=w347H52d96&conf_id=1&del_table_name=delegates_iages23&signup_for_alldays=0&signup_table=numerotech_primary_db_conf.signup_demo
@app.route('/sync_toandroid_with_count', methods = ["GET", "POST"])
def SyncToAndroidWithCount():
json_data = {}
signed_count = 0
msg = ""
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
curr_date = now.strftime("%Y-%m-%d")
key_order = ["delegate_id","delegate_no","role","full_name","email","mobile","city","state","membership_no","mc_number","counter","batch","signed_by","comments","signed_on","updated_at","conf_id","reg_remarks"]
try:
APIKEY = request.values.get("api_key") or None
conf_id = request.values.get('conf_id') or None
del_table_name = request.values.get('del_table_name') or None
is_scanned_list= request.values.get('is_scanned_list') or 0
date_1 = request.values.get('date_1') or curr_date # It means curr date
# updated on March 07, 2023
signup_for_alldays = request.values.get('signup_for_alldays') or 0
signup_table = request.values.get('signup_table') or None
regdesk_pin = request.values.get('regdesk_pin') or None # March13 ,2023
data = {"regdesk_pin" : regdesk_pin , "signup_table" : signup_table, "signup_for_alldays" : signup_for_alldays , "date_1" : date_1 , "is_scanned_list" : is_scanned_list , "del_table_name" : del_table_name , "conf_id" : conf_id }
# return ( json.dumps(data, default = str ) ) # Just for testing
if APIKEY and APIKEY == Custom.APIKEY :
confData = RegdeskModel().getConfDataForRegdesk(regdesk_pin)
if confData :
conf_start_time = confData["conf_start_time"]
conf_end_time = confData["conf_end_time"]
del_table_name = confData["del_table_name"]
conf_id = confData["conf_id"]
conf_key = confData["conf_key"]
signup_table = confData["signup_table"] # March 07 2023
# signup_for_alldays = confData["signup_for_alldays"] # March 07 2023
conf_start_time_str = conf_start_time.strftime("%Y-%m-%d %H:%M:%S")
conf_end_time_str = conf_end_time.strftime("%Y-%m-%d %H:%M:%S")
if conf_start_time < now < conf_end_time :
# Added on Aug 02 2023
# return str(is_scanned_list)
if is_scanned_list and int(is_scanned_list)> 0 :
# return (" scanned list block -- " + str(signup_for_alldays) )
delegate_data_and_count = RegdeskModel().syncAllDataScannedListOnly(conf_id,del_table_name,date_1,signup_for_alldays,signup_table)
else :
# return "else block calling"
delegate_data_and_count = RegdeskModel().syncAllDataWithSignedCountForAndroidSignup(conf_id,del_table_name,date_1,signup_for_alldays,signup_table)
if delegate_data_and_count :
for index,value in enumerate(delegate_data_and_count) :
if index == 0 :
delegate_data = value
if index == 1 :
signed_count_1 = value
if signed_count_1 :
signed_count = signed_count_1[0]["signed_count"]
data = {"delegate_data" : delegate_data,"signed_count" : signed_count, "msg" : "success" , "status" : 1}
result = defaultdict(list)
for dic in data["delegate_data"]:
ordered = OrderedDict((key, dic.get(key)) for key in key_order)
result["delegate_data"].append(ordered)
json_data = dumps(data ,default=str)
return json_data
else :
msg = "Signed data does not exist"
status = 3
data = { "delegate_data" : "","signed_count" : signed_count, "msg" : msg , "status" : status}
# json_data = json.dumps(data ,default=str)
json_data = jsonify(data)
return json_data
else :
data = {'delegate_data' : '','signed_count' : 0 ,'msg' : 'Registration desk closed.', 'status' : 500}
json_data = jsonify(data)
return json_data
else :
data = {'delegate_data' : '','signed_count' : 0 ,'msg' : 'Invalid PIN.', 'status' : 500}
json_data = jsonify(data)
return json_data
else :
data = {'delegate_data' : '','signed_count' : 0 ,'msg' : 'Invalid API KEY', 'status' : 2}
json_data = json.dumps(data ,default=str)
return json_data
except Exception as e:
data = {'signed_count' : 0,'signed_count' : 0 , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str)
return json_data
# @app.route('/sync_toandroid_with_count', methods = ["GET", "POST"])
# def SyncToAndroidWithCount():
# json_data = {}
# signed_count = 0
# msg = ""
# now = datetime.now()
# curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
# curr_date = now.strftime("%Y-%m-%d")
# key_order = ["delegate_id","delegate_no","role","full_name","email","mobile","city","state","membership_no","mc_number","counter","batch","signed_by","comments","signed_on","updated_at","conf_id"]
# try:
# APIKEY = request.values.get("api_key") or None
# conf_id = request.values.get('conf_id') or None
# del_table_name = request.values.get('del_table_name') or None
# date_1 = request.values.get('date_1') or curr_date # It means curr date
# # updated on March 07, 2023
# signup_for_alldays = request.values.get('signup_for_alldays') or 0
# signup_table = request.values.get('signup_table') or None
# if APIKEY and APIKEY == Custom.APIKEY :
# delegate_data_and_count = RegdeskModel().syncAllDataWithSignedCount(conf_id,del_table_name,date_1,signup_for_alldays,signup_table)
# if delegate_data_and_count :
# for index,value in enumerate(delegate_data_and_count) :
# if index == 0 :
# delegate_data = value
# if index == 1 :
# signed_count_1 = value
# if signed_count_1 :
# signed_count = signed_count_1[0]["signed_count"]
# data = {"delegate_data" : delegate_data,"signed_count" : signed_count, "msg" : "success" , "status" : 1}
# result = defaultdict(list)
# for dic in data["delegate_data"]:
# ordered = OrderedDict((key, dic.get(key)) for key in key_order)
# result["delegate_data"].append(ordered)
# json_data = dumps(data ,default=str)
# return json_data
# else :
# msg = "Signed data does not exist"
# status = 3
# data = { "delegate_data" : "","signed_count" : signed_count, "msg" : msg , "status" : status}
# # json_data = json.dumps(data ,default=str)
# json_data = jsonify(data)
# return json_data
# else :
# data = {'delegate_data' : '','signed_count' : 0 ,'msg' : 'Invalid API KEY', 'status' : 2}
# json_data = json.dumps(data ,default=str)
# return json_data
# except Exception as e:
# data = {'signed_count' : 0,'signed_count' : 0 , 'msg' : str(e), 'status' : 401}
# json_data = json.dumps(data ,default=str)
# return json_data
# http://127.0.0.1:5001/get_singup_record?api_key=w347H52d96&del_table_name=delegates_selsi22&device_id=android123
@app.route('/get_singup_record', methods = ["GET", "POST"])
def GetSignupRecord():
json_data = {}
delegate_nos = []
try:
APIKEY = request.values.get("api_key") or None
del_table_name = request.values.get('del_table_name') or None
device_id = request.values.get('device_id') or None
if APIKEY and APIKEY == Custom.APIKEY :
delegate_nos = request.json
if delegate_nos :
delegate_no_str = str(delegate_nos)
delegate_no_str = delegate_no_str.replace("[" , "").replace("]" , "")
else :
delegate_no_str = None
get_singed_data = RegdeskModel().getRegdeskSignedData(del_table_name,delegate_no_str,device_id)
if get_singed_data :
data = {'delegate_data' : get_singed_data , 'msg' : 'success' ,'status' : 1}
else :
data = {'delegate_data' : [] , 'msg' : 'No signed records to update' ,'status' : 2}
else :
data = {'delegate_data' : [] , 'msg' : 'Invalid API KEY', 'status' : 5}
json_data = json.dumps(data,default =str)
return json_data
except Exception as e:
data = {'delegate_data' : [] , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str)
return json_data
# -------- March 03 2023 -----------------------------------
# Generate date list for show in dropdown list in android app
#http://192.168.1.10:5003/get_datelist?api_key=w347H52d96&conf_id=8
@app.route('/get_datelist', methods = ["GET", "POST"])
def GetDateList():
json_data = {}
date_list = []
try:
APIKEY = request.values.get("api_key") or None
conf_id = request.values.get('conf_id') or None
if APIKEY and APIKEY == Custom.APIKEY :
conf_data = RegdeskModel().getConfDates(conf_id)
if conf_data :
start_date = conf_data["conf_start_time"]
end_date = conf_data["conf_end_time"]
curr_date = start_date
delta = end_date - start_date # returns timedelta
x = 2
for i in range(delta.days + 1):
x = x+1
day = start_date + timedelta(days=i)
day_str = day.strftime("%d-%m-%Y")
date_list.append(day_str)
date_list.insert(0, "All Day")
data = {'date_list' : date_list , 'msg' : 'success' ,'status' : 1}
else :
data = {'date_list' : [] , 'msg' : 'No dates' ,'status' : 2}
else :
data = {'date_list' : [] , 'msg' : 'Invalid API KEY', 'status' : 5}
json_data = json.dumps(data,default =str)
return json_data
except Exception as e:
data = {'date_list' : [] , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str)
return json_data
# http://192.168.1.10:5003/get_report?api_key=w347H52d96&conf_id=8&del_table_name=delegates_demo&date_1=2023-03-02
# @app.route('/get_report', methods = ["GET", "POST"])
# def GetReport():
# json_data = {}
# delegate_data = []
# signed_count = 0
# try:
# APIKEY = request.values.get("api_key") or None
# conf_id = request.values.get('conf_id') or None
# del_table_name = request.values.get('del_table_name') or None
# date_1 = request.values.get('date_1') or None
# if APIKEY and APIKEY == Custom.APIKEY :
# delegate_data = RegdeskModel().delegateDatByDatewise(conf_id,del_table_name,date_1)
# if delegate_data :
# signed_count = len(delegate_data)
# data = {'delegate_data' : delegate_data,'signed_count' :signed_count , 'msg' : 'success' ,'status' : 1}
# else :
# data = {'delegate_data' : [],'signed_count' :signed_count , 'msg' : 'No dates' ,'status' : 2}
# else :
# data = {'delegate_data' : [],'signed_count' :signed_count , 'msg' : 'Invalid API KEY', 'status' : 5}
# json_data = json.dumps(data,default =str)
# return json_data
# except Exception as e:
# data = {'delegate_data' : [],'signed_count' :signed_count , 'msg' : str(e), 'status' : 401}
# json_data = json.dumps(data ,default=str)
# return json_data
# March 08, 2023 Get overall count with role wise
# http://127.0.0.1:5003/get_overall_count?api_key=w347H52d96&conf_id=8&del_table_name=delegates_demo&signup_for_alldays=0&signup_table=numerotech_primary_db_conf.signup_demo
@app.route('/get_overall_count', methods = ["GET", "POST"])
def GetOverallCount():
json_data = {}
delegate_data = []
signed_count = 0
oveall_signed_count = 0
date_wise_count = None
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
curr_date = now.strftime("%Y-%m-%d")
try:
APIKEY = request.values.get("api_key") or None
conf_id = request.values.get('conf_id') or None
del_table_name = request.values.get('del_table_name') or None
date_1 = request.values.get('date_1') or None
signup_for_alldays = request.values.get('signup_for_alldays') or 0
signup_table = request.values.get('signup_table') or None
if APIKEY and APIKEY == Custom.APIKEY :
# CALL usp_android_get_overall_signed_count(8,'delegates_demo',null,1,'numerotech_primary_db_conf.signup_demo');
delegate_data = RegdeskModel().getOverAllcountRolewise(conf_id,del_table_name,date_1,signup_for_alldays,signup_table)
if delegate_data :
for index ,value in enumerate(delegate_data) :
if index == 0 :
delegate_data = value
if index == 1 :
sign_count_result = value
if index == 2 :
date_wise_count = value
if sign_count_result :
signed_count = sign_count_result[0]["oveall_signed_count"]
data = {'delegate_data' : delegate_data,'signed_count' :signed_count ,'date_wise_count' : date_wise_count, 'msg' : 'success' ,'status' : 1}
else :
data = {'delegate_data' : [],'signed_count' :signed_count,'date_wise_count' : date_wise_count , 'msg' : 'No dates' ,'status' : 2}
else :
data = {'delegate_data' : [],'signed_count' :signed_count,'date_wise_count' : date_wise_count , 'msg' : 'Invalid API KEY', 'status' : 5}
json_data = json.dumps(data,default =str)
return json_data
except Exception as e:
data = {'delegate_data' : [],'signed_count' :signed_count,'date_wise_count' : date_wise_count , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str)
return json_data
@app.route('/confapp_signin', methods = ["GET", "POST"])
def ConfAppSingin():
json_data = []
confData = []
users = []
email = request.values.get('email') or None
password = request.values.get('password') or None
try:
if email and password :
users = RegdeskModel().GetUserForConfAppLogin(email,password)
if users :
# data_for_update= {""}
data = {"users" : users , "msg" : "success" , "status" : 1 }
else :
data = {"users" : users , "msg" : "Invalid email or password" , "status" : 2 }
json_data = json.dumps(data,default= str)
return json_data
else :
data = {"users" : users , "msg" : "Email and password cannot be blank" , "status" : 3 }
json_data = json.dumps(data,default= str)
return json_data
except Exception as e:
data = {"users" : users , "msg" : str(e) , "status" : 401 }
json_data = json.dumps(data,default= str)
return json_data
# @app.route('/delegate_auto_present_generate', methods = ["GET", "POST"])
# def DelegateAutoPresentGenerate():
# generate_present = RegdeskModel().generateDelegatePresent()
# return "success"
@app.route('/random_password', methods = ["GET", "POST"])
def RandomPassword():
length = 20
characters = string.ascii_letters + string.digits + string.punctuation
# Use random.sample() to generate a list of unique characters
password_characters = random.sample(characters, length)
# Convert the list to a string and return it
password = "".join(password_characters)
return password
@app.route("/get_my_ip", methods=["GET"])
def get_my_ip():
user_agent = request.headers.get('X-Forwarded-For', request.remote_addr)
# user_agent = UserAgent(request.headers.get('User-Agent'))
print("Remote address-------")
print(user_agent)
return user_agent
os_name = user_agent.platform
browser_name = user_agent.browser
return jsonify({'ip_address': request.remote_addr, 'os_name':os_name,'browser_name' : browser_name})
@app.route("/system_log", methods=["GET"])
def SystemLog():
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
try:
# system_data = request.headers.get("user-agent")
# ip_add = request.headers.get('X-Forwarded-For', request.remote_addr)
system_data = request.values.get("system_data") or ""
ip_add = request.values.get("ip_add") or ""
society_id = request.values.get("society_id") or 0
conf_id = request.values.get("conf_id") or 0
email = request.values.get("email") or ""
app_type = request.values.get("app_type") or ""
app_url = request.values.get("app_url") or ""
#data = {"society_id" : society_id,"conf_id":conf_id, "system_data" : system_data, "ip_add" : ip_add, "app_type" : app_type,"app_url" : app_url ,"created_at" : curr_dt }
insert_stmt = "INSERT INTO user_device (society_id,conf_id,email,system_data,ip_add,app_type,app_url,created_at)values("+str(society_id)+", "+str(conf_id)+", '"+email+"','"+system_data+"', '"+ip_add+"', '"+app_type+"','"+app_url+"', '"+curr_dt+"' ) ;"
save_data = RegdeskModel().insertUserDevice(insert_stmt)
if "success" in save_data :
data = {"msg" : "success" ,"status" : 1}
else :
data = {"msg" : save_data ,"status" : 2}
json_data = json.dumps(data,default = str)
return json_data
except Exception as e:
data = {"msg" : str(e) ,"status" : 401}
json_data = json.dumps(data,default = str)
return json_data
@app.route("/call_log", methods=["GET"])
def CallLog():
system_data = request.headers.get("user-agent")
ip_add = request.headers.get('X-Forwarded-For', request.remote_addr)
route_name = request.path
route_name = route_name[1:]
base_url = request.host_url
if "https" in base_url:
pass
else:
base_url = base_url.replace("http","https")
app_url = base_url+route_name
society_id = 17
conf_id = 18
email = "abc@yahoo.com"
params = "system_log?society_id="+str(society_id)+"&conf_id="+str(conf_id)+"&email="+email+"&app_type=DELEGAET&app_url="+app_url+"&ip_add="+ip_add+"&system_data="+system_data
base_url = request.host_url +params
result = requests.get(base_url)
res = result.text
res = json.loads(res)
return str(res)
# Unsginup option from mobile app
# https://conference.numerotech.com/unsignup_from_mobilapp_1
# {"conf_id" : 8 , "delegate_no" : 10000 ,"del_table_name" : "numerotech_foodkit.delegates_demo" , "reason" : "testing by ganesan" , "device_type" : "IOS"}
# @app.route('/unsignup_from_mobilapp_1', methods = ["POST"])
# def UnsignupFromMobileapp1():
# json_data = {}
# data = []
# signed_count=0
# try:
# aa = request.json
# del_table_name = aa['del_table_name'] or None
# conf_id = aa['conf_id'] or None
# delegate_no = aa["delegate_no"] or None
# reason = aa['reason'] or None
# device_type = aa['device_type'] or 'IOS'
# if delegate_no and int(delegate_no) > 0 :
# unsignup = RegdeskModel().unsignupFromMobileApp(conf_id,delegate_no,del_table_name,reason,device_type)
# for index,value in enumerate(unsignup) :
# signed_count = value["signed_count"]
# status = value["status_1"]
# msg = value["msg"]
# data = {"signed_count" : signed_count , "msg" : msg , "status" : status}
# else :
# data = {'signed_count' : 0 , 'msg' : 'Invalid Delegate Number', 'status' : 3}
# json_data = json.dumps(data,default =str)
# return json_data
# except Exception as e:
# signed_count_1 = RegdeskModel().getSignedCount(conf_id,del_table_name)
# if signed_count_1 :
# signed_count = signed_count_1["signed_count"]
# data = {'signed_count' : signed_count , 'msg' : str(e), 'status' : 401}
# json_data = json.dumps(data ,default=str)
# return json_data
# https://conference.numerotech.com/unsignup_from_mobilapp_1
# {"conf_id" : 8 , "delegate_no" : 10000 ,"del_table_name" : "numerotech_foodkit.delegates_demo" , "reason" : "testing by ganesan" , "device_type" : "IOS"}
@app.route('/unsignup_from_mobilapp_1', methods = ["POST"])
def UnsignupFromMobileapp1():
json_data = {}
data = []
signed_count = 0
signup_for_alldays = 0
signup_table = None
date_1 = None
delegate_data = None
del_table_name = None
key_order = ["delegate_id","delegate_no","role","full_name","email","mobile","city","state","membership_no","mc_number","counter","batch","signed_by","comments","signed_on","updated_at","conf_id","reg_remarks"]
req_dict = {}
conf_id = 0
try:
aa = request.json
for index,value in enumerate(aa) :
if index == 0 :
del_table_name = value["del_table_name"]
conf_id = value["conf_id"]
delegate_no = value["delegate_no"]
reason = value["reason"]
device_type = value["device_type"] or 'Android'
if delegate_no and int(delegate_no) > 0 :
unsignup = RegdeskModel().unsignupFromMobileApp(conf_id,delegate_no,del_table_name,reason,device_type)
if unsignup :
for index,value in enumerate(unsignup) :
signed_count = value["signed_count"]
status = value["status_1"]
msg = value["msg"]
# Scanne count
delegate_data = RegdeskModel().syncAllDataScannedListOnly(conf_id,del_table_name,date_1,signup_for_alldays,signup_table)
if delegate_data :
for index,value in enumerate(delegate_data) :
if index == 0 :
delegate_data = value
result = defaultdict(list)
for dic in delegate_data:
ordered = OrderedDict((key, dic.get(key)) for key in key_order)
result["delegate_data"].append(ordered)
data = {"delegate_data" : delegate_data, "signed_count" : signed_count , "msg" : msg , "status" : status}
else :
data = {"delegate_data" : delegate_data,'signed_count' : 0 , 'msg' : 'Invalid Delegate Number', 'status' : 3}
json_data = json.dumps(data,default =str ,sort_keys=False)
return json_data
except Exception as e:
signed_count_1 = RegdeskModel().getSignedCount(conf_id,del_table_name)
if signed_count_1 :
signed_count = signed_count_1["signed_count"]
data = {"delegate_data" : delegate_data,'signed_count' : signed_count , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str,sort_keys=False)
return json_data
# Remove CME Scan record from mobile app
@app.route('/remove_cmescan_from_mobilapp_1', methods = ["POST"])
def RemoveCMESCanFromMobileapp1():
json_data = {}
data = []
signed_count = 0
signup_for_alldays = 1
signup_table = None
date_1 = None
delegate_data = None
del_table_name = None
key_order = ["delegate_id","delegate_no","role","full_name","email","mobile","city","state","membership_no","mc_number","counter","batch","signed_by","comments","signed_on","updated_at","conf_id","reg_remarks"]
req_dict = {}
conf_id = 0
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
curr_date = now.strftime("%Y-%m-%d")
try:
aa = request.json
for index,value in enumerate(aa) :
if index == 0 :
del_table_name = value["del_table_name"]
conf_id = value["conf_id"]
delegate_no = value["delegate_no"]
reason = value["reason"]
device_type = value["device_type"] or 'Android'
signup_table = value["signup_table"]
if delegate_no and int(delegate_no) > 0 :
ret_data = {}
unsignup = RegdeskModel().removeCMEScanRecordFromMobileApp(conf_id,delegate_no,del_table_name,reason,device_type,signup_table)
ret_data = {"conf_id" : conf_id , "delegate_no" : delegate_no , "del_table_name" : del_table_name ,"reason" : reason , "device_type" : device_type , "signup_table" : signup_table }
# return (json.dumps(ret_data , default = str) )
if unsignup :
for index,value in enumerate(unsignup) :
signed_count = value["signed_count"]
status = value["status_1"]
msg = value["msg"]
# Scanne count
date_1 = date_1 if date_1 else curr_date
delegate_data = RegdeskModel().syncAllDataScannedListOnly(conf_id,del_table_name,date_1,signup_for_alldays,signup_table)
if delegate_data :
for index,value in enumerate(delegate_data) :
if index == 0 :
delegate_data = value
result = defaultdict(list)
for dic in delegate_data:
ordered = OrderedDict((key, dic.get(key)) for key in key_order)
result["delegate_data"].append(ordered)
data = {"delegate_data" : delegate_data, "signed_count" : signed_count , "msg" : msg , "status" : status}
else :
data = {"delegate_data" : delegate_data,'signed_count' : 0 , 'msg' : 'Invalid Delegate Number', 'status' : 3}
json_data = json.dumps(data,default =str ,sort_keys=False)
return json_data
except Exception as e:
signed_count = 0
signed_count_1 = RegdeskModel().getCEMSignedCount(conf_id,signup_table,curr_date)
if signed_count_1 :
signed_count = signed_count_1["signed_count"]
data = {"delegate_data" : delegate_data,'signed_count' : signed_count , 'msg' : str(e), 'status' : 401}
json_data = json.dumps(data ,default=str,sort_keys=False)
return json_data
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists