def get_lot_products(lot_id, delivery_type): if delivery_type == COUNTRY: return COUNTRY_LOT_PRODUCTS.get(lot_id) elif delivery_type == LOT: return LOT_PRODUCTS.get(lot_id) elif delivery_type == STREAM: return STREAM_LOT_PRODUCTS.get(lot_id)
def new_report(): if not authorize_for_cdr(): return flask.abort(403) if flask.request.method == 'POST': wh = get_warehouse() form = flask.request.form.to_dict() metadata = {k: form.get(k, '') for k in REPORT_METADATA} data_map = zip(REPORT_METADATA, [LOTS, COUNTRY_LOT_PRODUCTS.get(metadata['lot'], ())]) if not validate_metadata(metadata, data_map): flask.abort(400) posted_file = flask.request.files.get('file') if posted_file and extension(posted_file.filename) in DOCUMENTS: report = wh.new_report(**metadata) save_report_file(reports_path=wh.reports_path, posted_file=posted_file, report=report) report_created.send(report) url = flask.url_for('parcel.lot', code=report.lot) return flask.redirect(url) else: flask.flash("File field is missing or it's not a document.", 'system') return flask.render_template('report_new.html')