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 cStringIO import StringIO
from zope.i18n import translate 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.interfaces import ILoopsObject
from loops.util import _ from loops.util import _
class ReportConceptCSVExport(ReportConceptView): class ResultsConceptCSVExport(ResultsConceptView):
isToplevel = True isToplevel = True
reportMode = 'export' reportMode = 'export'
@ -38,7 +39,7 @@ class ReportConceptCSVExport(ReportConceptView):
encoding = 'UTF-8' encoding = 'UTF-8'
def getFileName(self): def getFileName(self):
return 'output' return normalizeName(self.context.title)
def getColumnTitle(self, field): def getColumnTitle(self, field):
lang = self.languageInfo.language lang = self.languageInfo.language

View file

@ -190,6 +190,12 @@ class ResultsConceptView(ConceptView):
def getColumnRenderer(self, col): def getColumnRenderer(self, col):
return self.result_macros[col.renderer] 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): class EmbeddedResultsConceptView(ResultsConceptView):

View file

@ -37,6 +37,13 @@
<div metal:define-macro="results"> <div metal:define-macro="results">
<br /> <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" <table class="report"
tal:define="results reportView/results"> tal:define="results reportView/results">
<tr> <tr>

View file

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

Binary file not shown.

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: 0.13.1\n" "Project-Id-Version: 0.13.1\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\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" "Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n" "Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -89,6 +89,11 @@ msgstr "Thema ändern"
msgid "Please correct the indicated errors." msgid "Please correct the indicated errors."
msgstr "Bitte berichtigen Sie die angezeigten Fehler." msgstr "Bitte berichtigen Sie die angezeigten Fehler."
# expert (reporting)
msgid "Download Data"
msgstr "Download als Excel-Datei"
# blog # blog
msgid "Edit Blog Post..." 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.date import timeStamp2Date, timeStamp2ISO
from cybertools.util.jeep import Jeep from cybertools.util.jeep import Jeep
from loops.common import adapted, baseObject 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.browser.report import ReportConceptView
from loops.expert.field import Field, TargetField, DateField, StateField, \ from loops.expert.field import Field, TargetField, DateField, StateField, \
TextField, HtmlTextField, UrlField TextField, HtmlTextField, UrlField
@ -50,7 +50,7 @@ class WorkStatementView(ReportConceptView):
reportName = 'work_statement' reportName = 'work_statement'
class WorkStatementCSVExport(ReportConceptCSVExport): class WorkStatementCSVExport(ResultsConceptCSVExport):
reportName = 'work_statement' reportName = 'work_statement'