Esempio n. 1
0
def upload_page(auth_dict=None):
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    return render_template("upload.html",
                           is_rtp=is_rtp,
                           is_eboard=is_eboard,
                           auth_dict=auth_dict)
Esempio n. 2
0
def home(auth_dict=None):
    # Retrieve list of files for templating
    db_files = File.query.all()
    harolds = get_harold_list(auth_dict["uid"])
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    return render_template("main.html", db_files=db_files,
                get_date_modified=get_date_modified, s3_bucket=s3_bucket,
                auth_dict=auth_dict, harolds=harolds, is_rtp=is_rtp,
                is_eboard=is_eboard)
Esempio n. 3
0
def selected(auth_dict=None):
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    #Retrieve list of files for templating
    harolds = get_harold_list(auth_dict["uid"])
    db_files = File.query.filter(File.file_hash.in_(harolds)).all()
    return render_template("main.html", db_files=db_files,
                get_date_modified=get_date_modified, s3_bucket=s3_bucket,
                auth_dict=auth_dict, harolds=harolds, is_rtp=is_rtp,
                is_eboard=is_eboard)
Esempio n. 4
0
def toggle_tour_mode(auth_dict=None):
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    if is_rtp or is_eboard:
        admin_query = Tour.query.first()
        if request.json["state"] == "t":
            admin_query.tour_lock = True
        elif request.json["state"] == "f":
            admin_query.tour_lock = False
        db.session.flush()
        db.session.commit()

        return "Tour Mode toggled", 200

    return "Permisssion Denied", 403
Esempio n. 5
0
def set_harold(file_hash, auth_dict=None):
    is_tour = request.json["tour"]
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    if is_tour == "true":
        if (is_rtp or is_eboard):
            uid = "root"
        else:
            return "Not Authorized", 403
    else:
        uid = auth_dict["uid"]
    harold_model = Harold(file_hash, uid)
    db.session.add(harold_model)
    db.session.flush()
    db.session.commit()
    db.session.refresh(harold_model)
    return "OK", 200
Esempio n. 6
0
def mine(auth_dict=None):
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    # Retrieve list of files for templating
    db_files = File.query.filter_by(author=auth_dict["uid"]).all()
    harolds = get_harold_list(auth_dict["uid"])
    tour_harolds = get_harold_list("root")
    return render_template("main.html",
                           db_files=db_files,
                           get_file_s3=get_file_s3,
                           get_date_modified=get_date_modified,
                           s3_bucket=s3_bucket,
                           auth_dict=auth_dict,
                           harolds=harolds,
                           tour_harolds=tour_harolds,
                           is_rtp=is_rtp,
                           is_eboard=is_eboard,
                           is_tour_page=False)
Esempio n. 7
0
def admin(auth_dict=None):
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    if is_eboard or is_rtp:
        harolds = get_harold_list(auth_dict["uid"])
        tour_harolds = get_harold_list("root")
        db_files = File.query.filter(File.file_hash.in_(tour_harolds)).all()
        return render_template("main.html",
                               db_files=db_files,
                               get_date_modified=get_date_modified,
                               s3_bucket=s3_bucket,
                               auth_dict=auth_dict,
                               harolds=harolds,
                               tour_harolds=tour_harolds,
                               is_rtp=is_rtp,
                               is_eboard=is_eboard,
                               is_tour_page=True,
                               is_tour_mode=get_tour_lock_status())

    return "Permission Denied", 403
Esempio n. 8
0
def delete_file(file_hash, auth_dict=None):
    # Find file model in db
    file_model = File.query.filter(File.file_hash == file_hash).first()

    if file_model is None:
        return "File Not Found", 404

    if not auth_dict["uid"] == file_model.author:
        if not (ldap_is_eboard(auth_dict["uid"]) or ldap_is_rtp(auth_dict["uid"])):
            return "Permission Denied", 403

    # Delete file model
    db.session.delete(file_model)
    db.session.flush()
    db.session.commit()
    # Delete harold model
    remove_harold(file_hash)
    # Delete file from s3
    remove_file(s3_bucket, file_hash)

    return "OK go for it", 200
Esempio n. 9
0
def remove_harold(file_hash, auth_dict=None):
    is_tour = request.json["tour"]
    is_rtp = ldap_is_rtp(auth_dict["uid"])
    is_eboard = ldap_is_eboard(auth_dict["uid"])
    if is_tour == "true":
        if is_rtp or is_eboard:
            uid = "root"
        else:
            return "Not Authorized", 403
    else:
        uid = auth_dict["uid"]
    harold_model = Harold.query.filter(Harold.file_hash == file_hash,
                                       Harold.owner == uid).all()
    if harold_model is None:
        return "File Not Found", 404

    for model in harold_model:
        db.session.delete(model)
        db.session.flush()
        db.session.commit()

    return "OK go for it", 200