Skip to content
__init__.py 1.69 KiB
Newer Older
#!/usr/bin/python
# -*- coding: UTF-8 -*-

from uuid import uuid4

from flask import Blueprint
from flask import jsonify, request
from utils.decorator import admin_required
from utils.template import my_render_template

from utils.sql import sql_insert_generate

afis_view = Blueprint( "afis", __name__, template_folder = "templates" )

@afis_view.route( "/afis/get/list" )
def download_list():
    return my_render_template( 
        "afis/search_list.html"
    )

@afis_view.route( "/admin/afis/list" )
@admin_required
def admin_list():
    sql = "SELECT * FROM cnm_folder"
    folders = config.db.query_fetchall( sql )
    
    sql = """
        SELECT
            submissions.uuid,
            users.username
        FROM submissions
        LEFT JOIN users ON submissions.donor_id = users.id
        ORDER BY users.id ASC
    """
    donors = config.db.query_fetchall( sql )
    
    return my_render_template( 
        "afis/admin/list.html",
        folders = folders,
        donors = donors
@afis_view.route( "/admin/afis/new_folder", methods = [ "POST" ] )
def admin_add_new_folder():
    try:
        donor_uuid = request.form.get( "donor_uuid", False )
        
        sql = "SELECT count( * ) AS nb FROM cnm_folder WHERE donor = %s"
        nb = config.db.query_fetchone( sql, ( donor_uuid, ) )[ "nb" ]
        
        if nb == 0:
            sql = sql_insert_generate( "cnm_folder", [ "donor", "uuid" ], "id" )
            config.db.query_fetchone( sql, ( donor_uuid, str( uuid4() ) ) )
            config.db.commit()
        
        return jsonify( {
            "error": False
        } )
    
    except:
        return jsonify( {
            "error": True
        } )