def bulk(): action = request.form['action'] doc_names_selected = request.form.getlist('doc_names_selected') selected_docs = [ doc for doc in g.source.collection if doc.filename in doc_names_selected ] if selected_docs == []: if action == 'download': flash(gettext("No collections selected for download."), "error") elif action in ('delete', 'confirm_delete'): flash(gettext("No collections selected for deletion."), "error") return redirect(url_for('col.col', filesystem_id=g.filesystem_id)) if action == 'download': source = get_source(g.filesystem_id) return download(source.journalist_filename, selected_docs) elif action == 'delete': return bulk_delete(g.filesystem_id, selected_docs) elif action == 'confirm_delete': return confirm_bulk_delete(g.filesystem_id, selected_docs) else: abort(400)
def bulk() -> Union[str, werkzeug.Response]: action = request.form['action'] error_redirect = url_for('col.col', filesystem_id=g.filesystem_id) doc_names_selected = request.form.getlist('doc_names_selected') selected_docs = [ doc for doc in g.source.collection if doc.filename in doc_names_selected ] if selected_docs == []: if action == 'download': flash( Markup("<b>{}</b> {}".format( # Translators: Error shown when a user has not selected items to act on. escape(gettext("Nothing Selected")), escape( gettext( "You must select one or more items for download" )))), 'error') elif action in ('delete', 'confirm_delete'): flash( Markup("<b>{}</b> {}".format( # Translators: Error shown when a user has not selected items to act on. escape(gettext("Nothing Selected")), escape( gettext( "You must select one or more items for deletion" )))), 'error') return redirect(error_redirect) if action == 'download': source = get_source(g.filesystem_id) return download(source.journalist_filename, selected_docs, on_error_redirect=error_redirect) elif action == 'delete': return bulk_delete(g.filesystem_id, selected_docs) elif action == 'confirm_delete': return confirm_bulk_delete(g.filesystem_id, selected_docs) else: abort(400)
def bulk(): action = request.form['action'] doc_names_selected = request.form.getlist('doc_names_selected') selected_docs = [doc for doc in g.source.collection if doc.filename in doc_names_selected] if selected_docs == []: if action == 'download': flash(gettext("No collections selected for download."), "error") elif action in ('delete', 'confirm_delete'): flash(gettext("No collections selected for deletion."), "error") return redirect(url_for('col.col', filesystem_id=g.filesystem_id)) if action == 'download': source = get_source(g.filesystem_id) return download(source.journalist_filename, selected_docs) elif action == 'delete': return bulk_delete(g.filesystem_id, selected_docs) elif action == 'confirm_delete': return confirm_bulk_delete(g.filesystem_id, selected_docs) else: abort(400)