diff --git a/reports/forms.py b/reports/forms.py index dabe723..38de186 100644 --- a/reports/forms.py +++ b/reports/forms.py @@ -13,7 +13,6 @@ class ResourceAndTagForm(forms.Form): super(ResourceAndTagForm, self).__init__(*args, **kwargs) if kwargs.get('initial'): initial = kwargs['initial'] - print(initial) self.fields['resource'].choices = [(resource.id, resource.name) for resource in initial['resource']] self.fields['tag'].choices = [(tag.id, tag.name) for tag in initial['tag']] diff --git a/reports/templates/reports/create.html b/reports/templates/reports/create.html index 83bd39a..1410a73 100644 --- a/reports/templates/reports/create.html +++ b/reports/templates/reports/create.html @@ -62,7 +62,15 @@ fields[0].options[fields[0].options.length] = new Option(data.resources[j].name,data.resources[j].id); } - //Modify tags fields + //Set initial tag options + $.get("{% url 'subjects:reports:get_tags' %}?resource_id="+fields[0].value, function(data){ + fields[1].options.length = 0; + for(var j = 0; j < data.tags.length; j++){ + fields[1].options[fields[1].options.length] = new Option(data.tags[j].name,data.tags[j].id); + } + }); + + //Modify tags fields - on resource type value modifies fields[0].onchange = function(item){ //it request all tags associated with that resource $.get("{% url 'subjects:reports:get_tags' %}?resource_id="+item.target.value, function(data){ diff --git a/reports/views.py b/reports/views.py index 0807605..65567f8 100644 --- a/reports/views.py +++ b/reports/views.py @@ -58,8 +58,8 @@ class ReportView(LoginRequiredMixin, generic.FormView): #set formset - resourceTagFormSet = formset_factory(ResourceAndTagForm, extra = 1) - resourceTagFormSet = resourceTagFormSet(initial=[{'resource':resources, 'tag':tags}]) + resourceTagFormSet = formset_factory(ResourceAndTagForm) + resourceTagFormSet = resourceTagFormSet() context['resource_tag_formset'] = resourceTagFormSet return context @@ -102,7 +102,7 @@ class ReportView(LoginRequiredMixin, generic.FormView): for tag in resource.tags.all(): tags.append(tag) resources.append(resource) - resourceTagFormSet = formset_factory(ResourceAndTagForm, extra= 1) + resourceTagFormSet = formset_factory(ResourceAndTagForm) resources_formset = resourceTagFormSet(self.request.POST, initial=[{'resource':resources, 'tag':tags}]) if form.is_valid() and resources_formset.is_valid(): self.form_data = form.cleaned_data -- libgit2 0.21.2