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, }
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, }
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, }
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, }