Ejemplo n.º 1
0
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())
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
 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())