Sindbad~EG File Manager

Current Path : /home/numerotech/admin.numerotech.com/admin_app_v1/core/controller/
Upload File :
Current File : //home/numerotech/admin.numerotech.com/admin_app_v1/core/controller/DelegateAdminController.py

from flask import request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json,render_template_string,Response
from core.model.DelegateAdminModel import DelegateAdminModel
from core.model.DelegateAdminModel import DelegateAdminModel
from core.model.MemAppModel import MemAppModel
from .. import Cryptography,Helper,Auth,RouteGroup,floder_name,template_path,backoff_template,cpanel_api_url,cpanel_username,cpanel_password,cpanel_api_token
from datetime import timedelta,date,datetime,time
import os,sys
from flask import make_response 
from os.path import join, dirname, realpath
import ast
from collections import defaultdict
import math
from core import app
from core.library.helper import Helper
from core.library.email import EMAIL
import shutil
import glob
import uuid
import re
from urllib.parse import urlparse
import requests
from requests.auth import HTTPBasicAuth

from PIL import Image
import os

app = Blueprint('delegate',__name__)

@app.route('/<conf_id>/<society_id>/edit_delgate_app',methods=["POST","GET"])
def EditDelgateApp(conf_id,society_id):
	societies     = DelegateAdminModel().get_societies_config()
	conf          = MemAppModel().Get_Conf()
	societie_data = DelegateAdminModel().get_societies_config_by_society_id(conf_id,society_id)
	get_mail_settings = DelegateAdminModel().get_mail_settings()
	return render_template('delegate_template/delegate_config.html',conf_id=conf_id,society_id=society_id,data=societies,societie_data=societie_data,conf=conf,get_mail_settings=get_mail_settings)


@app.route('/get_conf_data_by_society_id_config',methods=["GET","POST"])
def GetConfDataBySocietyIdConfig():
	try:
		society_id   = request.values.get('society_id') or None	
		conf_data_by_society  = DelegateAdminModel().get_conf_data_config(society_id)


		if conf_data_by_society :
			datas = {"conf_data_by_society":conf_data_by_society,"msg":"success","status" : 1}
		else:
			datas = {"conf_data_by_society":"","msg":"","status" : 2}
		return  json.dumps(datas,default=str)
		
	except Exception as e:
		data      = {"conf_data_by_society":"","msg": str(e),"status":400}        
		return json.dumps(data,default = str)

@app.route('/create_duplicate_app_config',methods=["GET","POST"])
def create_duplicate_app_config():
	try:
		conf_id      = request.values.get('conf_id') or None
		society_id   = request.values.get('society_id') or None
		get_conf_id   = request.values.get('get_conf_id') or None

		conf_data    = DelegateAdminModel().duplicate_app_config(conf_id,society_id,get_conf_id)

		last_insert_id = conf_data[0]['last_insert_id']
		
		if last_insert_id :
			datas = {"last_insert_id":last_insert_id,"msg":"success","status" : 1}
		else:
			datas = {"last_insert_id":"","msg":"","status" : 2}
		return  json.dumps(datas,default=str)
		
	except Exception as e:
		data      = {"last_insert_id":"","msg": str(e),"status":400}        
		return json.dumps(data,default = str)


@app.route('/save_update_app_config',methods=["GET","POST"])
def SaveUpdateAppConfig():
	try:
		conf_id                         = request.form.get('conf_id') or None
		society_id 				        = request.form.get('society_id') or None
		app_type_id 				    = request.form.get('app_type_id') or 2
		app_title 						= request.form.get('app_title') or None
		app_url 						= request.form.get('app_url') or None
		is_autologin 					= request.form.get('is_autologin') or None
		app_host 						= request.form.get('app_host') or None
		app_domain 						= request.form.get('app_domain') or None
		input_conf_id					= request.form.get('input_conf_id') or conf_id
		input_society_id	 			= request.form.get('input_society_id') or society_id
		is_active 						= request.form.get('is_active') or None
		app_start_at					= request.form.get('app_start_at') or None
		app_end_at					    = request.form.get('app_end_at') or None
# 		created_at  					= request.form.get('created_at') or None
# 		updated_at 						= request.form.get('updated_at') or None
		index_content 					= request.form.get('index_content') or None
		paymentgateway_appmaster_id 	= request.form.get('paymentgateway_appmaster_id') or None
		paymentgateway_is_test 			= request.form.get('paymentgateway_is_test') or None
		paymentgateway_api_url 			= request.form.get('paymentgateway_api_url') or None
		paymentgateway_response_url 	= request.form.get('paymentgateway_response_url') or None
		is_email_enable 				= request.form.get('is_email_enable') or None
		mail_setting_id 				= request.form.get('mail_setting_id') or None
		app_style 						= request.form.get('app_style') or None
		is_daily_report_mail 			= request.form.get('is_daily_report_mail') or None
		google_sheet_link 				= request.form.get('google_sheet_link') or None
		del_subheader_text				= request.form.get('del_subheader_text') or None
		is_gen_number 					= request.form.get('is_gen_number') or None
		digital_badge_commit 		 	= request.form.get('digital_badge_commit') or None
		b_ref_prefix                 	= request.form.get('b_ref_prefix') or None
		is_disable_otp               	= request.form.get('is_disable_otp') or None
		additional_tariff            	= request.form.get('additional_tariff') or None
		photo_whatsapp_content       	= request.form.get('photo_whatsapp_content') or None
		counter_set_whatsapp_content 	= request.form.get('counter_set_whatsapp_content') or None
		is_del_bo_proof_approve         = request.form.get('is_del_bo_proof_approve') or 0
		is_del_photograph_receiving     = request.form.get('is_del_photograph_receiving') or 0
		is_del_bo_display_role          = request.form.get('is_del_bo_display_role') or 0
		

		data = {
			'app_type_id'                   : app_type_id ,
			'conf_id'                 		: input_conf_id,
			'society_id'              		: input_society_id,
			'app_title'                 		: app_title,
			'app_url'                 		: app_url,
			'is_autologin'            		: is_autologin,
			'app_host'                		: app_host,
			'app_domain'              		: app_domain,
			'is_active'               		: is_active,
			'app_start_at'            		: app_start_at,
			'app_end_at'            		: app_end_at,
			'index_content'           		: index_content,
			'paymentgateway_appmaster_id' 	: paymentgateway_appmaster_id,
			'paymentgateway_is_test'      	: paymentgateway_is_test,
			'paymentgateway_api_url'      	: paymentgateway_api_url,
			'paymentgateway_response_url' 	: paymentgateway_response_url,
			'is_email_enable'             	: is_email_enable,
			'mail_setting_id'             	: mail_setting_id,
			'app_style'                   	: app_style,
			'is_daily_report_mail'          : is_daily_report_mail,
			'google_sheet_link'           	: google_sheet_link,
			'del_subheader_text'          	: del_subheader_text,
			'is_gen_number'               	: is_gen_number,
			'digital_badge_commit'        	: digital_badge_commit,
			'b_ref_prefix'                	: b_ref_prefix,
			'is_disable_otp'              	: is_disable_otp,
			'additional_tariff'           	: additional_tariff,
			'photo_whatsapp_content'      	: photo_whatsapp_content,
			'counter_set_whatsapp_content'	: counter_set_whatsapp_content,
			'is_del_bo_proof_approve'       : is_del_bo_proof_approve,
			'is_del_photograph_receiving'   : is_del_photograph_receiving,
			'is_del_bo_display_role'        : is_del_bo_display_role
		}

		societie_data = DelegateAdminModel().get_societies_config_by_society_id(conf_id,society_id) 
		now              = datetime.now()
		dt_string        = now.strftime("%Y-%m-%d %H:%M:%S")
		created_at_date   = {'created_at': dt_string}
		updated_at_date   = {'updated_at': dt_string}
		if societie_data:
			data.update(updated_at_date)
		else:
			data.update(created_at_date)                

		return_data   = DelegateAdminModel().insert_update_config_data(app_type_id,conf_id,society_id,societie_data,data)
		config_data   = return_data[0]
		status        = return_data[1]['status']

		if config_data :
			datas = {"config_data":config_data,"msg":"success","status" : status}
		else:
			datas = {"config_data":"","msg":"","status" : 3}
		return  json.dumps(datas,default=str)
		
	except Exception as e:
		data      = {"config_data":"","msg": str(e),"status":400}        
		return json.dumps(data,default = str)



@app.route('/delegate_app_list', methods = ["GET","POST"])
def DelegateAppList():
	userdata = Auth.user()
	if userdata and userdata['admin_email']:
		apps  = DelegateAdminModel().get_delegate_applications(userdata['admin_email'])
		count = DelegateAdminModel().get_delegate_status_count()
		return render_template('delegate_template/delegate_app_list.html',apps=apps,count=count)
	else: 
		return redirect(url_for("dashboard.AdminPanelLogin"))

@app.route('/<int:conf_id>/<conf_key>/view_tariff',  methods = ["GET", "POST"])
def ViewTariff(conf_id,conf_key):
	userdata = Auth.user()
	if userdata and userdata['admin_email']:
		get_conf             = DelegateAdminModel().get_conference(conf_id,conf_key)
		addon_name_data      = DelegateAdminModel().get_addon_name(conf_id)
		return render_template('delegate_template/view_tariff.html',get_conf=get_conf,conf_id=conf_id,conf_key=conf_key,addon_name_data=addon_name_data)
	else:	
		return redirect(url_for("dashboard.AdminPanelLogin"))

@app.route('/<int:conf_id>/<conf_key>/post_tariff',  methods = ["GET", "POST"])
def PostTariff(conf_id,conf_key):
	conf 	         = DelegateAdminModel().get_conference(conf_id,conf_key)
	now              = datetime.now()
	addon_name       = request.values.get('addon_name') or None 
	get_tariff_data  = DelegateAdminModel().get_tariff_data(conf_id,addon_name)
	html_data        = render_template('delegate_template/view_tariff_table.html',conf=conf,tariff_data=get_tariff_data,current_dt=now)
	data             = {"html_data":html_data,"msg":"Success","status":1}
	json_data = json.dumps(data,default=str)
	return json_data


@app.route('<int:conf_id>/<conf_key>/update_addon',  methods = ["GET", "POST"])
def BoUpdatedAddon(conf_id,conf_key):
	now              = datetime.now()
	curr_dt          = now.strftime("%Y-%m-%d %H:%M:%S")
	conf 	         = DelegateAdminModel().get_conference(conf_id,conf_key)
	addon_id      	 = request.values.get("addon_id")
	start_by         = request.values.get('start_by',None )
	end_by           = request.values.get('end_by', None )
	if addon_id:
		send_mail    = request.values.get('send_mail') or 0
		data_1       = {'start_by':start_by,'end_by':end_by,'updated_at':curr_dt }
		addon_data   =  DelegateAdminModel().update_addon_data(conf_id,addon_id,data_1,curr_dt)

		if addon_data:
			data_1 = {"status" : 1 , "msg" : "Updated Successfully"}
		else :
			data_1 = {"status" : 2 , "msg" : "Updated Failed"}
	else:
		data_1 = {"status" : 2 , "msg" : "Updated Failed"}

	return json.dumps(data_1 ,default=str)

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists