CSV download improvements: button, file name, ...

This commit is contained in:
Helmut Merz 2015-03-13 15:14:29 +01:00
parent e16f3e5ccf
commit d05b3cd544
7 changed files with 27 additions and 8 deletions

View file

@ -24,12 +24,13 @@ import csv
from cStringIO import StringIO
from zope.i18n import translate
from loops.expert.browser.report import ReportConceptView
from loops.common import normalizeName
from loops.expert.browser.report import ResultsConceptView
from loops.interfaces import ILoopsObject
from loops.util import _
class ReportConceptCSVExport(ReportConceptView):
class ResultsConceptCSVExport(ResultsConceptView):
isToplevel = True
reportMode = 'export'
@ -38,7 +39,7 @@ class ReportConceptCSVExport(ReportConceptView):
encoding = 'UTF-8'
def getFileName(self):
return 'output'
return normalizeName(self.context.title)
def getColumnTitle(self, field):
lang = self.languageInfo.language

View file

@ -190,6 +190,12 @@ class ResultsConceptView(ConceptView):
def getColumnRenderer(self, col):
return self.result_macros[col.renderer]
@Lazy
def downloadLink(self, format='csv'):
opt = self.options('download_' + format)
if opt:
return opt[0]
class EmbeddedResultsConceptView(ResultsConceptView):

View file

@ -37,6 +37,13 @@
<div metal:define-macro="results">
<br />
<tal:download condition="item/downloadLink">
<div class="button">
<a i18n:translate=""
tal:attributes="href item/downloadLink">Download Data</a>
</div>
<br />
</tal:download>
<table class="report"
tal:define="results reportView/results">
<tr>

View file

@ -26,7 +26,7 @@ from zope.app.pagetemplate import ViewPageTemplateFile
from zope.cachedescriptors.property import Lazy
from loops.browser.concept import ConceptView
from loops.expert.browser.export import ReportConceptCSVExport
from loops.expert.browser.export import ResultsConceptCSVExport
from loops.expert.browser.report import ResultsConceptView
from loops.organize.party import getPersonForUser
from loops.util import _
@ -37,7 +37,7 @@ class Qualifications(ResultsConceptView):
reportName = 'qualification_overview'
class QualificationsCSVExport(ReportConceptCSVExport):
class QualificationsCSVExport(ResultsConceptCSVExport):
reportName = 'qualification_overview'

Binary file not shown.

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: 0.13.1\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
"PO-Revision-Date: 2014-08-08 12:00 CET\n"
"PO-Revision-Date: 2015-03-13 12:00 CET\n"
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n"
@ -89,6 +89,11 @@ msgstr "Thema ändern"
msgid "Please correct the indicated errors."
msgstr "Bitte berichtigen Sie die angezeigten Fehler."
# expert (reporting)
msgid "Download Data"
msgstr "Download als Excel-Datei"
# blog
msgid "Edit Blog Post..."

View file

@ -32,7 +32,7 @@ from cybertools.organize.interfaces import IWorkItems
from cybertools.util.date import timeStamp2Date, timeStamp2ISO
from cybertools.util.jeep import Jeep
from loops.common import adapted, baseObject
from loops.expert.browser.export import ReportConceptCSVExport
from loops.expert.browser.export import ResultsConceptCSVExport
from loops.expert.browser.report import ReportConceptView
from loops.expert.field import Field, TargetField, DateField, StateField, \
TextField, HtmlTextField, UrlField
@ -50,7 +50,7 @@ class WorkStatementView(ReportConceptView):
reportName = 'work_statement'
class WorkStatementCSVExport(ReportConceptCSVExport):
class WorkStatementCSVExport(ResultsConceptCSVExport):
reportName = 'work_statement'