Пример #1
0
def insert_restaurant_page(request):
    """Insert new restaurant into database"""
    validate(instance=request.body, schema=restaurant_schema)
    body = json.loads(request.body)
    invalid = Restaurant.field_validate(body)
    if invalid:
        return JsonResponse(invalid)
    try:
        restaurant = Restaurant.insert(body)
        return JsonResponse(model_to_json(restaurant))
    except ValueError:
        return HttpResponseBadRequest('duplicate email')
Пример #2
0
def edit_restaurant_page(request):
    """Update restaurant data"""
    validate(instance=request.body, schema=restaurant_schema)
    body = json.loads(request.body)
    invalid = Restaurant.field_validate(body)
    if invalid:  # exit if invalid body
        return JsonResponse(invalid)
    restaurant = Restaurant.get(body["restaurant_id"])
    edit_model(restaurant, body, restaurant_editable)
    if address_changed(body):
        update_model_geo(restaurant, body['address'])
    restaurant = save_and_clean(restaurant)
    return JsonResponse(model_to_json(restaurant))