Sindbad~EG File Manager

Current Path : /home/numerotech/test-abs.numerotech.com/common_abs_v2/core/controller/VRSI23/
Upload File :
Current File : //home/numerotech/test-abs.numerotech.com/common_abs_v2/core/controller/VRSI23/HTController.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
#date:25/01/2023 01:14

class HTController():
    
    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)
        validation    = AbstractModel().abstract_home_validation('HT',user_id,conf_id)
        my_abstracts  = data[0]
        eng_abstracts = data[1]
        if(validation["status"] != 1):
            flash(validation["msg"])
        return render_template('users/VRSI2023/HT/abstract.html',data=my_abstracts,abs_type='HT',data1=eng_abstracts,data2 = validation,lent=len(my_abstracts),conf_id=conf_id,conf_key=conf_key)

    def main_layout(abs_type,abs_id,conf_id,conf_key):
        return render_template('users/VRSI2023/HT/main_HT.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,35,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      = int(Cryptography.decrypt(unquote(request.values.get('abs_id'))))
        society_id  = Auth.get_conference(conf_id).get("society_id") 
        user_id     = Auth.get_user(society_id).get('user_id')
        user_info   = UserModel().get_users_member_no(user_id)#getting name and membership for the user_id
        if(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):
                type_of_presentation  = AbstractModel().get_usp_type_of_presentation(user_id,conf_id)#getting presenting type from DB for PP
                abs_id                = Cryptography.encrypt(abs_id)
                json['data']          = render_template('users/VRSI2023/HT/step1.html',user_info=user_info,abs_id=abs_id,abs_type=abs_type,data=abstract_info,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)
        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):
        json        = {'msg':'','status' : 0,'data':''}
        society_id  = Auth.get_conference(conf_id).get("society_id")
        user_id     = Auth.get_user(society_id).get('user_id')
        pa_user_id  = request.values.get('pa_user_id')
        abs_id      = request.values.get('abs_id')
        abs_id      = int(Cryptography.decrypt(abs_id))
        settings    = AbstractModel().settings(abs_type,conf_id) #taking count form settings table to check the count of presenting author
        data     = {
                'title'       :request.values.get("title" or ''),
                'purpose'       :request.values.get("purpose" or ''),
                'methods'       :request.values.get("methods" or ''),
                'results'       :request.values.get("results" or ''),
                'updated_at'  :datetime.now()   
                }
        cur_step = request.values['cur_step']
        if int(cur_step) <= 1:
            data["cur_step"] = 1
        step1update = UserModel().update_step(data,abs_id)#updataing the data for step1
        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.get('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 ):
    #       abs_id = Cryptography.encrypt(abs_id)
    #       json["data"] = render_template('users/VRSI2023/HT/step2.html',data=step2data,abs_id=abs_id,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):
    #   abs_id      =  request.values.get('abs_id')
    #   abs_id1     =   int(Cryptography.decrypt(abs_id))
    #   is_next     =   request.values.get('is_next')
    #   if (int(is_next) == 1):
    #       data    = {}
    #       cur_step = request.values['cur_step']
    #       if int(cur_step) <= 3:
    #           data["cur_step"] = 3
    #       step3data=UserModel().update_step(data,abs_id1)
    #       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':''}
    #   abs_id  = request.values.get('abs_id')
    #   abs_id              = unquote(abs_id)
    #   abs_id              = int(Cryptography.decrypt(abs_id))
    #   confData            = Auth.get_conference(conf_id)
    #   society_id          = confData['society_id']
    #   user_id             = Auth.get_user(society_id).get('user_id')
    #   check_authors_count = AbstractModel().check_authors_count(abs_id,36)#this is used for step3 co-author count for VT AND PP
    #   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 ):
    #           stepsdata             =  AbstractModel().get_sept4_data(abs_id)#getting user and abstract data
    #           data1                 = AbstractModel().get_authors(abs_id)
    #           abs_id            =  Cryptography.encrypt(int(abs_id))
    #           # return redirect(url_for('main.Step5',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))
    #           json["data"] = render_template('users/VRSI2023/HT/step3.html',abs_type=abs_type,abs_id=abs_id,data = stepsdata,confData=confData,conf_id=conf_id,conf_key=conf_key,data1=data1)
    #           return jsonify(json) # this is commented by mukesh tnoa has only 4 steps and skipped the 4 step
    #       else:
    #           json["msg"] = 'Enter at least one author'
    #           json["status"] = 0
    #           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 Step2(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')
        user_info   = UserModel().get_users_member_no(user_id)#getting name and membership for the user_id
        abs_id     = request.values.get('abs_id')
        abs_id     = int(Cryptography.decrypt(abs_id))
#       step2data  = UserModel().steps_data(abs_id)#get date from DB
        step2data  = AbstractModel().get_sept4_data(abs_id)#getting user and abstract data
        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 ):
            abs_id = Cryptography.encrypt(int(abs_id))
            json["data"] = render_template('users/VRSI2023/HT/step2.html',user_info=user_info,data = step2data,abs_id=abs_id,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 Step2post(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')
    #   if (int(is_next) == 1):
    #       data    = {
    #       'is_award':request.values.get("rdnaward" or '')
    #           }
    #       cur_step = request.values['cur_step']
    #       if int(cur_step) <= 3:
    #           data["cur_step"] = 3
    #       step3data=UserModel().update_step(data,abs_id1)
    #       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.Step1',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))


    def Searchauthor(abs_type,conf_id,conf_key):
        searchtext  = request.values["searchtext"]
        btn_val     = request.values["btn_val"]
        society_id  = Auth.get_conference(conf_id).get("society_id")
        role_id     = 34 
        if int(btn_val) == 0:
            setting_key = 'HT_PA_COUNT'
            data1       = AbstractModel().settings(setting_key,conf_id)#get settings for PP presenting author count
            if (data1[0]):
                data1 = data1=int(data1[0][0]["setting_value"])
            mem_type = None
            data        = UserModel().get_search_data_presenting(mem_type,searchtext,role_id,abs_type,society_id)#getting search data from DB to step3
            return render_template('users/VRSI2023/HT/presenting_authour_search_table.html',data=data,data1=data1,conf_id=conf_id,conf_key=conf_key)
        else:
            setting_key = 'HT_CA_COUNT'
            data1       = AbstractModel().settings(setting_key,conf_id)#get settings for PP presenting author count
            if (data1[0]):
                data1 = data1=int(data1[0][0]["setting_value"])
            data        = UserModel().get_search_data(searchtext,role_id,abs_type,society_id)#getting search data from DB to step3
            return render_template('users/VRSI2023/HT/co_authour_search_table.html',data=data,data1=data1,conf_id=conf_id,conf_key=conf_key)
        

    def Add_update_Presenting_author(abs_type,conf_id,conf_key):
        user_id   = request.values["user_id"]
        abs_id    = request.values["abs_id"]
        role_id   = request.values["role_id"]
        add_PA = UserModel().get_user_data(user_id)#getting user data
        data      = AbstractModel().add_to_presenting_author(abs_id,user_id,role_id)#adding presenting author for PP
        return render_template('users/VRSI2023/HT/presenting_authour_table.html',pa_data=add_PA,conf_id=conf_id,conf_key=conf_key)

    def Add_update_co_author(abs_type,conf_id,conf_key):
        user_id     = request.values["user_id"]
        abs_id      = request.values["abs_id"]
        role_id     = request.values["role_id"]
        addcoauthor = UserModel().get_user_data(user_id)#getting user data
        abs_id      = (int(Cryptography.decrypt(abs_id)))
        saved_to    = AbstractModel().add_to_presenting_author(abs_id,user_id,role_id)#adding presenting author for PP
        return render_template('users/VRSI2023/HT/co_athour_table.html',co_data=addcoauthor,conf_id=conf_id,conf_key=conf_key)


    def Step1_get_author(abs_type,conf_id,conf_key):
        abs_id    = request.values["abs_id"]
        data      = AbstractModel().FP_step1_get_author(abs_id)#getting the presenting author to show in step1
        if(data == []):
            data1 = 0
            return jsonify(data1)
        return render_template('users/VRSI2023/HT/presenting_authour_table.html',pa_data=data,conf_id=conf_id,conf_key=conf_key)

    def Get_co_author(abs_type,conf_id,conf_key):
        confe_name  =  Auth.get_conference(conf_id).get('conf_name')
        duration_db =  AbstractModel().settings(confe_name+"_Duration",conf_id)
        abs_id      =  request.values["abs_id"]
        abs_id      =  int(Cryptography.decrypt(abs_id))
        data        =  AbstractModel().get_authors(abs_id)#geting author to show in step 3 table
        limit_of_authors = AbstractModel().limit_of_authors(abs_id)#geting count of author for co-authors
        settings    = AbstractModel().settings(abs_type+"_CA_COUNT",conf_id)
        if(limit_of_authors >= int(settings[0][0]["setting_value"])):
            limit   = 0
        else:
            limit   = 1
        return render_template('users/VRSI2023/HT/co_athour_table.html',co_data=data,limit=limit,conf_id=conf_id,conf_key=conf_key)

    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))
        confData            = Auth.get_conference(conf_id)
        society_id          = confData['society_id']
        user_id             = Auth.get_user(society_id).get('user_id')
        check_authors_count = AbstractModel().check_authors_count(abs_id,36)#this is used for step3 co-author count for VT AND PP
        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 ):
                stepsdata             =  AbstractModel().get_sept4_data(abs_id)#getting user and abstract data
                abs_id            =  Cryptography.encrypt(int(abs_id))
                # return redirect(url_for('main.Step5',abs_id=abs_id,abs_type=abs_type,conf_id=conf_id,conf_key=conf_key))
                json["data"] = render_template('users/VRSI2023/HT/step4.html',abs_type=abs_type,abs_id=abs_id,data = stepsdata,confData=confData,conf_id=conf_id,conf_key=conf_key)
                return jsonify(json) # this is commented by mukesh tnoa has only 4 steps and skipped the 4 step
            else:
                json["msg"] = 'Enter at least one author'
                json["status"] = 0
                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 Step4post(abs_id,abs_type,conf_id,conf_key):
        abs_id       =   unquote(abs_id)
        abs_id       =   int(Cryptography.decrypt(abs_id))
        is_next      =   request.values.get('is_next')
        if (int(is_next) == 1):
            misc1             = request.values["misc1"]
            misc2             = request.values["misc2"]
            misc3             = request.values["misc3"]
            data={
                'misc1':misc1,
                'misc2':misc2,
                'misc3':misc3
            }
            cur_step = request.values['cur_step']
            if int(cur_step) <= 4:
                data["cur_step"] = 4
            datatoupdate=UserModel().update_step(data,abs_id)#update data from step 4 for Fp
            abs_id = Cryptography.encrypt(int(abs_id))
            return redirect(url_for('main.Step5',abs_id=abs_id,abs_type=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=abs_type,conf_id=conf_id,conf_key=conf_key))
        
    def Step5(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')
        data        = AbstractModel().get_sept4_data(abs_id)#getting user and abstract data
        if data == [] :
                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)
        elif(data["abs_status_id"] == 0 ):
            data1     = AbstractModel().get_authors(abs_id)#geting co authors
            data2     = AbstractModel().FP_step1_get_author(abs_id)#getting presenting author
            abs_id    = Cryptography.encrypt(int(abs_id))
            json["data"] = render_template('users/VRSI2023/HT/step5.html',abs_type=abs_type,abs_id=abs_id,data=data,data2=data2,data1=data1,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 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)
        # authors    = AbstractModel().get_authors(abs_id)
        # print("authors--->",authors)
        is_next  = request.values.get('is_next')
        if (int(is_next) == 1):
            if(data["status_check"] == 0):
                data1    = {
                           'submitted_at' :  str(datetime.now()),
                           }
                # ratifi_authour = UserModel().get_ratified_member_count(abs_id)
                ratifi_authour = 1
                if int(ratifi_authour) >= 1:
                    PA_count = AbstractModel().get_FP_PA_count_final(abs_id,data["abs_type"])#checking presenting author count
                    # data2    = AbstractModel().FP_step1_get_author(abs_id)#getting presenting author details
                    data3    = AbstractModel().fp_authors_for_email(abs_id)#getting co authors details
                    settings = AbstractModel().settings('HT_PA_COUNT',conf_id)
                    if(PA_count <= int(settings[0][0]["setting_value"])):
                        output = AbstractModel().abstract_submited(user_id,abs_id,data["abs_type"],data1,conf_id)
                        data       = AbstractModel().get_sept4_data(abs_id)
                        confe_logo = Auth.get_society_data(conf_id).get('email_logo')
                        for i in data3:
                            template_name = 'HT_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,'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,conf_id=conf_id,conf_key=conf_key)
                            # EMAIL.sendMail_v1(subject,html,email,mailData,conf_id)
                            # name    = i["full_name"]
                            # subject = "TNOA-"+data["abs_type"]+str(data["abs_no"])+" successfully submited"
                            # email   = i["email"]
                            # html    = render_template('users/email/FP_submit.html',name=name,data=data,data1=authors,data2=data2,confe_logo=confe_logo,conf_id=conf_id,conf_key=conf_key)
                            # now     = datetime.now()
                            EMAIL.sendMail_v1(subject,html,email,mailData,conf_id)
                        # return html
                    else:
                        abs_id = Cryptography.encrypt(int(abs_id))
                        flash('The presenting author can not participate more than '+settings[0][0]["setting_value"])
                        return redirect(url_for('main.AbstractsIndex',abs_type=data["abs_type"],conf_id=conf_id,conf_key=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("There must be one Ratified Member as Author(presenting author or co-author)")
                    return redirect(url_for('main.AbstractsIndex',abs_type=data['abs_type'],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.Step1',abs_id=abs_id,abs_type=data['abs_type'],conf_id=conf_id,conf_key=conf_key))
            # return redirect(url_for('FP.Step4',abs_id=abs_id,abs_type=data['abs_type']))#skiped one step for tnoa

            
    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/VRSI2023/HT/error_success.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))
        data     = AbstractModel().get_sept4_data(abs_id)
        data1    = AbstractModel().get_authors(abs_id)
        data2    = AbstractModel().FP_step1_get_author(abs_id)
        return render_template('users/VRSI2023/HT/view.html',abs_id=abs_id,data=data,data2=data2,data1=data1,conf_id=conf_id,conf_key=conf_key)







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