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)
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)
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)
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
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
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)
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
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
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