diff --git a/src/apps/dashboard/forms.py b/src/apps/dashboard/forms.py index 3154db2..1b32561 100644 --- a/src/apps/dashboard/forms.py +++ b/src/apps/dashboard/forms.py @@ -32,4 +32,7 @@ class ExistingListItemForm(ItemForm): text = self.cleaned_data["text"] if self.instance.list.item_set.filter(text=text).exists(): raise forms.ValidationError(DUPLICATE_ITEM_ERROR) - return text \ No newline at end of file + return text + + def save(self): + return forms.models.ModelForm.save(self) diff --git a/src/apps/dashboard/tests/test_forms.py b/src/apps/dashboard/tests/test_forms.py index 5991cf4..557f66b 100644 --- a/src/apps/dashboard/tests/test_forms.py +++ b/src/apps/dashboard/tests/test_forms.py @@ -49,3 +49,10 @@ class ExistingListItemFormTest(TestCase): form = ExistingListItemForm(for_list=list_, data={"text": "twins, basil"}) self.assertFalse(form.is_valid()) self.assertEqual(form.errors["text"], [DUPLICATE_ITEM_ERROR]) + + def test_form_save(self): + mylist = List.objects.create() + form = ExistingListItemForm(for_list=mylist, data={"text": "howdy"}) + self.assertTrue(form.is_valid()) + new_item = form.save() + self.assertEqual(new_item, Item.objects.get()) diff --git a/src/apps/dashboard/views.py b/src/apps/dashboard/views.py index e470353..57476e5 100644 --- a/src/apps/dashboard/views.py +++ b/src/apps/dashboard/views.py @@ -22,7 +22,7 @@ def view_list(request, list_id): if request.method == "POST": form = ExistingListItemForm(for_list=our_list, data=request.POST) if form.is_valid(): - form.save(for_list=our_list) + form.save() return redirect(our_list) return render(request, 'apps/dashboard/list.html', {'list': our_list, "form": form})