Ejemplo n.º 1
0
def cart_items():
    xchat_id = request.headers.get('X-Fridge-chat-id', None)
    if xchat_id is None or xchat_id == {} or xchat_id == "{}":
        xchat_id = app.config['DEFAULT_ROOM']
    print 'cart_items add'
    print xchat_id
    cart = CartController.get_or_create(chat_id=xchat_id)

    data = json.loads(request.data)
    words = Items.filterWords(data['title'])
    if len(words) == 0:
        return json.dumps({'error': 'can not add product'}), 400, {'Content-Type': 'application/json; charset=utf-8'}

    data['title'] = " ".join(words)

    items = Item.objects(title=data['title'], cart_id=cart.id)
    if len(items) > 0:
        return json.dumps(items[0].as_api()), 200, {'Content-Type': 'application/json; charset=utf-8'}

    form = ItemForm.from_json(data)
    if form.validate():
        print 'creating product'
        data = form.data
        data.update({'cart_id': cart.id})
        item = Item(**data)
        item.save()
        return json.dumps(item.as_api()), 200, {'Content-Type': 'application/json; charset=utf-8'}
    else:
        return json.dumps({'error': 'can not add product'}), 400, {'Content-Type': 'application/json; charset=utf-8'}