Beispiel #1
0
    def _(request):
        preview_form = None
        pagelet_preview = None
        if request.POST:
            form = PageletForm(request.POST, instance=pagelet)
            if form.is_valid():
                if 'save_btn' in request.POST:
                    form.save(user=request.user)
                    return HttpResponseRedirect(redirect_to)
                else:
                    preview_form = PageletForm(
                        request.POST,
                        instance=pagelet,
                        preview=True,
                    )
                    pagelet_preview = form.save(commit=False,
                                                user=request.user)
        else:
            form = PageletForm(instance=pagelet)

        context = {
            'form': form,
            'pagelet': pagelet,
            'preview_form': preview_form,
            'pagelet_preview': pagelet_preview,
        }

        return render(
            request,
            template,
            context,
        )
Beispiel #2
0
    def _(request):
        pagelet = get_object_or_404(Pagelet, pk=pagelet_id)
        preview_form = None
        pagelet_preview = None
        if request.POST:
            form = PageletForm(request.POST, instance=pagelet)
            if form.is_valid():
                if 'save_btn' in request.REQUEST:
                    form.save(user=request.user)
                    return HttpResponseRedirect(redirect_to)
                else:
                    preview_form = PageletForm(
                        request.POST,
                        instance=pagelet,
                        preview=True,
                    )
                    pagelet_preview = form.save(commit=False,
                                                user=request.user)
        else:
            # For non-Inline non-Shared pagelets they can be of a type that can't be edited in the
            # front-end. Look for the form, if one is provided. If not, redirect to the admin change
            # url for that object.

            # Look at all the extension related names
            # if present on this object, find the model
            # look at the settings did it define a form?
            # use that form if it is there
            # otherwise, redirec to the change URL

            for pagelet_type in conf.PAGELET_TYPES:
                pagelet_model = get_model(pagelet_type)
                try:
                    pagelet = pagelet_model.objects.get(pk=pagelet.pk)
                except pagelet_model.DoesNotExist:
                    continue
                else:
                    redirect(
                        "admin:%s_change" %
                        (pagelet_type.replace('.').lower(), ), (pagelet.pk, ))

            form = PageletForm(instance=pagelet)

        context = {
            'form': form,
            'pagelet': pagelet,
            'preview_form': preview_form,
            'pagelet_preview': pagelet_preview,
        }

        return render_to_response(
            template,
            context,
            context_instance=RequestContext(request),
        )