def download_viewer(): """This method allows the download of a submission by someone who has access to all the submissions of the venue. We need to do all access control here.""" subm = db.submission(request.args(0)) or redirect(URL('default', 'index')) c = db.venue(subm.venue_id) or redirect(URL('default', 'index')) props = db(db.user_properties.user == get_user_email()).select().first() # Does the user have access to the venue submissions? if not access.can_view_submissions(c, props): session.flash(T('Not authorized.')) redirect(URL('default', 'index')) # Creates an appropriate file name for the submission. original_ext = util.get_original_extension(subm.original_filename) filename = c.name + '_' + subm.user filename += '.' + original_ext # Allows the download. return my_download(filename, subm_content=s.content)
def download_reviewer(): # Checks that the reviewer has access. ok, v = access.validate_task(db, request.args(0), get_user_email()) if not ok: session.flash = T(v) redirect(URL('default', 'index')) (t, s, c) = v # Builds the download name for the file. if c.submissions_are_anonymized: # Get the extension of the original file original_ext = util.get_original_extension(s.original_filename) if t is None: subm_name = 'submission' else: subm_name = keystore_read(t.submission_name, default='submission') file_alias = subm_name + '.' + original_ext else: file_alias = s.original_filename return my_download(file_alias, subm_content=s.content)
def download_reviewer(): # Checks that the reviewer has access. ok, v = access.validate_task(db, request.args(0), auth.user.email) if not ok: session.flash = T(v) redirect(URL('default', 'index')) (t, s, c) = v # Builds the download name for the file. if c.submissions_are_anonymized: # Get the extension of the original file original_ext = util.get_original_extension(s.original_filename) file_alias = ( t.submission_name if t != None else 'submission' ) + '.' + original_ext else: # If title_is_file_name is set, then we use that as the alias, # otherwise we use the original filename. if c.submission_title_is_file_name: file_alias = s.title + '.' + original_ext else: file_alias = s.original_filename return my_download(file_alias, subm_content=s.content)