示例#1
0
 def get(self, request, *args, **kwargs):
     fileName = kwargs['filename']
     url = os.path.join(
         functions.get_absolute_directory(
             settings.TEMPLADO_REPORT_TEMPLATE_DIR), fileName)
     wrapper = FileWrapper(file(url))
     response = HttpResponse(wrapper, content_type='text/plain')
     response[
         'Content-Disposition'] = 'attachment; filename=%s' % os.path.basename(
             fileName)
     response['Content-Length'] = os.path.getsize(url)
     return response
示例#2
0
 def recreate_report(self, report, data={}, tags=''):
     ''' changes attributes of report given new data and generates data
     '''
     data.update({'STATIC_DIR': functions.get_absolute_directory(settings.TEMPLADO_REPORT_STATIC_DIR)})
     report = self.as_obj(report)
     if data:
         data.update(data)
         report.content = json.dumps(data)
         report.name = Template(report.template.title_pattern).render(Context(data))
         report.auto_tags = Template(report.template.tags_pattern).render(Context(data))
         report.generate_pdf()
     if tags:
         self.tag(report, tags)
     report.save()
     return report
示例#3
0
 def create_report(self, template, data, tags=''):
     ''' creates new report and generates pdf based on data from new report
     '''
     data.update({'STATIC_DIR': functions.get_absolute_directory(settings.TEMPLADO_REPORT_STATIC_DIR)})
     if isinstance(template, int):
         template = str(template)
     if isinstance(template, str):
         template = Report.objects.get(pk=template)
     report = self.model(template=template,
                         name=Template(template.title_pattern).render(Context(data)),
                         content=json.dumps(data),
                         auto_tags=Template(template.tags_pattern).render(Context(data)),
                         tags=' '.join(tags.split()),
                         )
     report.started = timezone.now()
     report.generate_pdf()
     report.finished = timezone.now()
     report.save()
     return report
示例#4
0
from django.conf import settings
from .views import ReportsListView, TemplatesListView, ReportFormView, DownloadReport, DownloadTemplate, EditReportFormView, \
    TemplateFormView, SearchView, HelpView, UploadStaticView
from templado import functions

urlpatterns = patterns(
    '',
    url(r'^uploadstatic/$', UploadStaticView.as_view(), name='upload-static'),
    url(r'^create/$', TemplateFormView.as_view(), name='template-form'),
    url(r'^search/$', SearchView.as_view(), name='search'),
    url(r'^edit/(?P<template>\d+)/$',
        TemplateFormView.as_view(),
        name='edit-template-form'),
    url(r'^generate/(?P<template>\d+)/$',
        ReportFormView.as_view(),
        name='report-form'),
    url(r'^regenerate/(?P<report>\d+)/$',
        EditReportFormView.as_view(),
        name='edit-report-form'),
    url(r'^reports$', ReportsListView.as_view(), name='report-list'),
    url(r'^download/(?P<report>\d+)/$',
        DownloadReport.as_view(),
        name='download-report'),
    url(r'^download/' + functions.get_absolute_directory(
        settings.TEMPLADO_REPORT_TEMPLATE_DIR).strip('/') +
        '/(?P<filename>[^/]+)/$',
        DownloadTemplate.as_view(),
        name='download-template'),
    url(r'^help$', HelpView.as_view(), name='help'),
    url(r'^$', TemplatesListView.as_view(), name='template-list'),
)
示例#5
0
from django.conf.urls import patterns, url
from django.conf import settings
from .views import ReportsListView, TemplatesListView, ReportFormView, DownloadReport, DownloadTemplate, EditReportFormView, \
    TemplateFormView, SearchView, HelpView, UploadStaticView
from templado import functions

urlpatterns = patterns('',
    url(r'^uploadstatic/$', UploadStaticView.as_view(), name='upload-static'),
    url(r'^create/$', TemplateFormView.as_view(), name='template-form'),
    url(r'^search/$', SearchView.as_view(), name='search'),
    url(r'^edit/(?P<template>\d+)/$', TemplateFormView.as_view(), name='edit-template-form'),
    url(r'^generate/(?P<template>\d+)/$', ReportFormView.as_view(), name='report-form'),
    url(r'^regenerate/(?P<report>\d+)/$', EditReportFormView.as_view(), name='edit-report-form'),
    url(r'^reports$', ReportsListView.as_view(), name='report-list'),
    url(r'^download/(?P<report>\d+)/$', DownloadReport.as_view(), name='download-report'),
    url(r'^download/'+functions.get_absolute_directory(settings.TEMPLADO_REPORT_TEMPLATE_DIR).strip('/')+'/(?P<filename>[^/]+)/$', DownloadTemplate.as_view(), name='download-template'),
    url(r'^help$', HelpView.as_view(), name='help'),
    url(r'^$', TemplatesListView.as_view(), name='template-list'),
)