in gatekeeper.py [0:0]
def gdrive():
try:
cookie = request.elfowl_cookie
user = cookie.user
except AttributeError:
user = "demo"
log.info("Accessed by: %s" % user)
form = FilesOwnershipTransferForm()
user_info = None
files = None
if request.method == "POST":
user_id = form.data["USER_ID"]
user_is_valid = ldap_client.is_valid_user(user_id)
if user_is_valid:
user_info = ldap_client.get_user_info(user_id)
file_search = form.data["FILE_SEARCH"]
new_owner = form.data["NEW_OWNER"]
files = []
runner = Runner(user=user_id)
if new_owner:
new_owner_is_valid_user = ldap_client.is_valid_user(new_owner)
if new_owner_is_valid_user:
files = runner.drive_api.search_files_list(drive_query=file_search)
runner_new_owner = Runner(user=new_owner)
runner.suspend_user(False)
runner_new_owner.suspend_user(False)
for file in files:
if file["id"] in request.form.keys():
result = str(runner
.drive_api
.transfer_file_owner(file["id"], runner_new_owner.user_email))
file["chown"] = result
log.info("File Transfer: %s" % (file["chown"]))
runner.suspend_user(True)
else:
flash("WARNING: %s is not a valid LDAP user." % user_id)
return redirect(url_for('gdrive'))
elif file_search:
files = runner.drive_api.search_files_list(drive_query=file_search)
else:
flash("WARNING: %s is not a valid LDAP user." % user_id)
return redirect(url_for('gdrive'))
return render_template("gdrive.html",
form=form,
users=json.dumps(ldap_users),
user=user,
user_info=user_info,
ldap_fields=config["ldap"]["fields"],
files=files)