Sindbad~EG File Manager
from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session, app
from .. import Cryptography,Auth,RouteGroup
from random import randint
from collections import defaultdict
import math, random
import time
from urllib.parse import unquote
import datetime
from core.library.helper import Helper
from datetime import timedelta,date,datetime
import ast
""" Library """
from core.library.email import EMAIL
""" Models """
from core.model.UserModel import UserModel
from core.model.AbstractModel import AbstractModel
from core.model.BoModel import BoModel
from pydoc import locate
import imp,sys
import base64
from urllib.parse import unquote
import boto3, botocore
from botocore.exceptions import ClientError
from os import listdir
from os.path import join, dirname, realpath
import os
from os import path
from werkzeug.utils import secure_filename
# import importlib
# name : Mukesh kumar
# version : 1
# title: abstract submission
# date:07/02/2022 01:14
# demo site url = https://abstracts.TNOA.in/abstracts?type=VS
app = Blueprint('main', __name__)
@app.route('/guideline_index/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login page
def GuidelineIndex(abs_type,conf_id,conf_key):
guideline = UserModel().get_guidelines(abs_type,conf_id)
return render_template('users/guideline.html',guideline=guideline,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key)
@app.route('/abstract_index/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def AbstractsIndex(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.AbstractsIndex(abs_type,conf_id,conf_key)
return data
@app.route('/fulltextupload/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def FulltextUpload(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.FulltextUpload(abs_type,conf_id,conf_key)
return data
@app.route('/get_fulltext/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
def get_fulltext(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.get_fulltext(abs_type,conf_id,conf_key)
return data
@app.route('/abstractupload/<selection_type_id>/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def AbstractUpload(selection_type_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.FulltextUpload(selection_type_id,abs_type,conf_id,conf_key)
return data
@app.route('/<string:abs_type>/<abs_id>/abs/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def main_layout(abs_type,abs_id,conf_id,conf_key):
# abs_id = Cryptography.decrypt(abs_id)
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.main_layout(abs_type,abs_id,conf_id,conf_key)
return data
@app.route('/new/<string:abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def New(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
abs_id = myclass.New(abs_type,conf_id,conf_key)
conf_id = conf_id
return redirect(url_for('main.main_layout',abs_type=abs_type,abs_id=abs_id,conf_id=conf_id,conf_key=conf_key))
@app.route('/step1/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def Step1(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step1(abs_type,conf_id,conf_key)
return data
@app.route('/step1post/<abs_type>/<conf_id>/<conf_key>', methods = ["POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Step1post(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step1post(abs_type,conf_id,conf_key)
return data
@app.route('/step2/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def Step2(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step2(abs_type,conf_id,conf_key)
return data
@app.route('/step2post/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def StepPost_2(abs_type,conf_id,conf_key):
if request.method == "POST":
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.StepPost_2(abs_type,conf_id,conf_key)
return data
else:
return None
@app.route('/step3/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def Step3(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step3(abs_type,conf_id,conf_key)
return data
@app.route('/step3post/<abs_id>/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Step3post(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step3post(abs_id,abs_type,conf_id,conf_key)
return data
# IC Functons starts
@app.route('/step3getauthor/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Get_co_Instructor(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step3getauthor(abs_type,conf_id,conf_key)
return data
@app.route('/total_duration/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Total_duration(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Total_duration(conf_id,conf_key)
return data
@app.route('/searchinstructor/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def SearchInstructor(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.SearchInstructor(abs_type,conf_id,conf_key)
return data
@app.route('/step3editauthor/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Step3editauthor(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step3editauthor(abs_type,conf_id,conf_key)
return data
@app.route('/add_and_edit_to_authors/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def add_and_edit_intructors(abs_type,conf_id,conf_key):#this will add coinstructor for IC
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.add_and_edit_intructors(abs_type,conf_id,conf_key)
return data
@app.route('/step3model/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Step3model(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step3model(abs_type,conf_id,conf_key)
return data
# IC Functons end
@app.route('/searchauthor/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Searchauthor(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Searchauthor(abs_type,conf_id,conf_key)
return data
@app.route('/add_presenting_author/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Add_update_Presenting_author(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Add_update_Presenting_author(abs_type,conf_id,conf_key)
return data
@app.route('/getccuploads/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def GetCcUploads(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Get_cc_uploads(abs_type,conf_id,conf_key)
return data
@app.route('/add_co_author/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Add_update_co_author(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Add_update_co_author(abs_type,conf_id,conf_key)
return data
@app.route('/ppstep1getauthor/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Step1_get_author(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step1_get_author(abs_type,conf_id,conf_key)
return data
@app.route('/get_co_author/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Get_co_author(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Get_co_author(abs_type,conf_id,conf_key)
return data
@app.route('/step3deleteauthor/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Step3deleteauthor(conf_id,conf_key):
confData = Auth.get_conference(conf_id)
topic_id = request.values["topic_id"]
data = AbstractModel().delete_author_userid(topic_id,confData.get('conf_schema'))#deleting the author
return jsonify()
@app.route('/step4/<string:abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def Step4(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
abs_id = request.values.get("abs_id") or None
data = myclass.Step4(abs_id,abs_type,conf_id,conf_key)
return data
@app.route('/step4post/<abs_id>/<string:abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Step4post(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Step4post(abs_id,abs_type,conf_id,conf_key)
return data
@app.route('/step5/<string:abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def Step5(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
abs_id = request.values.get("abs_id") or None
data = myclass.Step5(abs_id,abs_type,conf_id,conf_key)
return data
@app.route('/mail/<abs_id>/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
@RouteGroup.validation_OP_required
def Mail(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Mail(abs_id,conf_id,conf_key)
return data
@app.route('/success/<string:abs_type>/<abs_id>/<user_id>/<conf_id>/<conf_key>',methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def success(abs_type,abs_id,user_id,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.success(abs_type,abs_id,user_id,conf_id,conf_key)
return data
@app.route('/<abs_id>/<abs_type>/view/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def View(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.View(abs_id,conf_id,conf_key)
return data
@app.route('/coi_consent/<user_id>/<abs_id>/<abs_type>/<topic_id>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def co_instructor_consent(user_id,abs_id,abs_type,topic_id,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.co_instructor_consent(user_id,abs_id,abs_type,topic_id,conf_id,conf_key)
return data
@app.route('/consent_status/<user_id>/<topic_id>/<abs_type>/<int:status>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.ic_consent_date
def Consent_status(user_id,topic_id,abs_type,status,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Consent_status(user_id,topic_id,abs_type,status,conf_id,conf_key)
return data
@app.route('/change_co_instructor/<abs_id>/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Change_co_instructor(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Change_co_instructor(abs_id,abs_type,conf_id,conf_key)
return data
@app.route('/update_coi/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Update_coi(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Update_coi(abs_type,conf_id,conf_key)
return data
@app.route('/send_reminder/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Send_reminder(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Send_reminder(abs_type,conf_id,conf_key)
return data
@app.route('/cc_img_upload/<abs_id>/<abs_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def cc_Img_upload(abs_id,abs_type,conf_id,conf_key):
file = request.files.get('file')
# print(">>>>>>>!!!",abs_id)
abs_id = int(Cryptography.decrypt(abs_id))
presentation_type_id = request.values.get('presentation_type_id',None)
# print("presentation_type_idqweqweqwe",presentation_type_id)
if int(presentation_type_id) == Helper.CC_Presentation_type_id :
# print("inside if")
filename = secure_filename(file.filename)
# print("filename",filename)
data = AbstractModel().checkexistsfile(abs_id,filename);
# print(">>>>>",data)
if data and len(data) >0:
return jsonify({'data':'','msg':"file already exists"})
# print(file)
bucketname = 'common-application'
if file and bucketname:
data_1 = {}
acl="public-read"
s3 = boto3.client("s3",aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ',aws_secret_access_key='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')
filename = secure_filename(file.filename)
file_str = filename
try:
bucket = bucketname
foldername_1 = 'abs_uploads'
foldername_2 = conf_key
file_path = "https://"+bucketname+".s3-ap-southeast-1.amazonaws.com/"+foldername_1+"/"+foldername_2+"/"+str(abs_type)+"/"+str(abs_id)+"/"
data_1 = {
'path' : file_path,
'file_name' : file_str,
'img_type' : 'CC',
}
update_data = AbstractModel().update_imge_db(abs_id,data_1)
response = s3.upload_fileobj(file, bucket,foldername_1+'/'+foldername_2+'/'+str(abs_type)+'/'+str(abs_id)+'/'+ file_str, ExtraArgs={"ACL": acl,"ContentType": file.content_type})
except ClientError as e:
logging.error(e)
abs_uploads = AbstractModel().get_abs_uploads(abs_id)
print(len(abs_uploads))
if len(abs_uploads)<=3:
json = {'msg':'','status' : 1,'data':''}
json["data"] = render_template('users/VRSI2023/PP/ccupload.html',conf_id=conf_id,conf_key=conf_key,abs_uploads=abs_uploads)
return jsonify(json)
# def ccuploadvalidation(file,abs_id):
# if:
# return False;
# else:
# return True;
@app.route('/cc_remove_img_11/<conf_id>/<conf_key>', methods=['GET', 'POST'])
def CCRemoveImg_11(conf_id,conf_key):
# path= request.values.get('path')
print(path)
foldername = path.replace('https://test-memberapp.s3.ap-southeast-1.amazonaws.com/', "")
print(foldername)
s3= boto3.resource("s3",aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ',aws_secret_access_key='EEudWCsWeCIt/J9/z5m5htmUdGFJNzWFPvNQBIp/')
bucketname="test-memberapp"
response = s3.Object(bucketname,foldername).delete()
html_data = render_template('users/VRSI2023/PP/ccupload.html',conf_id=conf_id,conf_key=conf_key)
return json.dumps(data)
@app.route('/upload_img/<abs_id>/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Upload_image(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Upload_image(abs_id,abs_type,conf_id,conf_key)
return data
@app.route('/delete_img/<abs_type>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def Delete_Image(abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.Delete_Image(abs_type,conf_id,conf_key)
return data
@app.route('/cc_remove_img/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def CCRemove_img(conf_id,conf_key):
abs_id = request.values.get('abs_id')
upload_id = request.values.get('upload_id')
abs_id = int(Cryptography.decrypt(abs_id))
img = AbstractModel().get_img_upload_by_upload_id(upload_id)
print("img",img)
if img:
bucketname = 'common-application'
img = img
filepath = img['path']
filename = img['file_name']
foldername = filepath+filename
print("foldername",foldername)
foldername = foldername.replace("https://"+bucketname+".s3-ap-southeast-1.amazonaws.com/", "")
s3 = boto3.resource("s3",aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ',aws_secret_access_key='EEudWCsWeCIt/J9/z5m5htmUdGFJNzWFPvNQBIp/')
response = s3.Object(bucketname,foldername).delete()
AbstractModel().delete_abs_upload(upload_id)
json = {'msg':'','status' : 1,'data':""}
abs_uploads = AbstractModel().get_abs_uploads(abs_id)
json["data"] = render_template('users/VRSI2023/PP/ccupload.html',conf_id=conf_id,conf_key=conf_key,abs_uploads=abs_uploads)
return jsonify(json)
@app.route('/post_regret_remarks/<abs_type>/<topic_id>/<conf_id>/<conf_key>', methods = ["GET","POST"])
@RouteGroup.conf_required
def postRegretRemarks(abs_type,topic_id,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.postRegretRemarks(abs_type,topic_id,conf_id,conf_key)
return data
@app.route('/img_upload_v1/<abs_id>/<abs_type>/<file_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Img_upload_v1(abs_id,abs_type,file_type,conf_id,conf_key):
file = request.files.get('file')
# print(file)
bucketname = 'common-application'
if file and bucketname:
img = AbstractModel().get_img_upload_v1(abs_id,file_type)
if img:
img = img
filepath = img['path']
filename = img['file_name']
foldername = filepath+filename
foldername = foldername.replace("https://"+bucketname+".s3-ap-southeast-1.amazonaws.com/", "")
s3 = boto3.resource("s3",aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ',aws_secret_access_key='EEudWCsWeCIt/J9/z5m5htmUdGFJNzWFPvNQBIp/')
response = s3.Object(bucketname, foldername).delete()
AbstractModel().delete_image(abs_id)
else:
pass
data_1 = {}
acl="public-read"
s3 = boto3.client("s3",aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ',aws_secret_access_key='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')
filename = secure_filename(file.filename)
split_tup = os.path.splitext(filename)
file_extension = split_tup[1]
file_str = filename
try:
bucket = bucketname
foldername_1 = 'abs_uploads'
foldername_2 = conf_key
file_path = "https://"+bucketname+".s3-ap-southeast-1.amazonaws.com/"+foldername_1+"/"+foldername_2+"/"+str(abs_type)+"/"+str(abs_id)+"/"
data_1 = {
'path' : file_path,
'file_name' : file_str,
'img_type' : file_type,
'file_extension' : file_extension
}
update_data = AbstractModel().update_imge_db_v1(abs_id,data_1)
response = s3.upload_fileobj(file, bucket,foldername_1+'/'+foldername_2+'/'+str(abs_type)+'/'+str(abs_id)+'/'+ file_str, ExtraArgs={"ACL": acl,"ContentType": file.content_type})
except ClientError as e:
logging.error(e)
return jsonify(data_1)
else:
return jsonify()
@app.route('/remove_img_v1/<file_type>/<conf_id>/<conf_key>', methods = ["GET", "POST"])
@RouteGroup.conf_required
@RouteGroup.login_required
def Remove_img_v1(file_type,conf_id,conf_key):
abs_id = request.values.get('abs_id')
img = AbstractModel().get_img_upload_v1(abs_id,file_type)
if img:
bucketname = 'common-application'
img = img
filepath = img['path']
filename = img['file_name']
foldername = filepath+filename
foldername = foldername.replace("https://"+bucketname+".s3-ap-southeast-1.amazonaws.com/", "")
s3 = boto3.resource("s3",aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ',aws_secret_access_key='EEudWCsWeCIt/J9/z5m5htmUdGFJNzWFPvNQBIp/')
response = s3.Object(bucketname, foldername).delete()
AbstractModel().delete_image_v1(abs_id,file_type)
else:
pass
return jsonify('success')
@app.route('/get_details_sundaram_award/<abs_id>/<abs_type>/<conf_id>/<conf_key>',methods=["GET","POST"])
@RouteGroup.conf_required
@RouteGroup.login_required #check if login else automatically redirect to login pag
def GetDetailsSundaramAward(abs_id,abs_type,conf_id,conf_key):
myclass = Helper.call_custom_controller(abs_type,conf_key)
data = myclass.GetDetailsSundaramAward(abs_id,abs_type,conf_id,conf_key)
return data
@app.route('/update_users_details/<user_id>/<society_id>',methods = ["GET"])
def UpdateUsersDetails(user_id,society_id):
year = request.values.get("year",None)
month = request.values.get("month",None)
date = request.values.get("date",None)
dob = None
if year and month and date :
dob = datetime.strptime(year+"-"+month+"-"+date,'%Y-%m-%d')
data = {'dob' : dob,'aadhaar_number' : request.values.get('aadhaar_number')}
print(user_id)
img = UserModel().get_user_aadhaarimage(user_id)
print(img)
if img :
UserModel().update_member(user_id,data)
status = 1
msg = "Updated"
else:
status = 0
msg = "Please upload Aadhaar card"
data={'status':status,'msg':msg}
return jsonify(data)
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists