示例#1
0
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)
示例#2
0
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')