Source code for app.pages.submissions
from flask import (
g,
session,
redirect,
url_for,
request,
)
import sqlalchemy as sql
from werkzeug.exceptions import Forbidden
from app.model.orm import Submission
from app.model.lib.errors import LoginRequired
from app.view.forms.submission_form import SubmissionForm
[docs]
def download_submission_metadata(id):
submission = g.db_session.get(Submission, id)
if not submission.isPublished:
raise Forbidden
return submission.studyDesign
[docs]
def edit_submission_action(id):
session['submission_id'] = id
return redirect(url_for('upload_status_page'))
[docs]
def delete_submission_action(id):
if not g.current_user:
raise Forbidden
submission = g.db_session.get(Submission, id)
if submission.userUniqueID != g.current_user.uuid:
raise Forbidden
if 'submission_id' in session and session['submission_id'] == id:
del session['submission_id']
g.db_session.execute(sql.delete(Submission).where(Submission.id == id))
g.db_session.commit()
return redirect(url_for('upload_status_page'))