Exemple #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,
        }
Exemple #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,
        }
Exemple #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,
        }
Exemple #4
0
 def get(self, request, *args, **kwargs):
     transaction_id = kwargs['transaction_id']
     transaction = Transaction.objects.get(pk=transaction_id)
     user = get_user_in_session(request.session)
     if transaction.budget.user == user:
         data = {
             'budget': transaction.budget.id,
             'description': transaction.description,
             'amount': transaction.amount,
             'transaction_date': transaction.transaction_date,
             'user': user,
         }
         form = TransactionForm(data, initial={'user': user})
         return render(
             request, 'transactions/edit.html', {
                 'title':
                 'Edit Transaction',
                 '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:transactions-delete',
                         kwargs={'transaction_id': transaction.id}),
             })
     else:
         raise Http404("Transaction does not exist")
Exemple #5
0
 def get(self, request, *args, **kwargs):
     user = get_user_in_session(request.session)
     data = {'user': user}
     form = TransactionForm(initial=data)
     return render(request, 'transactions/add.html', {
         'title': 'Add Transaction',
         'form': form,
     })
Exemple #6
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,
        }