Beispiel #1
0
    def post(self, request, *args, **kwargs):
        user = get_user_in_session(request.session)
        data = {'user': user}
        form = TransactionForm(request.POST, initial=data)
        if form.is_valid():
            budget = form.cleaned_data['budget']
            description = form.cleaned_data['description']
            amount = form.cleaned_data['amount']
            transaction_date = form.cleaned_data['transaction_date']
            transaction = Transaction(
                budget=budget,
                description=description,
                amount=amount,
                transaction_date=transaction_date
            )
            transaction.save()

            message_url = reverse(viewname='wilbur:transactions-edit', kwargs={'transaction_id': transaction.id})
            request.session['message_url'] = message_url
            messages.success(request, 'Transaction added')
            return {'success': True}
        form_html = render(request, 'transactions/add_form.html', {
            'form': form,
        })
        form_html = form_html.content.decode('utf-8')
        return {
            'success': False,
            'form_html': form_html,
        }
Beispiel #2
0
    def post(self, request, *args, **kwargs):
        user = get_user_in_session(request.session)
        data = {'user': user}
        form = TransactionForm(request.POST, initial=data)
        if form.is_valid():
            budget = form.cleaned_data['budget']
            description = form.cleaned_data['description']
            amount = form.cleaned_data['amount']
            transaction_date = form.cleaned_data['transaction_date']
            transaction = Transaction(budget=budget,
                                      description=description,
                                      amount=amount,
                                      transaction_date=transaction_date)
            transaction.save()

            message_url = reverse(viewname='wilbur:transactions-edit',
                                  kwargs={'transaction_id': transaction.id})
            request.session['message_url'] = message_url
            messages.success(request, 'Transaction added')
            return {'success': True}
        form_html = render(request, 'transactions/add_form.html', {
            'form': form,
        })
        form_html = form_html.content.decode('utf-8')
        return {
            'success': False,
            'form_html': form_html,
        }
Beispiel #3
0
    def post(self, request, *args, **kwargs):
        transaction_id = kwargs.pop('transaction_id', None)
        transaction = Transaction.objects.get(pk=transaction_id)
        user = get_user_in_session(request.session)
        data = {
            'budget': transaction.budget.id,
            'description': transaction.description,
            'amount': transaction.amount,
            'transaction_date': transaction.transaction_date,
            'user': user,
        }
        form = TransactionForm(request.POST, initial=data)
        if form.is_valid():
            if form.has_changed():
                for field in form.changed_data:
                    cleaned_data = form.cleaned_data[field]
                    if field == 'budget':
                        transaction.budget = cleaned_data
                    elif field == 'description':
                        transaction.description = cleaned_data
                    elif field == 'amount':
                        transaction.amount = cleaned_data
                    elif field == 'transaction_date':
                        transaction.transaction_date = cleaned_data
                transaction.save()

            message_url = reverse(viewname='wilbur:transactions-edit',
                                  kwargs={'transaction_id': transaction.id})
            request.session['message_url'] = message_url
            messages.success(request, 'Transaction edited')
            return {'success': True}
        form_html = render(
            request, 'transactions/edit_form.html', {
                'form':
                form,
                'transaction_id':
                transaction_id,
                'dialog_title':
                'Delete Transaction',
                'dialog_text':
                'Are you sure you want to delete {} {}?'.format(
                    transaction.budget.category.name.title(),
                    transaction.amount),
                'dialog_action':
                reverse(viewname='wilbur:transaction-delete',
                        kwargs={'transaction_id': transaction.id}),
            })
        form_html = form_html.content.decode('utf-8')
        return {
            'success': False,
            'form_html': form_html,
            'transaction_id': transaction.id,
        }
Beispiel #4
0
    def post(self, request, *args, **kwargs):
        transaction_id = kwargs.pop('transaction_id', None)
        transaction = Transaction.objects.get(pk=transaction_id)
        user = get_user_in_session(request.session)
        data = {
            'budget': transaction.budget.id,
            'description': transaction.description,
            'amount': transaction.amount,
            'transaction_date': transaction.transaction_date,
            'user': user,
        }
        form = TransactionForm(request.POST, initial=data)
        if form.is_valid():
            if form.has_changed():
                for field in form.changed_data:
                    cleaned_data = form.cleaned_data[field]
                    if field == 'budget':
                        transaction.budget = cleaned_data
                    elif field == 'description':
                        transaction.description = cleaned_data
                    elif field == 'amount':
                        transaction.amount = cleaned_data
                    elif field == 'transaction_date':
                        transaction.transaction_date = cleaned_data
                transaction.save()

            message_url = reverse(viewname='wilbur:transactions-edit', kwargs={'transaction_id': transaction.id})
            request.session['message_url'] = message_url
            messages.success(request, 'Transaction edited')
            return {'success': True}
        form_html = render(request, 'transactions/edit_form.html', {
            'form': form,
            'transaction_id': transaction_id,
            'dialog_title': 'Delete Transaction',
            'dialog_text': 'Are you sure you want to delete {} {}?'.format(transaction.budget.category.name.title(), transaction.amount),
            'dialog_action': reverse(viewname='wilbur:transaction-delete', kwargs={'transaction_id': transaction.id}),
        })
        form_html = form_html.content.decode('utf-8')
        return {
            'success': False,
            'form_html': form_html,
            'transaction_id': transaction.id,
        }