Sindbad~EG File Manager
from flask import render_template,request,flash,redirect,url_for, Blueprint,session,json
import datetime
from datetime import timedelta,date,datetime
from core.model.BOAdminModel import BOAdminModel
# from .. import Cryptography
from core.library.cryptography import Cryptography
from flask import app
import os
from os import path
from core.library.email import EMAIL
import random
app = Blueprint('bo_admin', __name__)
@app.route('/bologin', methods = ["GET","POST"])
def BOLogin():
return render_template('BO_Admin/login.html')
@app.route('/postbologin', methods = ["GET","POST"])
def PostBOLogin():
email = request.values.get('email')
password = request.values.get('password')
if not email and password:
flash("Please Enter UserName and Password","errorMsg")
return redirect(url_for('bo_admin.BOLogin'))
else:
user_output = BOAdminModel().boUserDataByEmail(email)
if user_output :
email = user_output['email']
db_pass = user_output['password']
if password == db_pass:
session["admin"] = user_output
flash("Login Successfully..","successMsg")
return redirect (url_for('bo_admin.DashBoard'))
else :
flash('Passsword invalid. Please check the password. ' ,"errorMsg" )
return redirect (url_for('bo_admin.BOLogin'))
else :
flash("Email-id not registered ." ,"errorMsg")
return redirect (url_for('bo_admin.BOLogin'))
return redirect (url_for('bo_admin.BOLogin'))
@app.route("/logout")
def Logout():
session.pop('admin', None)
flash("Logout Successfully..","successMsg")
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/dashboard',methods=["GET","POST"])
def DashBoard():
return render_template('BO_Admin/dashboard.html')
@app.route('/backoffice',methods=["GET","POST"])
def Backoffice():
return render_template('BO_Admin/backoffice.html')
@app.route('/all_users',methods=["GET","POST"])
def AllUsers():
if session.get('admin',None):
user_data = BOAdminModel().Get_Users()
html_data = render_template("BO_Admin/all_users_table.html", user_data= user_data)
return render_template('BO_Admin/all_users.html',html_data=html_data)
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/all_payment',methods=["GET","POST"])
def AllPayment():
if session.get('admin',None):
payment_data = BOAdminModel().Get_Payment()
html_data = render_template("BO_Admin/all_payment_table.html", payment_data= payment_data)
return render_template('BO_Admin/all_payment.html',html_data=html_data)
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/view_payment/<int:payment_id>',methods = ["GET"])
def ViewPayment(payment_id):
payment_data = BOAdminModel().View_Payment(payment_id)
data = {"view_data" :payment_data ,"status" : 1,"msg" : "success"}
return json.dumps(data,default=str)
@app.route('/success_payment',methods=["GET","POST"])
def SuccessPayment():
if session.get('admin',None):
success_payment_data = BOAdminModel().Get_Success_Payment()
html_data = render_template("BO_Admin/success_payment_table.html", success_payment_data= success_payment_data)
return render_template('BO_Admin/success_payment.html',html_data=html_data)
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/failure_payment',methods=["GET","POST"])
def FailurePayment():
if session.get('admin',None):
failed_payment_data = BOAdminModel().Get_Failure_Payment()
html_data = render_template("BO_Admin/failure_payment_table.html", failed_payment_data= failed_payment_data)
return render_template('BO_Admin/failure_payment.html',html_data=html_data)
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/update_payment_status/<int:payment_id>', methods = ["GET","POST"])
def UpdatePaymentStatus(payment_id):
payment_status = request.values.get("payment_status")
data = {'payment_status' :payment_status}
updated_data = BOAdminModel().updatePayment(payment_id,data)
data = {"data" : updated_data,'msg' : "success" , 'status' : 1 }
return json.dumps(data, default=str)
@app.route('/verified_by_admin_mail/<int:payment_id>',methods = ["GET","POST"])
def Verified_By_Admin_Mail(payment_id):
now = datetime.now()
curr_dt = now.strftime('%Y-%m-%d %H:%M:%S')
user_data = BOAdminModel().Get_Users_by_id(payment_id)
email = user_data['email']
if email :
user_id = user_data["user_id"]
fixed_digits = 4
subject = "Payment Verification Mail"
html = render_template('BO_Admin/email/verified_by_admin_mail.html',data = user_data)
payment_id = user_data["payment_id"]
is_verified_by_admin = 1
is_payment_verified_mail_sent = 1
data_for_update = {'is_verified_by_admin':is_verified_by_admin,'is_payment_verified_mail_sent' : is_payment_verified_mail_sent,'payment_verified_mail_sent_at':[curr_dt]}
updateVerifiedByAdmin = BOAdminModel().updatePayment(payment_id,data_for_update)
# return html
EMAIL.sendMail(subject,html,email)
lo = email.find('@')
if lo>0:
mask_email = email[0]+"*****"+email[lo-1:]
else :
mask_email = email
msg = "Payment Verification Mail has been sent to your registered email-id "+ mask_email + " ."
flash(msg, "successMsg")
return redirect(url_for('bo_admin.AllPayment'))
else :
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/success_by_admin_mail/<int:payment_id>',methods = ["GET","POST"])
def Success_By_Admin_Mail(payment_id):
now = datetime.now()
curr_dt = now.strftime('%Y-%m-%d %H:%M:%S')
user_data = BOAdminModel().Get_Users_by_id(payment_id)
email = user_data['email']
if email :
user_id = user_data["user_id"]
fixed_digits = 4
subject = "Payment Verification Mail"
html = render_template('BO_Admin/email/verified_by_admin_mail.html',data = user_data)
payment_id = user_data["payment_id"]
is_verified_by_admin = 1
is_payment_verified_mail_sent = 1
data_for_update = {'is_verified_by_admin':is_verified_by_admin,'is_payment_verified_mail_sent' : is_payment_verified_mail_sent,'payment_verified_mail_sent_at':[curr_dt]}
updateVerifiedByAdmin = BOAdminModel().updatePayment(payment_id,data_for_update)
EMAIL.sendMail(subject,html,email)
lo = email.find('@')
if lo>0:
mask_email = email[0]+"*****"+email[lo-1:]
else :
mask_email = email
msg = "Payment Verification Mail has been sent to your registered email-id "+ mask_email + " ."
flash(msg, "successMsg")
return redirect(url_for('bo_admin.SuccessPayment'))
else :
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/reject_by_admin_mail/<int:payment_id>',methods = ["GET","POST"])
def Reject_By_Admin_Mail(payment_id):
now = datetime.now()
curr_dt = now.strftime('%Y-%m-%d %H:%M:%S')
user_data = BOAdminModel().Get_Users_by_id(payment_id)
email = user_data['email']
if email :
user_id = user_data["user_id"]
# enc_user_id = Cryptography.encrypt(user_id)
fixed_digits = 4
subject = "Payment Verification Mail"
html = render_template('BO_Admin/email/verified_by_admin_mail.html',data = user_data)
payment_id = user_data["payment_id"]
is_verified_by_admin = 1
is_payment_verified_mail_sent = 1
data_for_update = {'is_verified_by_admin':is_verified_by_admin,'is_payment_verified_mail_sent' : is_payment_verified_mail_sent,'payment_verified_mail_sent_at':[curr_dt]}
updateVerifiedByAdmin = BOAdminModel().updatePayment(payment_id,data_for_update)
# return html
EMAIL.sendMail(subject,html,email)
lo = email.find('@')
if lo>0:
mask_email = email[0]+"*****"+email[lo-1:]
else :
mask_email = email
msg = "Payment Verification Mail has been sent to your registered email-id "+ mask_email + " ."
flash(msg, "successMsg")
return redirect(url_for('bo_admin.FailurePayment'))
else :
return redirect(url_for('bo_admin.BOLogin'))
@app.route('/verified_payment',methods=["GET","POST"])
def VerifiedPayment():
return render_template('BO_Admin/verified_payment.html')
@app.route('/not_verified_payment',methods=["GET","POST"])
def NotVerifiedPayment():
return render_template('BO_Admin/not_verified_payment.html')
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists