Sindbad~EG File Manager

Current Path : /home/numerotech/test-abs.numerotech.com/common_abs_v2/core/controller/DEMO24/
Upload File :
Current File : //home/numerotech/test-abs.numerotech.com/common_abs_v2/core/controller/DEMO24/ICSController.py

from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session, app
from core.model.UserModel import UserModel
from core.model.AbstractModel import AbstractModel
from core.model.BoModel import BoModel
from random import randint
import datetime
from core.library.email import EMAIL
from datetime import timedelta,date,datetime
from core.library.cryptography import Cryptography
from core.library.route_group import RouteGroup
from core.library.auth import Auth
from core.library.helper import Helper
import ast
# import collections
from urllib.parse import unquote
from collections import defaultdict

#name : Priyavarthana
#version : 1
#title: abstract submission for MOS
#date:23/01/2023 11:37

class ICSController():

	def GuidelineIndex(abs_type,conf_id,conf_key):                                                
		guideline = UserModel().get_guidelines(abs_type)
		return render_template('users/guideline.html',guideline=guideline,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key)
		
	def AbstractsIndex(abs_type,conf_id,conf_key):                                                
		society_id    = Auth.get_conference(conf_id).get("society_id")
		user_id       = Auth.get_user(society_id).get('user_id')
		data          = UserModel().get_abstract_home(user_id,abs_type,conf_id)
		my_abstracts  = data[0]
		eng_abstracts = data[1]
		validation    = AbstractModel().abstract_home_validation(abs_type,user_id,conf_id)
		if validation["status"] != 1 :
			flash(validation["msg"])
		return render_template('users/DEMO24/ICS/abstract.html',data=my_abstracts,abs_type='ICS',data1=eng_abstracts,data2=validation,lent=len(my_abstracts),conf_id=conf_id,conf_key=conf_key,type=type,int=int,society_id=society_id)

	def main_layout(abs_type,abs_id,conf_id,conf_key):
		# abs_id   = Cryptography.decrypt(abs_id)
		return render_template('users/DEMO24/ICS/main_ICSS.html',abs_type=abs_type,abs_id=abs_id,conf_id=conf_id,conf_key=conf_key)

	def New(abs_type,conf_id,conf_key):
		society_id    = Auth.get_conference(conf_id).get("society_id")
		user_id       = Auth.get_user(society_id).get('user_id')
		validation   = AbstractModel().abstract_home_validation(abs_type,user_id,conf_id)
		if validation["status"] == 1:
			created_at = datetime.now()
			result   = UserModel().new_abs(user_id,abs_type,32,created_at,conf_id)
			abs_id   = Cryptography.encrypt(int(result[0]))
			return abs_id
		else:
			return redirect(url_for('main.AbstractsIndex',abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))


	def Step1(abs_type,conf_id,conf_key):
		json = {'msg':'','status' : 1,'data':''}
		abs_id       = request.values.get('abs_id')
		abs_id       = unquote(abs_id)
		abs_id       = int(Cryptography.decrypt(abs_id))
		society_id   = Auth.get_conference(conf_id).get("society_id")
		user_id      = Auth.get_user(society_id).get('user_id')
		duration     = AbstractModel().settings(Auth.get_society_data(conf_id).get('society_intial')+"_Duration",conf_id)
		if duration[0]:
			duration = duration[0][0]
		else:
			duration = {}  
		# categories = UserModel().get_categories(abs_type,conf_id)
		categories = UserModel().get_categories_v1(abs_type,conf_id)

		user_info    =   UserModel().get_users_member_no(user_id)#getting name and membership for the user_id
		if(int(abs_id) > 0):
			abstract_info = AbstractModel().get_abstracts_by_user_abs_id(user_id,abs_id)#getting abstract info from abstract table
			if abstract_info == [] :
				json = {'msg':'Abstract Not Found<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
				return jsonify(json)	
			if (abstract_info["abs_status_id"] != 0):
				json = {'msg':'Abstract already submitted<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
				return jsonify(json)	
			else:
				json["data"] = render_template('users/DEMO24/ICS/step1.html',user_info=user_info,abs_type=abs_type,duration=duration,abs_id=abs_id,data=abstract_info,categories=categories,conf_id=conf_id,conf_key=conf_key)
				return jsonify(json)
		else:
			return redirect(url_for('main.AbstractsIndex',abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))

	def Step1post(abs_type,conf_id,conf_key):
		pa_user_id= request.values.get('pa_user_id')
		abs_id    = request.values.get('abs_id')
		data = {'category_id': request.values.get("category"),
				'level'      : request.values.get("level"),
				'duration'   : request.values.get("duration"),
				'misc1'      : request.values.get('misc1')
				}
		cur_step = request.values['cur_step']
		if int(cur_step) <= 1:
			data["cur_step"] = 1
		step1update = UserModel().update_step(data,abs_id)#updating the step 1 data
		abs_id = Cryptography.encrypt(int(abs_id))
		return redirect(url_for('main.Step2',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))
		

	def Step2(abs_type,conf_id,conf_key):
		json = {'msg':'','status' : 1,'data':''}
		abs_id    = request.values["abs_id"]
		abs_id    = unquote(abs_id)
		abs_id    = int(Cryptography.decrypt(abs_id))
		society_id    = Auth.get_conference(conf_id).get("society_id")
		user_id       = Auth.get_user(society_id).get('user_id')
		step2data = UserModel().steps_data(abs_id)#get date from DB
		if step2data == [] :
				json = {'msg':'Abstract Not Found<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
				return jsonify(json)
		if(step2data['abs_status_id'] == 0 ):
			step2data['abs_id'] = Cryptography.encrypt(step2data['abs_id'])
			json["data"] = render_template('users/DEMO24/ICS/step2.html',data=step2data,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key)
			return jsonify(json)
		else:
			json = {'msg':'Abstract already submitted<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
			return jsonify(json)

	def StepPost_2(abs_type,conf_id,conf_key):
		user_id  = request.values["user_id"]
		abs_id   = request.values.get("abs_id")
		is_next  = request.values.get('is_next')
		if (int(is_next) == 1):
			abs_id   = int(Cryptography.decrypt(abs_id)) 
			data     = {
						'title'    :request.values["title"],
						'synopsis' :request.values["Synopsis"],
						'updated_at':datetime.now(),
						}
			cur_step = request.values['cur_step']
			if int(cur_step) <= 2:
				data["cur_step"] = 2
			stepdataupdate = UserModel().update_step(data,abs_id)#updating data to DB
			abs_id         = Cryptography.encrypt(int(abs_id))
			return redirect(url_for('main.Step3',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))
		else:
			return redirect(url_for('main.Step1',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))

	def Step3(abs_type,conf_id,conf_key):
		json = {'msg':'','status' : 1,'data':''}
		society_id    = Auth.get_conference(conf_id).get("society_id")
		user_id       = Auth.get_user(society_id).get('user_id')
		abs_id    = request.values["abs_id"]
		abs_id    = int(Cryptography.decrypt(abs_id))
		stepdata  =  UserModel().steps_data(abs_id)#get date from DB
		duration_db =	 AbstractModel().settings(Auth.get_society_data(conf_id).get('society_intial')+"_Duration",conf_id)
		if stepdata == [] :
				json = {'msg':'Abstract Not Found<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
				return jsonify(json)
		if(stepdata['abs_status_id'] == 0):
			abs_id = Cryptography.encrypt(int(abs_id))
			json["data"] = render_template('users/DEMO24/ICS/step3.html',duration_db=duration_db[0][0]['setting_value'],addmodel=stepdata,data=stepdata,abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key,user_id=user_id)
			return jsonify(json)
		else:
			json = {'abs_id':abs_id,'msg':'Abstract already submitted<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
			return jsonify(json)
		
	def Step3post(abs_id,abs_type,conf_id,conf_key):
		abs_id      =   unquote(abs_id)
		abs_id1 = int(Cryptography.decrypt(abs_id))
		is_next  = request.values.get('is_next')

		cur_step = request.values['cur_step']
		data = {}
		if int(cur_step) <= 3:
			data["cur_step"] = 3
			stepdataupdate = UserModel().update_step(data,abs_id1)
		if (int(is_next) == 1):
			return ICSController.Step4(abs_id,abs_type,conf_id,conf_key)
			# return redirect(url_for('main.Step4',abs_id = abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))
		else:
			return redirect(url_for('main.Step2',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))


	def Step3getauthor(abs_type,conf_id,conf_key):
		abs_id   = request.values["abs_id"]
		abs_id   = int(Cryptography.decrypt(abs_id))
		limit_of_authors = AbstractModel().limit_of_authors(abs_id)#geting count of author for co-authors
		abs_cat = "_COI_COUNT"
		setting  = AbstractModel().settings(abs_type+abs_cat,conf_id)
		data=AbstractModel().get_authors(abs_id)#geting authour to show in step 3 table)
		panel_discussion = AbstractModel().get_panel_disscussion(abs_id)#geting panel discussion
		total_duration   = AbstractModel().total_duration_step4(abs_id)#getting total discussion 
		duration_db      = AbstractModel().settings(Auth.get_society_data(conf_id).get('society_intial')+"_Duration",conf_id)
		if not total_duration:
			total_duration = 0
		if(limit_of_authors >= int(setting[0][0]["setting_value"])) or (int(duration_db[0][0]['setting_value']) == int(total_duration)):
			limit = 1
		else:
			limit = 0
		return render_template('users/DEMO24/ICS/coi_table.html',data=data,total_duration=total_duration,duration_db=duration_db[0][0]['setting_value'],limit=limit,panel_discussion=panel_discussion,conf_id=conf_id,conf_key=conf_key)


	def Step3model(abs_type,conf_id,conf_key):
		user_id  = request.values["searchvalue"]
		abs_type = request.values["abs_type"]
		addcoinst=UserModel().get_user_data(user_id)#getting user data
		return render_template('users/DEMO24/ICS/insert_model.html',data=addcoinst,user_id =user_id,conf_id=conf_id,conf_key=conf_key)

	def add_and_edit_intructors(abs_type,conf_id,conf_key):#this will add coinstructor for ICS
		duration    =request.values.get("duration")
		topic       =request.values.get("topic")
		topic_order =request.values.get("topic_order")
		user_id     =request.values.get("user_id")
		abs_id      =request.values.get("abs_id")
		abs_id      = int(Cryptography.decrypt(abs_id))
		topic_id  =request.values["topic_id"] or 0
		misc1     = request.values.get('misc1')
# 		print(misc1)
		data1={ 'topic':topic,
				'duration':duration,
				'order_no':topic_order,
				'user_id':user_id,
				'abs_id':abs_id,
				'role_id':33,
				'consent_status_id':2,
				'misc1':misc1
				}
		confe_name =   Auth.get_society_data(conf_id).get('society_intial')
		duration_db =	 AbstractModel().settings(confe_name+"_Duration",conf_id)
		check_authors_id = AbstractModel().check_authors_id_by_abs_id(abs_id)#checking the authors id for insert in database 
		if check_authors_id == 0 and topic_id == 0 or topic_id == '0':#this will add author if the count for author table is zero
			
			data=AbstractModel().add_to_authors(data1,abs_id)#inserting into data base
			return jsonify(status = 0)
		total_duration=AbstractModel().authors_total_duration_for_edit(abs_id,topic_id)#getting total duration for inserting the author  
		if not total_duration:
			total_duration = 0
		duration_in_db = str(total_duration)
		total_duration=total_duration+int(duration)
		if total_duration <= int(duration_db[0][0]['setting_value']) and topic_id == 0 :
			
			data=AbstractModel().add_to_authors(data1,abs_id)#adding new author
			return jsonify(status = 0)
		elif total_duration <= int(duration_db[0][0]['setting_value']):
			
			data=AbstractModel().edit_to_authors(data1,topic_id)#editing the existing author
			return jsonify(status = 0,duration_in_db = duration_in_db )
		else:
			return jsonify(status = 1,duration_in_db = duration_in_db)

	def Step3editauthor(abs_type,conf_id,conf_key):
		topic_id=request.values["topic_id"]
		data=AbstractModel().get_author_for_edit(topic_id)#geting author information for edit
		return render_template('users/DEMO24/ICS/insert_model.html',data=data,conf_id=conf_id,conf_key=conf_key)

	def SearchInstructor(abs_type,conf_id,conf_key):
		searchtext = request.values["searchtext"]
		btn_val    = request.values["btn_val"]
		society_id = Auth.get_society_data(conf_id).get('society_id')
		abs_id     = request.values["abs_id"]
		abs_id     = int(Cryptography.decrypt(abs_id))
		abs_coi_users = AbstractModel().get_count_of_coi(abs_id)
		role_id           = 33
		mem_type          = None
		coi_count         = "ICS_COI_COUNT"
		coi_count_setting = AbstractModel().settings(coi_count,conf_id)
		coi_count_abs     = AbstractModel().get_count_of_coi(abs_id)
		if coi_count_abs:
			coi_user_list = coi_count_abs["coi_user_ids"].split(',')
			coi_count_abs["coi_user_ids"] = coi_user_list

		# data          =  UserModel().get_search_data(searchtext,role_id,abs_type,society_id)#getting search data from DB to step3 
		data          =  UserModel().get_search_data_presenting(mem_type,role_id,searchtext,abs_type,society_id)#getting search data from DB to step3 
		consent_count = 'ICS_CONSENT_COUNT'
		data1         =  AbstractModel().settings(consent_count,conf_id)#get settings for ICS councent count
		return render_template('users/DEMO24/ICS/search_table.html',data=data,data1=int(data1[0][0]["setting_value"]),coi_setting=coi_count_setting[0][0]["setting_value"],coi_abs = coi_count_abs,conf_id=conf_id,conf_key=conf_key)
		
	def Total_duration(conf_id,conf_key):
		abs_id=request.values["abs_id"]
		abs_id = int(Cryptography.decrypt(abs_id))
		panel_discussion = int(request.values["panel_discussion"])
		# duration_model = int(request.values["duration_model"])
		confe_name =   Auth.get_society_data(conf_id).get('society_intial')
		data=AbstractModel().total_duration(abs_id,panel_discussion,confe_name,conf_id)#getting total duration
		data=int(data)
		return jsonify(data)

	
	def Check_total_duration(conf_id,conf_key):
		abs_id=request.values["abs_id"]
		abs_id = int(Cryptography.decrypt(abs_id))
		panel_discussion = int(request.values.get("panel_discussion") or 0) 
		# duration_model = int(request.values["duration_model"])
		confe_name =   Auth.get_society_data(conf_id).get('society_intial')
		count=AbstractModel().total_duration(abs_id,panel_discussion,confe_name,conf_id)#getting total duration
		duration_db      = AbstractModel().settings(Auth.get_society_data(conf_id).get('society_intial')+"_Duration",conf_id)
		if int(duration_db[0][0]['setting_value']) < int(count):
			return 1,duration_db[0][0]['setting_value']
		else:
			return 0,duration_db[0][0]['setting_value']	
	

	def Step4(abs_id,abs_type,conf_id,conf_key):
		json = {'msg':'','status' : 1,'data':''}
		abs_id   = unquote(abs_id)
		abs_id   = int(Cryptography.decrypt(abs_id))
		society_id    = Auth.get_conference(conf_id).get("society_id")
		user_id       = Auth.get_user(society_id).get('user_id')
		check_authors_count   = AbstractModel().check_authors_count(abs_id,33)#this is used for step3 co-author count for ICS AND FP
		total_duration_is_over,duration_db = ICSController.Check_total_duration(conf_id,conf_key)
		
		if total_duration_is_over == 1:
				json = {'msg':'Sorry! you cannot add more than '+duration_db+' minutes','status' : 0,'data':''}
				return jsonify(json)
		if check_authors_count == [] :
				json = {'msg':'Abstract Not Found<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
				return jsonify(json)
		if(check_authors_count["abs_status_id"] == 0 ):
			if(check_authors_count["authors_count"] > 0 ):
				data      = AbstractModel().get_sept4_data(abs_id)#getting user and abstract data
				data1     = AbstractModel().get_authors(abs_id)#geting co authors
				abs_id    = Cryptography.encrypt(int(abs_id))
				json["data"] = render_template('users/DEMO24/ICS/step4.html',abs_type=abs_type,abs_id=abs_id,data=data,data1=data1,conf_id=conf_id,conf_key=conf_key)
				return jsonify(json)
			else:
				msg = ('Enter at least one Co-Instructor')
				json = {'msg':msg,'status' : 0,'data':''}
				return jsonify(json)
		else:
			json = {'msg':'Abstract already submitted<a href="'+ request.host_url + url_for('DB.Dashboard',conf_id=conf_id,conf_key=conf_key) +'"> click here to Home Page</a>','status' : 0,'data':''}
			return jsonify(json)

	def Mail(abs_id,conf_id,conf_key):
		conf_data = Auth.get_conference(conf_id)
		society_id = conf_data['society_id']
		user_id    = Auth.get_user(society_id).get('user_id')
		abs_id     = unquote(abs_id)
		abs_id     = int(Cryptography.decrypt(abs_id))
		data       = AbstractModel().get_sept4_data(abs_id)
		co_instructors = AbstractModel().get_authors(abs_id)
		is_next    = request.values.get('is_next')
		if (int(is_next) == 1):
			if(data["status_check"] == 0):
				now      = datetime.now()
				data1    = {
						   'submitted_at' :  str(datetime.now()),
						   }
				insttructors_email= AbstractModel().fp_authors_for_email(abs_id)#getting co authors details
				# confe_logo        = Auth.get_society_data(conf_id).get('email_logo')
				output = AbstractModel().abstract_submited(user_id,abs_id,data["abs_type"],data1,conf_id)
				data   = AbstractModel().get_sept4_data(abs_id)
				for i in insttructors_email:
					template_name = 'ICS_submit_mail'
					mailData      = UserModel().get_mail_templates(template_name,conf_id)
					sub_data      = {'abs_type':data['abs_type'],'abs_no':str(data['abs_no']),'conf_name': conf_data['conf_name']}
					subject       = Helper.merge_tags(mailData.subject,sub_data)
					email         = i["email"]
					mail_data     = {'mail_content': mailData.mail_content,'data': data,'data1':co_instructors,'confData':conf_data}
					mail_content  = Helper.convert_html_for_mail_screen(mail_data)
					html          = render_template('users/email/mail_template.html',is_layout=mailData.is_layout,mail_content=mail_content,confData=conf_data)
					EMAIL.sendMail_v1(subject,html,email,mailData,conf_id)
					
				# co_instructor = co_instructor_mail(abs_id,conf_id,conf_key)
				if output == "success":
					abs_id  = Cryptography.encrypt(int(abs_id))
					user_id = Cryptography.encrypt(int(user_id))
					return redirect(url_for('main.success',abs_type=data["abs_type"],abs_id=abs_id,user_id=user_id,conf_id=conf_id,conf_key=conf_key))
			else:
				flash('This '+data["abs_type"]+''+str(data["abs_no"])+' is already submitted')
				return redirect(url_for('main.AbstractsIndex',abs_type=data["abs_type"],conf_id=conf_id,conf_key=conf_key)) 
		else:
			abs_id = Cryptography.encrypt(int(abs_id))
			return redirect(url_for('main.Step3',abs_id=abs_id,abs_type=data["abs_type"],conf_id=conf_id,conf_key=conf_key))


	def co_instructor_consent(user_id,abs_id,topic_id,conf_id,conf_key):
		user_id   = unquote(user_id)
		topic_id  = unquote(topic_id)
		abs_id    = unquote(abs_id)
		abs_id    = int(Cryptography.decrypt(abs_id))
		user_id   = int(Cryptography.decrypt(user_id))
		topic_id  = int(Cryptography.decrypt(topic_id))
		data      = AbstractModel().get_sept4_data(abs_id)
		data1     = AbstractModel().get_coi_by_topic_id(topic_id)
		data1['user_id']  = Cryptography.encrypt(int(data1['user_id']))
		data1['topic_id'] = Cryptography.encrypt(int(data1['topic_id']))
		html = render_template('users/DEMO24/ICS/coi_consent.html',data=data,data1=data1,user_id=user_id,conf_id=conf_id,conf_key=conf_key)
		return html

	def success(abs_type,abs_id,user_id,conf_id,conf_key):
		abs_id      =   unquote(abs_id)
		user_id      =   unquote(user_id)
		abs_id        =  int(Cryptography.decrypt(abs_id))
		user_id       =  int(Cryptography.decrypt(user_id))
		authors       =  AbstractModel().get_authors(abs_id)
		data          =  AbstractModel().get_abstracts_by_user_abs_id(user_id,abs_id)
		alert_class   = "alert-success"
		alert_image   = "/static/images/wrong.png"
		alert_message = "Congratulations! your "+ data["abs_type"] + str(data["abs_no"]) +" is submitted successfully "
		return render_template('users/DEMO24/ICS/error_sucess.html',alert_class=alert_class,alert_message=alert_message,abs_id=abs_id,data=data,data2=authors,alert_image=alert_image,conf_id=conf_id,conf_key=conf_key)

	def View(abs_id,conf_id,conf_key):
		abs_id      = unquote(abs_id)
		abs_id      = int(Cryptography.decrypt(abs_id))
		stepsdata   = AbstractModel().get_sept4_data(abs_id)
		co_auth     = AbstractModel().get_authors(abs_id)
		pr_auth     = AbstractModel().FP_step1_get_author(abs_id)
		return render_template('users/DEMO24/ICS/view.html',abs_id=abs_id,data=stepsdata,data2=pr_auth,data1=co_auth,conf_id=conf_id,conf_key=conf_key)

	def Consent_status(user_id,topic_id,status,conf_id,conf_key):
		user_id      = unquote(user_id)
		topic_id     = unquote(topic_id)
		user_id      = int(Cryptography.decrypt(user_id))
		topic_id     = int(Cryptography.decrypt(topic_id))
		confe        = Auth.get_conference(conf_id).get('conference_header_logo')
		confe_logo   = Auth.get_society_data(conf_id).get('email_logo')
		check_status = AbstractModel().check_consent_status(topic_id)
		data1        = AbstractModel().get_sept4_data(check_status["abs_id"])
		if (check_status["consent_status_id"] == 0):
			data             = AbstractModel().get_email_consent(topic_id)
			consent_count_db = UserModel().get_consent_count_email(topic_id)
			subject          = "DEMO24 - Instruction Course consent request replay"
			email            = "mukeshkumar@numerotec.com"
			if(status == 2):
				setting_key   = 'ICS_CONSENT_COUNT'
				consent_count = AbstractModel().settings(setting_key,conf_id)
				if(consent_count[0][0]["setting_value"] > str(consent_count_db)):
					statustodb = AbstractModel().status_to_db(topic_id,status)
					content    = data[1]+''' said yes to your abstract '''+data1["abs_type"]+str(data1["abs_no"])
					html       = render_template('users/email/co_ins_consent_result.html',data=content,confe_logo=confe_logo,conf_id=conf_id,conf_key=conf_key)
					EMAIL.sendMail(subject,html,email,conf_id)
					alert_class   = "alert-success"
					alert_message = "you said yes to consent request"
					alert_image   = "/static/images/wrong.png"
					return render_template('users/error_success.html',confe_logo=confe_logo,alert_class=alert_class,alert_message=alert_message,alert_image=alert_image,user_id=data1["user_id"],conf_id=conf_id,conf_key=conf_key)
				else:
					alert_class   = 'alert-danger'
					alert_message = "consent limit is complited"
					alert_image   = "/static/images/right.png"
					return render_template('users/error_success.html',confe_logo=confe_logo,alert_class=alert_class,alert_message=alert_message,alert_image=alert_image,user_id=data1["user_id"],conf_id=conf_id,conf_key=conf_key)
			else:
				statustodb = AbstractModel().status_to_db(topic_id,status)
				content    = data[1]+''' said no to your abstract '''+data1["abs_type"]+str(data1["abs_no"])
				html       = render_template('users/email/co_ins_consent_result.html',data=content,confe_logo=confe_logo)
				EMAIL.sendMail(subject,html,email,conf_id)
				alert_class   = "alert-danger"
				alert_message = "you said NO to consent request"
				alert_image   = "/static/images/right.png"
				return render_template('users/error_success.html',confe_logo=confe_logo,alert_class=alert_class,alert_message=alert_message,alert_image=alert_image,user_id=data1["user_id"],conf_id=conf_id,conf_key=conf_key)
		else:
			alert_class   = 'alert-danger'
			alert_message = "Already Responced"
			alert_image   = "/static/images/right.png"
			return render_template('users/error_success.html',confe_logo=confe_logo,alert_class=alert_class,alert_message=alert_message,alert_image=alert_image,user_id=data1["user_id"],conf_id=conf_id,conf_key=conf_key)


def co_instructor_mail(abs_id,conf_id,conf_key):
	if(abs_id > 0):
		conf_data  = Auth.get_conference(conf_id)
		data       = AbstractModel().get_sept4_data(abs_id)
		data1      = AbstractModel().get_authors_1(abs_id)
		template_name = 'co_instructor_mail'
		mailData      = UserModel().get_mail_templates(template_name,conf_id)
		sub_data      = {'conf_name': conf_data['conf_name']}
		subject       = Helper.merge_tags(mailData.subject,sub_data)
# 		email         = "priyavarthana@numerotec.com"
		for h in data1:
			habs_id      = h["abs_id"]
			user_id      = h["user_id"]
			topic_id     = h["topic_id"]
			en_abs_id    = Cryptography.encrypt(int(habs_id))
			en_user_id 	 = Cryptography.encrypt(int(user_id))
			en_topic_id  = Cryptography.encrypt(int(topic_id))
			h["abs_id"]  = en_abs_id
			h["user_id"] = en_user_id
			h["topic_id"]= en_topic_id
		for i in data1:
			mail_data     = {'mail_content': mailData.mail_content,'data': data,'data1':i,'confData':conf_data}
			mail_content  = Helper.convert_html_for_mail_screen(mail_data)
			html = render_template('users/email/mail_template.html',is_layout=mailData.is_layout,mail_content=mail_content,confData=conf_data)
			EMAIL.sendMail(subject,html,email,mailData,conf_id)
		# return html
	else:
		return redirect(url_for('main.AbstractsIndex',abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))



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