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
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