def addDataElementsToDSS(request, dss_id): dss = get_object_or_404(models.DataSetSpecification, id=dss_id) if not user_can_edit(request.user, dss): raise PermissionDenied qs = aristotle_models.DataElement.objects.filter().visible(request.user) if request.method == 'POST': form = forms.AddDataElementsToDSSForm(request.POST, user=request.user, qs=qs, dss=dss) if form.is_valid(): inclusion = form.cleaned_data['inclusion'] maxOccurs = form.cleaned_data['maximum_occurrences'] with reversion.revisions.create_revision(): for de in form.cleaned_data['dataElements']: dss.addDataElement(data_element=de, maximum_occurrences=maxOccurs, inclusion=inclusion) dss.save() reversion.set_comment('Added data elements') return HttpResponseRedirect( reverse("aristotle_mdr:item", args=[dss.id])) else: form = forms.AddDataElementsToDSSForm(user=request.user, qs=qs, dss=dss) return render(request, "aristotle_dse/actions/addDataElementsToDSS.html", { "item": dss, "form": form, })
def addDataElementsToDSS(request, dss_id): dss = get_object_or_404(aristotle_dse.models.DataSetSpecification, id=dss_id) if not user_can_edit(request.user, dss): raise PermissionDenied qs = aristotle.models.DataElement.objects.filter().visible(request.user) if request.method == 'POST': form = forms.AddDataElementsToDSSForm(request.POST, user=request.user, qs=qs, dss=dss) if form.is_valid(): cardinality = form.cleaned_data['cardinality'] maxOccurs = form.cleaned_data['maximum_occurances'] for de in form.cleaned_data['dataElements']: dss.addDataElement(data_element=de, maximum_occurances=maxOccurs, cardinality=cardinality) return HttpResponseRedirect( reverse("aristotle_mdr:item", args=[dss.id])) else: form = forms.AddDataElementsToDSSForm(user=request.user, qs=qs, dss=dss) return render(request, "aristotle_dse/actions/addDataElementsToDSS.html", { "item": dss, "form": form, })