def get_handler(): """Return a form for creating an item.""" form_data = request.session.pop('form_data', None) if form_data is None: form = forms.ItemForm() else: form = forms.ItemForm(json.loads(form_data)) return render(request, 'elts/item-create-form.html', {'form': form})
def get_handler(): """Return a form for updating item ``item_id_``.""" form_data = request.session.pop('form_data', None) if form_data is None: form = forms.ItemForm(instance = item_) else: form = forms.ItemForm(json.loads(form_data)) return render( request, 'elts/item-id-update-form.html', {'item': item_, 'form': form} )
def test_has_tags(self): """Create an ItemForm and set ``tags``.""" form = forms.ItemForm({ 'name': factories.item_name(), 'tags': [tag.id for tag in factories.item_tags()], }) self.assertTrue(form.is_valid())
def test_has_is_lendable(self): """Create an ItemForm and set ``is_lendable``.""" form = forms.ItemForm({ 'name': factories.item_name(), 'is_lendable': factories.item_is_lendable(), }) self.assertTrue(form.is_valid())
def test_has_description(self): """Create an ItemForm and set ``description``.""" form = forms.ItemForm({ 'name': factories.item_name(), 'description': factories.item_description(), }) self.assertTrue(form.is_valid())
def put_handler(): """Update item ``item_id_``. If update succeeds, redirect user to ``item_id`` view. Otherwise, redirect user to ``item_id_update_form``. """ form = forms.ItemForm(request.POST, instance = item_) if form.is_valid(): form.save() return http.HttpResponseRedirect( reverse('elts.views.item_id', args = [item_id_]) ) else: request.session['form_data'] = json.dumps(form.data) return http.HttpResponseRedirect( reverse('elts.views.item_id_update_form', args = [item_id_]) )
def post_handler(): """Create a new item. If creation succeeds, redirect user to ``item_id`` view. Otherwise, redirect user to ``item_create_form`` view. """ form = forms.ItemForm(request.POST) if form.is_valid(): new_item = form.save() return http.HttpResponseRedirect( reverse('elts.views.item_id', args = [new_item.id]) ) else: # Put ``form`` into session for retreival by ``item_create_form``. request.session['form_data'] = json.dumps(form.data) return http.HttpResponseRedirect( reverse('elts.views.item_create_form') )
def test_missing_name(self): """Create an ItemForm without setting ``name``.""" form = forms.ItemForm({}) self.assertFalse(form.is_valid())
def test_valid(self): """Create a valid ItemForm.""" form = forms.ItemForm({'name': factories.item_name()}) self.assertTrue(form.is_valid())