def add(request): DetailsFormSet = formset_factory(LocationDetailsForm, formset=BaseArticleFormSet) if request.method == 'POST': hierarchy_form = LocationHierarchyForm(request.POST) details_formset = DetailsFormSet(request.POST,prefix='form') if hierarchy_form.is_valid(): selected_country = Location.objects.get(id=request.POST['country']) if details_formset.is_valid(): for form in details_formset.forms: location_type, status = LocationType.objects.get_or_create(name=form.cleaned_data.get('levels'), slug =slugify(form.cleaned_data.get('levels'))) details = form.save(commit=False) details.location_type = location_type details.country = selected_country details.save() messages.success(request, "Location Hierarchy successfully created.") return HttpResponseRedirect('/') else: messages.error(request,"levels not saved") else: hierarchy_form = LocationHierarchyForm() details_formset = DetailsFormSet() context = {'hierarchy_form': hierarchy_form, 'button_label': 'Create Hierarchy', 'id': 'hierarchy-form', 'details_formset':details_formset, 'cancel_url':'/'} return render(request,'location_hierarchy/new.html', context)
def test_should_not_be_valid_if_country_is_blank(self): data = { 'country':'', 'levels': 'Region' } hierarchy_form = LocationHierarchyForm(data=data) self.assertFalse(hierarchy_form.is_valid())
def add(request): DetailsFormSet = formset_factory(LocationDetailsForm, formset=BaseArticleFormSet) if request.method == 'POST': hierarchy_form = LocationHierarchyForm(request.POST) details_formset = DetailsFormSet(request.POST, prefix='form') if hierarchy_form.is_valid(): selected_country = Location.objects.get(id=request.POST['country']) if details_formset.is_valid(): for form in details_formset.forms: location_type, status = LocationType.objects.get_or_create( name=form.cleaned_data.get('levels'), slug=slugify(form.cleaned_data.get('levels'))) details = form.save(commit=False) details.location_type = location_type details.country = selected_country details.save() messages.success(request, "Location Hierarchy successfully created.") return HttpResponseRedirect('/') else: messages.error(request, "levels not saved") else: hierarchy_form = LocationHierarchyForm() details_formset = DetailsFormSet() context = { 'hierarchy_form': hierarchy_form, 'button_label': 'Create Hierarchy', 'id': 'hierarchy-form', 'details_formset': details_formset, 'cancel_url': '/' } return render(request, 'location_hierarchy/new.html', context)
def test_should_not_be_valid_if_country_is_blank(self): data = {'country': '', 'levels': 'Region'} hierarchy_form = LocationHierarchyForm(data=data) self.assertFalse(hierarchy_form.is_valid())