def render(self, context, instance, placeholder):
     if instance.form_definition.form_template_name:
         self.render_template = instance.form_definition.form_template_name
     else:
         self.render_template = app_settings.get('FORM_DESIGNER_DEFAULT_FORM_TEMPLATE')
     context.update(process_form(context['request'], instance.form_definition, is_cms_plugin=True))
     return context
def detail(request, object_name):
    form_definition = get_object_or_404(FormDefinition, name=object_name)
    result = process_form(request, form_definition)
    if isinstance(result, HttpResponseRedirect):
        return result
    else:
        result.update({
            'form_template': form_definition.form_template_name or app_settings.get('FORM_DESIGNER_DEFAULT_FORM_TEMPLATE')
        })
        return render_to_response('html/formdefinition/detail.html', result, context_instance=RequestContext(request))
def export_csv(request):
    response = HttpResponse(mimetype="text/csv")
    response["Content-Disposition"] = "attachment; filename=" + app_settings.get("FORM_DESIGNER_CSV_EXPORT_FILENAME")
    writer = csv.writer(response, delimiter=app_settings.get("FORM_DESIGNER_CSV_EXPORT_DELIMITER"))
    qs = get_change_list_query_set(FormLogAdmin, FormLog, request)

    from django.db.models import Count

    distinct_forms = qs.aggregate(Count("form_definition", distinct=True))["form_definition__count"]

    include_created = app_settings.get("FORM_DESIGNER_CSV_EXPORT_INCLUDE_CREATED")
    include_pk = app_settings.get("FORM_DESIGNER_CSV_EXPORT_INCLUDE_PK")
    include_header = app_settings.get("FORM_DESIGNER_CSV_EXPORT_INCLUDE_HEADER") and distinct_forms == 1
    include_form = app_settings.get("FORM_DESIGNER_CSV_EXPORT_INCLUDE_FORM") and distinct_forms > 1

    if include_header:
        header = []
        if include_form:
            header.append(_("Form"))
        if include_created:
            header.append(_("Created"))
        if include_pk:
            header.append(_("ID"))
        for field in qs.all()[0].data:
            header.append(field["label"] if field["label"] else field["key"])
        writer.writerow(header)

    for entry in qs:
        row = []
        if include_form:
            row.append(entry.form_definition)
        if include_created:
            row.append(entry.created)
        if include_pk:
            row.append(entry.pk)
        for field in entry.data:
            value = friendly(field["value"])
            if not isinstance(value, basestring):
                value = unicode(value)
            value = value.encode(app_settings.get("FORM_DESIGNER_CSV_EXPORT_ENCODING"))
            row.append(value)
        writer.writerow(row)

    return response
def export_csv(request):
    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename='+app_settings.get('FORM_DESIGNER_CSV_EXPORT_FILENAME')
    writer = csv.writer(response, delimiter=app_settings.get('FORM_DESIGNER_CSV_EXPORT_DELIMITER'))
    qs = get_change_list_query_set(FormLogAdmin, FormLog, request)
    
    from django.db.models import Count
    distinct_forms = qs.aggregate(Count('form_definition', distinct=True))['form_definition__count']
    
    include_created = app_settings.get('FORM_DESIGNER_CSV_EXPORT_INCLUDE_CREATED')
    include_pk = app_settings.get('FORM_DESIGNER_CSV_EXPORT_INCLUDE_PK')
    include_header = app_settings.get('FORM_DESIGNER_CSV_EXPORT_INCLUDE_HEADER') and distinct_forms == 1
    include_form = app_settings.get('FORM_DESIGNER_CSV_EXPORT_INCLUDE_FORM') and distinct_forms > 1

    if include_header:
        header = [] 
        if include_form:
            header.append(_('Form'))
        if include_created:
            header.append(_('Created'))
        if include_pk:
            header.append(_('ID'))
        for field in qs.all()[0].data:
            header.append(field['label'] if field['label'] else field['key'])
        writer.writerow(header)

    for entry in qs:
        row = []
        if include_form:
            row.append(entry.form_definition)
        if include_created:
            row.append(entry.created)
        if include_pk:
            row.append(entry.pk)
        for field in entry.data:
            value = friendly(field['value'])
            if not isinstance(value, basestring):
                value = unicode(value)
            value = value.encode(app_settings.get('FORM_DESIGNER_CSV_EXPORT_ENCODING'))
            row.append(value)
        writer.writerow(row)

    return response
Beispiel #5
0
 def submit_flag_name(self):
     name = app_settings.get('FORM_DESIGNER_SUBMIT_FLAG_NAME') % self.name
     while self.formdefinitionfield_set.filter(name__exact=name).count() > 0:
         name += '_'
     return name