Esempio n. 1
0
def preview(request, id=None, template='autoforms/preview.html'):
    if request.method == 'GET':
        pk = id or request.GET.get('id', None)
        if not pk:
            forms = Form.objects.all()
            return render_to_response(template, {'forms': forms},
                                      context_instance=RequestContext(request))
        else:
            dform = get_object_or_404(Form, pk=pk)
            form = dform.as_form()
            return render_to_response(template, {
                'form': form,
                'dform': dform,
                'edit': True,
                'id': pk
            },
                                      context_instance=RequestContext(request))
    else:
        dform = get_object_or_404(Form, pk=id)
        form = AutoForm(fields=dform.field_set.all().order_by('order'),
                        data=request.POST)
        if form.is_valid():
            return render_to_response(template, {
                'form': form,
                'dform': dform
            },
                                      context_instance=RequestContext(request))
        else:
            return render_to_response(template, {
                'form': form,
                'dform': dform,
                'edit': True
            },
                                      context_instance=RequestContext(request))
Esempio n. 2
0
 def as_form(self, data=None):
     """
     usage:
     form = Form.objects.get(pk=1)
     fobj = form.as_form() # fobj is a Django Form obj
     """
     from autoforms.forms import AutoForm
     return AutoForm(fields=self.sorted_fields(), data=data)
Esempio n. 3
0
def fill(request,form,template='autoforms/fill.html',success_template='autoforms/fill_done.html'):
    data = request.GET or request.POST
    #is_popup = data.get('is_popup',None)
    is_popup = True
    if request.method == 'GET':
        dform = form.as_form()
        return render_to_response(template,{'title':form.name,'is_popup':is_popup,'form':form,'dform':dform},context_instance=RequestContext(request))
    else:
        dform = AutoForm(fields=form.sorted_fields(),data=request.POST)
        if dform.is_valid():
            if form.enable:
                # save the data only form is enable
                fi = FormInstance(_form=form,_name=form.name)
                fi.save(data=dform.cleaned_data)
            return render_to_response(success_template,{'title':form.name,'is_popup':is_popup,'form':form,'dform':dform},context_instance=RequestContext(request))
        else:
            return render_to_response(template,{'title':form.name,'is_popup':is_popup,'form':form,'dform':dform},context_instance=RequestContext(request))