Sindbad~EG File Manager
from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,Response,jsonify,json,render_template_string
from random import randint
from .. import Cryptography,Auth,RouteGroup,Helper,Custom
from core.model.ConfAppModel import ConfAppModel
from core.model.OfflineRegistrationModel import OfflineRegistrationModel
from core.model.TransactionModel import TransactionModel
#
import xmltodict
import datetime
from core.library.email import EMAIL
import math
from datetime import timedelta,date,datetime
from flask import session, app
from os import listdir
import io
import csv
import ast
import requests,mandrill,json,math
import base64
import flask
from num2words import num2words
import webbrowser
import os #use for new instance of chrome
import urllib.parse
from ast import literal_eval
from dateutil.relativedelta import relativedelta
app = Blueprint('transapi', __name__)
# Payumoney transaction start
@app.route("/transaction_api",methods=["GET","POST"])
def TransactionApi():
get_conference = TransactionModel().getConference()
return render_template('transaction_api/transaction_api.html',conf_data = get_conference)
@app.route('/payumoeny_transactions', methods = ["GET", "POST"])
def PayumoneyTransactions():
now = datetime.now()
curr_dt = now.strftime("%Y-%m-%d %H:%M:%S")
conf_id = request.values.get("conf_id") or None
from_date = request.values.get("from_date") or None
to_date = request.values.get("to_date") or None
unique_ids_data = TransactionModel().getPaymentData(conf_id,from_date,to_date)
if unique_ids_data :
for index,value in enumerate(unique_ids_data) :
am_id = value["am_id"]
unique_id = value["unique_id"]
app_key,timestamp = unique_id.split('_')
datetime_object = datetime.strptime(timestamp, '%Y%m%d%H%M%S')
updated_time = datetime_object + timedelta(days=3)
from_date = datetime_object.strftime("%Y-%m-%d %H:%M:%S")
to_date = updated_time.strftime("%Y-%m-%d %H:%M:%S")
if int(conf_id) in [10,32,37,38,8,48,26,43,49]:
url_1 = "https://conf-payments.numerotech.com/payumoney_trans.php?am_id="+str(am_id)+"&unique_id="+unique_id+"&from_date="+from_date+"&to_date="+to_date+""
response = requests.get(url_1)
response = response.text
# response = response.replace('\\' ,"")
# result = response[1:-1]
result = response
try:
res = json.loads(result)
except Exception as e:
res = None
if res:
result_status = res["status"]
result_msg = res["msg"]
if result_status == 1:
result_data = res["Transaction_details"]
payment_data = result_data
for index,value in enumerate(payment_data):
unique_id_pg = value["udf2"]
if unique_id_pg and unique_id_pg == unique_id :
status_pg = value["status"]
if status_pg == "null" or not status_pg :
status_pg = value["action"]
data_for_save = {}
data_for_save["amount"] = value["amount"]
data_for_save["paid_at"] = value["addedon"]
data_for_save["api_payment_id"] = value["id"]
data_for_save["payment_mode"] = value["mode"]
data_for_save["full_name"] = value["firstname"]
data_for_save["email"] = value["email"]
data_for_save["mobile"] = value["phone"]
data_for_save["unique_id"] = value["udf2"]
data_for_save["card_no"] = value["card_no"]
data_for_save["cardtype"] = value["cardtype"]
data_for_save["mer_service_fee"] = value["mer_service_fee"]
data_for_save["mer_service_tax"] = value["mer_service_tax"]
data_for_save["additional_charges"] = value["additional_charges"]
if status_pg and status_pg == "SUCCESS":
data_for_save["status"] = "success"
else:
data_for_save["status"] = status_pg
data_for_save["conf_id"] = conf_id
updatePaymentLogsAndUserPayments = TransactionModel().SaveTxnAPIData(data_for_save, unique_id,conf_id,curr_dt)
msg = "success"
status = 1
# data_status = 1
# break
else :
status = 4
msg = result_msg
else :
status = 3
msg = "Records does not match."
else:
msg = "Record Not Found"
status = 2
else:
msg = "Record Not Found"
status = 2
data = {"status" : status , "msg" : msg }
return json.dumps(data,default=str)
else:
data = {"status" : 6 , "msg" : "Records does not exists." }
return json.dumps(data,default=str)
return "Records does not exists."
# @app.route('/view_payumoeny_transactions', methods = ["GET", "POST"])
# def ViewPayumoneyTransactions():
# try:
# conf_id = request.values.get("conf_id") or None
# get_transaction_data = TransactionModel().getTransactionData(conf_id)
# html_data = render_template("transaction_api/transaction_table.html",get_data=get_transaction_data)
# 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('/view_payumoeny_transactions', methods = ["GET", "POST"])
def ViewPayumoneyTransactions():
try:
now = datetime.now()
current_dt = now.strftime("%Y-%m-%d %H:%M:%S")
conf_id = request.values.get("conf_id_1") or None
from_date = request.values.get("from_date_1")
to_date = request.values.get("to_date_1") or None
txn_status = request.values.get("status")
total_amount= 0
total_tax = 0
total_fee = 0
if from_date:
if to_date is None:
to_date = current_dt
get_transaction_data = TransactionModel().getFilterTransactionData(conf_id,from_date,to_date,txn_status)
if get_transaction_data:
for index,value in enumerate(get_transaction_data):
mer_service_fee = value["mer_service_fee"]
mer_service_tax = value["mer_service_tax"]
amount = value["amount"]
status = value["status"]
amount = int(float(amount)) if amount else 0
mer_service_fee = int(float(mer_service_fee)) if mer_service_fee else 0
mer_service_tax = int(float(mer_service_tax)) if mer_service_tax else 0
if status in ["success","Success","SUCCESS","captured" , "Successful"] :
total_amount = total_amount+amount
total_tax = total_tax+mer_service_fee+mer_service_tax
html_data = render_template("transaction_api/transaction_table.html",total_amount=total_amount,total_tax=total_tax,get_data=get_transaction_data,conf_id=conf_id,from_date=from_date,to_date=to_date,txn_status=txn_status)
data = {"html_data":html_data,"msg" : "" , "status" : 1}
return json.dumps(data,default = str)
except Exception as e:
data = {"msg" : str(e),"status" : 401}
return json.dumps(data,default = str)
# Payumoney transaction start
@app.route("/calling_ajax",methods=["GET","POST"])
def CallingAjax():
try:
value_1 = request.values.get("value_1") or None
value_2 = request.values.get("value_2") or None
value_3 = request.values.get("value_3") or None
return render_template("transaction_api/ajax_sample.html")
# html_data = render_template("transaction_api/ajax_sample.html")
data = {"html_data" : "" , "msg" : "Successfully" , "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)
# raise e
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists