Ejemplo n.º 1
0
def extract_auction_adapter(request, auction_id):
    db = request.registry.db
    doc = db.get(auction_id)
    if doc is None or doc.get('doc_type') != 'Auction':
        request.errors.add('url', 'auction_id', 'Not Found')
        request.errors.status = 404
        raise error_handler(request)

    return request.auction_from_data(doc)
Ejemplo n.º 2
0
def auction_from_data(request, data, raise_error=True, create=True):
    procurementMethodType = data.get('procurementMethodType')
    if not procurementMethodType:
        pmts = get_procurement_method_types(request.registry,
                                            ('belowThreshold', ))
        procurementMethodType = pmts[0] if pmts else 'belowThreshold'
    model = request.registry.auction_procurementMethodTypes.get(
        procurementMethodType)
    if model is None and raise_error:
        request.errors.add('body', 'data',
                           'procurementMethodType is not implemented')
        request.errors.status = 415
        raise error_handler(request)
    update_logging_context(request, {'auction_type': procurementMethodType})
    if model is not None and create:
        model = model(data)
    return model