Esempio n. 1
0
    def post(self, request, *args, **kwargs):
        object_form_pk = request.POST.get('_object_form_pk')
        url = request.POST.get('_object_form_success_url')

        if not object_form_pk and not url and getattr(request, 'session', False):
            DYNAFORM = request.session.get(DYNAFORM_SESSION_KEY, False)
            if DYNAFORM and DYNAFORM.has_key('pk'):
                object_form_pk = DYNAFORM['pk']
                url = DYNAFORM.get('success_url', False)

        context = Context()
        try:
            form_object = DynaFormForm.objects.get(pk=object_form_pk)
            form = DynaFormClassForm(
                    data=request.POST, 
                    files=request.FILES, 
                    request=request, 
                    context=context, 
                    object_form=form_object
                    )

            if form.is_valid():
                form.save()
                if url:
                    return HttpResponseRedirect(url)

            print 'post process', form.errors

        except DynaFormForm.DoesNotExist:
            raise Http404
                
        # Fallback resolution order: POST, GET, dispatch
        superClass = super(DynaformMixin, self)

        if hasattr(superClass, 'post'):
            return superClass.post(request, *args, **kwargs)

        if hasattr(superClass, 'get'):
            return superClass.get(request, *args, **kwargs)

        return superClass.dispatch(request, *args, **kwargs)
Esempio n. 2
0
    def post(self, request, *args, **kwargs):
        object_form_pk = request.POST.get('_object_form_pk')
        url = request.POST.get('_object_form_success_url')

        if not object_form_pk and not url and getattr(request, 'session',
                                                      False):
            DYNAFORM = request.session.get(DYNAFORM_SESSION_KEY, False)
            if DYNAFORM and DYNAFORM.has_key('pk'):
                object_form_pk = DYNAFORM['pk']
                url = DYNAFORM.get('success_url', False)

        context = Context()
        try:
            form_object = DynaFormForm.objects.get(pk=object_form_pk)
            form = DynaFormClassForm(data=request.POST,
                                     files=request.FILES,
                                     request=request,
                                     context=context,
                                     object_form=form_object)

            if form.is_valid():
                form.save()
                if url:
                    return HttpResponseRedirect(url)

            print 'post process', form.errors

        except DynaFormForm.DoesNotExist:
            raise Http404

        # Fallback resolution order: POST, GET, dispatch
        superClass = super(DynaformMixin, self)

        if hasattr(superClass, 'post'):
            return superClass.post(request, *args, **kwargs)

        if hasattr(superClass, 'get'):
            return superClass.get(request, *args, **kwargs)

        return superClass.dispatch(request, *args, **kwargs)
Esempio n. 3
0
    def post(self, request, *args, **kwargs):
        context = Context()
        
        form_object = self.get_object()

        form = DynaFormClassForm(data=request.POST, files=request.FILES, \
                request=request, context=context, object_form=form_object)

        if form.is_valid():
            form.save()
            # si es por ajax devuelve OK
            return HttpResponse(json.dumps({
                    'status': 'ok', 
                    'dt': form.dt.pk,
                    'code':200 
                }), content_type='application/json')
  
        return HttpResponseBadRequest(json.dumps({
                    'status': 'error', 
                    'code': 400, 
                    'errors': form.errors
                }), content_type='application/json')
Esempio n. 4
0
    def post(self, request, *args, **kwargs):
        context = Context()

        form_object = self.get_object()

        form = DynaFormClassForm(data=request.POST, files=request.FILES, \
                request=request, context=context, object_form=form_object)

        if form.is_valid():
            form.save()
            # si es por ajax devuelve OK
            return HttpResponse(json.dumps({
                'status': 'ok',
                'dt': form.dt.pk,
                'code': 200
            }),
                                content_type='application/json')

        return HttpResponseBadRequest(json.dumps({
            'status': 'error',
            'code': 400,
            'errors': form.errors
        }),
                                      content_type='application/json')