Exemplo n.º 1
0
def field_update(request, pk):
    field = get_object_or_404(Field, pk=pk)

    if not request.user.has_perm("formly.edit_survey", obj=field.survey):
        raise PermissionDenied()

    if request.method == "POST":
        if request.POST.get("action") == "field_update":
            form = FieldForm(data=request.POST, instance=field)
            field_choice_form = FieldChoiceForm(prefix="choices")
            if form.is_valid():
                form.save()
                return redirect(field)
    else:
        form = FieldForm(instance=field)
        field_choice_form = FieldChoiceForm(prefix="choices")
        likert_scale_form = LikertScaleForm()

    return render(request, "formly/design/survey_list.html", {
        "surveys": Survey.objects.all().order_by("-created"),
        "survey_form": SurveyCreateForm(user=request.user),
        "pages": field.page.survey.pages.all(),
        "selected_page": field.page,
        "selected_survey": field.survey,
        "fields": field.page.fields.all().order_by("ordinal"),
        "selected_field": field,
        "field_form": form,
        "field_choice_form": field_choice_form,
        "likert_scales": LikertScale.objects.all(),
        "likert_scale_form": likert_scale_form
    })
Exemplo n.º 2
0
def page_update(request, pk):
    # @@@ break this apart into seperate views
    page = get_object_or_404(Page, pk=pk)

    if not request.user.has_perm("formly.edit_survey", obj=page.survey):
        raise PermissionDenied()

    if request.method == "POST":
        if request.POST.get("action") == "page_update":
            form = PageUpdateForm(data=request.POST, instance=page)
            field_form = FieldForm(prefix="fields")
            if form.is_valid():
                page = form.save()
                return redirect(page)
        if request.POST.get("action") == "field_add":
            form = PageUpdateForm(instance=page)
            field_form = FieldForm(request.POST, prefix="fields")
            if field_form.is_valid():
                field = field_form.save(commit=False)
                field.page = page
                field.survey = page.survey
                field.save()
                return redirect(page)
    else:
        form = PageUpdateForm(instance=page)
        field_form = FieldForm(prefix="fields")
    return render(request, "formly/design/page_form.html", {
        "form": form,
        "page": page,
        "field_form": field_form
    })
Exemplo n.º 3
0
def field_update(request, pk):
    field = get_object_or_404(Field, pk=pk)

    if not request.user.has_perm("formly.edit_survey", obj=field.survey):
        raise PermissionDenied()

    if request.method == "POST":
        if request.POST.get("action") == "field_update":
            form = FieldForm(data=request.POST, instance=field)
            field_choice_form = FieldChoiceForm(prefix="choices")
            if form.is_valid():
                form.save()
                return redirect(field)
        else:
            form = FieldForm(instance=field)
            field_choice_form = FieldChoiceForm(prefix="choices")
            likert_scale_form = OrdinalScaleForm()
            rating_scale_form = OrdinalScaleForm()
    else:
        form = FieldForm(instance=field)
        field_choice_form = FieldChoiceForm(prefix="choices")
        likert_scale_form = OrdinalScaleForm()
        rating_scale_form = OrdinalScaleForm()

    return render(
        request,
        "formly/design/survey_list.html",
        context={
            "surveys":
            Survey.objects.all().order_by("-created"),
            "survey_form":
            SurveyCreateForm(user=request.user),
            "pages":
            field.page.survey.pages.all(),
            "selected_page":
            field.page,
            "selected_survey":
            field.survey,
            "fields":
            field.page.fields.all().order_by("ordinal"),
            "selected_field":
            field,
            "field_form":
            form,
            "field_choice_form":
            field_choice_form,
            "likert_scales":
            OrdinalScale.objects.filter(kind=OrdinalScale.ORDINAL_KIND_LIKERT),
            "likert_scale_form":
            likert_scale_form,
            "rating_scales":
            OrdinalScale.objects.filter(kind=OrdinalScale.ORDINAL_KIND_RATING),
            "rating_scale_form":
            rating_scale_form
        })
Exemplo n.º 4
0
def page_update(request, pk):
    # @@@ break this apart into separate views
    page = get_object_or_404(Page, pk=pk)

    if not request.user.has_perm("formly.edit_survey", obj=page.survey):
        raise PermissionDenied()

    if request.method == "POST":
        if request.POST.get("action") == "page_update":
            form = PageUpdateForm(data=request.POST, instance=page)
            field_form = FieldForm(prefix="fields")
            if form.is_valid():
                page = form.save()
                return redirect(page)
        if request.POST.get("action") == "field_add":
            form = PageUpdateForm(instance=page)
            field_form = FieldForm(data=request.POST, prefix="fields")
            if field_form.is_valid():
                field = field_form.save(commit=False)
                field.page = page
                field.survey = page.survey
                field.save()
                return redirect(page)
    else:
        form = PageUpdateForm(instance=page)
        field_form = FieldForm(prefix="fields")
    return render(request,
                  "formly/design/page_form.html",
                  context={
                      "form": form,
                      "page": page,
                      "field_form": field_form
                  })
Exemplo n.º 5
0
def field_add_choice(request, pk):
    field = get_object_or_404(Field, pk=pk)

    if not request.user.has_perm("formly.edit_survey", obj=field.survey):
        raise PermissionDenied()

    field_choice_form = FieldChoiceForm(data=request.POST, prefix="choices")
    if field_choice_form.is_valid():
        choice = field_choice_form.save(commit=False)
        choice.field = field
        choice.save()
        return redirect(field)
    form = FieldForm(instance=field)
    return render(request,
                  "formly/design/survey_list.html",
                  context={
                      "surveys": Survey.objects.all().order_by("-created"),
                      "survey_form": SurveyCreateForm(user=request.user),
                      "pages": field.page.survey.pages.all(),
                      "selected_page": field.page,
                      "selected_survey": field.survey,
                      "fields": field.page.fields.all().order_by("ordinal"),
                      "selected_field": field,
                      "field_form": form,
                      "field_choice_form": field_choice_form
                  })
Exemplo n.º 6
0
def field_update(request, pk):
    field = get_object_or_404(Field, pk=pk)
    
    if not request.user.has_perm("formly.edit_survey", obj=field.survey):
        raise PermissionDenied()
    
    if request.method == "POST":
        if request.POST.get("action") == "field_update":
            form = FieldForm(data=request.POST, instance=field)
            field_choice_form = FieldChoiceForm(field=field, prefix="choices")
            if form.is_valid():
                form.save()
                return redirect(field.page.get_absolute_url())
        if request.POST.get("action") == "choice_add":
            form = FieldForm(instance=field)
            field_choice_form = FieldChoiceForm(
                data=request.POST,
                field=field,
                prefix="choices"
            )
            if field_choice_form.is_valid():
                choice = field_choice_form.save(commit=False)
                choice.field = field
                choice.save()
                return redirect("formly_dt_field_update", pk=field.pk)
    else:
        form = FieldForm(instance=field)
        field_choice_form = FieldChoiceForm(field=field, prefix="choices")
    
    return render(request, "formly/design/field_form.html", {
        "form": form,
        "page": field.page,
        "field": field,
        "field_choice_form": field_choice_form
    })