From 7aacfe99af6dc3762cc3968fba20d75d904d1423 Mon Sep 17 00:00:00 2001 From: Joyce Liao Date: Wed, 23 Jan 2019 14:46:27 -0800 Subject: [PATCH] filtered budgets --- budget_tool/forms.py | 20 ++++---------------- budget_tool/views.py | 14 +++++++------- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/budget_tool/forms.py b/budget_tool/forms.py index 81ecf6a..459d525 100644 --- a/budget_tool/forms.py +++ b/budget_tool/forms.py @@ -14,19 +14,7 @@ class Meta: model = Transaction fields = ['budget', 'transaction_type', 'amount', 'description'] - # def __init__(self, *args, **kwargs): - # super(TransactionForm, self).__init__(*args, **kwargs) - # self.user = kwargs.pop('user', None) - # import pdb; pdb.set_trace() - # # self.user is empty; "You would need to do something clever to return a class with the user value baked in from get_form."; https://stackoverflow.com/questions/28078419/django-modeladmin-get-queryset-from-modelform? - # self.fields['budget'].queryset = Transaction.objects.filter(budget__user__username=self.request.user.username) - - - - - - - - - - + def __init__(self, *args, **kwargs): + self.user = kwargs.pop('user', None) + super().__init__(*args, **kwargs) + self.fields['budget'].queryset = Budget.objects.filter(user__username=self.user.username) diff --git a/budget_tool/views.py b/budget_tool/views.py index bb509b2..375a5ff 100644 --- a/budget_tool/views.py +++ b/budget_tool/views.py @@ -50,14 +50,14 @@ class TransactionCreateView(LoginRequiredMixin, CreateView): success_url = reverse_lazy('budget_view') login_url = reverse_lazy('auth_login') + def get_form_kwargs(self): + """ + """ + kwargs = super().get_form_kwargs() + kwargs.update({'user': self.request.user}) + return kwargs + def form_valid(self, form): """Validate form data.""" form.instance.user = self.request.user return super().form_valid(form) - - # def call_transactionForm(self): - # current_user = self.request.user.username - # form_class = TransactionForm(current_user) - # return form_class - -