Sindbad~EG File Manager
from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json
from core.model.FoodSessionModel import FoodSessionModel
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('food_session', __name__)
@app.route('/<int:conf_id>/<conf_key>/food_sessionlogin',methods = ["GET", "POST"])
def FoodSessionLogin(conf_id,conf_key):
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
getFcConfData = FoodSessionModel().getFcConfData(conf_id,conf_key)
if getFcConfData :
conf_name = getFcConfData["conf_name"]
if session.get("fcbosession"):
return redirect(url_for('food_session.FoodSessionIndex',conf_id = conf_id,conf_key = conf_key))
else :
return render_template('foodsession_counter/food_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_food_session_login', methods = ["GET","POST"])
def PostFoodSessionLogin():
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 user_name and password')
return redirect (url_for('food_session.FoodSessionLogin',conf_id = conf_id,conf_key = conf_key))
else :
us = FoodSessionModel()
user_output = us.getDataByUsername(user_name)
if user_output :
db_pass = user_output['password']
if password == db_pass:
fc_user_id = user_output['fc_user_id']
us.updateFCLoginTime(fc_user_id,current_dt);
session["fcbosession"] = user_output
flash("Login successful." ,"successMsg")
return redirect (url_for('food_session.FoodSessionIndex',conf_id = conf_id,conf_key = conf_key))
else:
flash('Passsword invalid. Please check the password.',"errorMsg" )
return redirect (url_for('food_session.FoodSessionLogin',conf_id = conf_id,conf_key = conf_key))
else:
flash("Email id is not registered." ,"errorMsg" )
return redirect (url_for('food_session.FoodSessionLogin',conf_id = conf_id,conf_key = conf_key))
else:
return redirect (url_for('food_session.FoodSessionLogin',conf_id = conf_id,conf_key = conf_key))
@app.route('/<int:conf_id>/<conf_key>/foodsession_logout',methods = ["GET", "POST"])
def FoodSessionLogout(conf_id,conf_key):
if session.get("fcbosession") :
session.pop('fcbosession', None)
flash("Logout successful." ,"successMsg")
else :
pass
return redirect(url_for('food_session.FoodSessionLogin',conf_id = conf_id,conf_key = conf_key))
@app.route('/<int:conf_id>/<conf_key>/food_session_index',methods = ["GET", "POST"])
def FoodSessionIndex(conf_id,conf_key):
getFcConfData = FoodSessionModel().getFcConfData(conf_id,conf_key)
if getFcConfData :
conf_name = getFcConfData["conf_name"]
if session.get("fcbosession"):
session_data = FoodSessionModel().getFCBOSessionData(conf_id,conf_key)
html_data = render_template('foodsession_counter/food_session_table.html',fcbo_data =session_data)
return render_template('foodsession_counter/food_session_index.html',html_data=html_data,conf_id = conf_id,conf_key = conf_key,conf_name = conf_name)
else:
flash("Invalid Login." ,"errorMsg")
return redirect(url_for('food_session.FoodSessionLogin' ,conf_id = conf_id,conf_key = conf_key))
else:
return "<h4 style= 'color:red' ; >Invalid URL </h4>"
@app.route('/post_food_session', methods = ["GET", "POST"])
def PostFoodSession():
data = None
if session.get("fcbosession") :
session_data = session.get("fcbosession")
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
conf_id = request.values.get("conf_id") or None
conf_key = request.values.get("conf_key") or None
# fetching data from form..
data = {
'session_name' : session_name,
'session_key' : session_key,
'start_time' : start_time,
'end_time' : end_time,
'conf_id': conf_id,
'conf_key': conf_key,
'created_at': current_dt
}
insert_fcbo = FoodSessionModel().insert_fcbodata_and_getdata(data,conf_id,conf_key)
html_data = render_template('foodsession_counter/food_session_table.html',fcbo_data =insert_fcbo)
data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
return json.dumps(data)
else:
return json.dumps(data)
@app.route('/edit_food_session_index',methods = ["GET","POST"])
def EditFoodSessionIndex():
session_id = request.values.get("session_id")
fcbo_data = FoodSessionModel().edit_fcbo(session_id)
# states = RegisterModel().get_states() # if we use state in edit form un comment this line
if fcbo_data :
data = {'fcbo_data' :fcbo_data ,'msg' : 'success' ,'status' : 1}
else :
data = {'fcbo_data' :[] ,'msg' : 'data not exist' ,'status' : 2}
return json.dumps(data,default=str)
@app.route('/update_food_session_index', methods = ["GET","POST"])
def UpdateFoodSessionIndex():
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 = FoodSessionModel().update_fcbo_and_getdata(data_for_update,session_id,conf_id,conf_key)
html_data = render_template('foodsession_counter/food_session_table.html',fcbo_data =update_and_getdata)
data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
return json.dumps(data)
@app.route('/delete_fcbo_session_index',methods = ["GET","POST"])
def DeleteFcbosessionIndex():
session_id = request.values.get('session_id')
delet_data = FoodSessionModel().delete_fcbo_session_index(session_id)
html_data = render_template('foodsession_counter/food_session_table.html',fcbo_data =delet_data)
data = {"html_data" : html_data ,"status" : 1 , "msg" : "success"}
return json.dumps(data)
@app.route('/update_food_start_time', methods = ["GET","POST"])
def UpdateFoodStartTime():
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") or None
conf_key = request.values.get("conf_key") or None
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 = FoodSessionModel().update_fcbo_and_getdata(data_for_update,session_id,conf_id,conf_key)
html_data = render_template('foodsession_counter/food_session_table.html',fcbo_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 login"}
return "Invalid login"
@app.route('/update_food_end_time', methods = ["GET","POST"])
def UpdateFoodEndTime():
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") or None
conf_key = request.values.get("conf_key") or None
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 = FoodSessionModel().update_fcbo_and_getdata(data_for_update,session_id,conf_id,conf_key)
html_data = render_template('foodsession_counter/food_session_table.html',fcbo_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 login"}
return "Invalid login"
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists