Esempio n. 1
0
def edit_account(account_id):
    account = Account.query.filter(
        Account.id == account_id,
        Account.user_id == current_user.id).first_or_404()

    account_schema = Account.from_json(json.loads(
        request.data.decode('utf-8')),
                                       partial=True)

    if account_schema.errors:
        return {'errors': account_schema.errors}, 400

    if 'currency_id' in account_schema.data:
        currency = GroupCurrency.query.filter(
            GroupCurrency.id == account_schema.data['currency_id']).first()

        if not currency:
            return {
                'errors': {
                    'currency': 'Group currency with this id does not exist'
                }
            }, 400

    for field, value in account_schema.data.items():
        if hasattr(account, field):
            setattr(account, field, value)

    db.session.commit()

    return account, 200
Esempio n. 2
0
def edit_account(account_id):
    account = Account.query.filter(
        Account.id == account_id, Account.user_id == current_user.id
    ).first_or_404()

    account_schema = Account.from_json(json.loads(request.data.decode('utf-8')), partial=True)

    if account_schema.errors:
        return {'errors': account_schema.errors}, 400

    if 'currency_id' in account_schema.data:
        currency = GroupCurrency.query.filter(
            GroupCurrency.id == account_schema.data['currency_id']
        ).first()

        if not currency:
            return {'errors': {'currency': 'Group currency with this id does not exist'}}, 400

    for field, value in account_schema.data.items():
        if hasattr(account, field):
            setattr(account, field, value)

    db.session.commit()

    return account, 200
Esempio n. 3
0
def add_account():
    account_schema = Account.from_json(json.loads(request.data.decode('utf-8')))

    if account_schema.errors:
        return {'errors': account_schema.errors}, 400

    currency = GroupCurrency.query.filter(
        GroupCurrency.id == account_schema.data['currency_id']
    ).first()

    if not currency:
        return {'errors': {'currency': 'Group currency with this id does not exist'}}, 400

    account = Account(**account_schema.data)
    account.user = current_user

    db.session.add(account)
    db.session.commit()

    return account, 201
Esempio n. 4
0
def add_account():
    account_schema = Account.from_json(json.loads(
        request.data.decode('utf-8')))

    if account_schema.errors:
        return {'errors': account_schema.errors}, 400

    currency = GroupCurrency.query.filter(
        GroupCurrency.id == account_schema.data['currency_id']).first()

    if not currency:
        return {
            'errors': {
                'currency': 'Group currency with this id does not exist'
            }
        }, 400

    account = Account(**account_schema.data)
    account.user = current_user

    db.session.add(account)
    db.session.commit()

    return account, 201