mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-27 20:04:17 +00:00
28 lines
729 B
Python
28 lines
729 B
Python
from flask import abort, send_from_directory
|
|
from flask_login import current_user, login_required
|
|
from app.models import JobInput
|
|
from . import bp
|
|
|
|
|
|
@bp.route('/<hashid:job_id>/inputs/<hashid:job_input_id>/download')
|
|
@login_required
|
|
def download_job_input(job_id: int, job_input_id: int):
|
|
job_input = JobInput.query.filter_by(
|
|
job_id=job_id,
|
|
id=job_input_id
|
|
).first_or_404()
|
|
|
|
if not (
|
|
job_input.job.user == current_user
|
|
or current_user.is_administrator
|
|
):
|
|
abort(403)
|
|
|
|
return send_from_directory(
|
|
job_input.path.parent,
|
|
job_input.path.name,
|
|
as_attachment=True,
|
|
download_name=job_input.filename,
|
|
mimetype=job_input.mimetype
|
|
)
|