14 from cubicweb.appobject import objectify_selector |
14 from cubicweb.appobject import objectify_selector |
15 from cubicweb.selectors import match_kwargs |
15 from cubicweb.selectors import match_kwargs |
16 from cubicweb.view import View, MainTemplate, NOINDEX, NOFOLLOW |
16 from cubicweb.view import View, MainTemplate, NOINDEX, NOFOLLOW |
17 from cubicweb.utils import UStringIO, can_do_pdf_conversion |
17 from cubicweb.utils import UStringIO, can_do_pdf_conversion |
18 from cubicweb.schema import display_name |
18 from cubicweb.schema import display_name |
19 from cubicweb.web import formfields as ff, formwidgets as fw |
19 from cubicweb.web import component, formfields as ff, formwidgets as fw |
20 from cubicweb.web.views import forms |
20 from cubicweb.web.views import forms |
21 |
21 |
22 # main templates ############################################################## |
22 # main templates ############################################################## |
23 |
23 |
24 class LogInOutTemplate(MainTemplate): |
24 class LogInOutTemplate(MainTemplate): |
275 from elementtree import ElementTree |
275 from elementtree import ElementTree |
276 from subprocess import Popen as sub |
276 from subprocess import Popen as sub |
277 from StringIO import StringIO |
277 from StringIO import StringIO |
278 from tempfile import NamedTemporaryFile |
278 from tempfile import NamedTemporaryFile |
279 from cubicweb.ext.xhtml2fo import ReportTransformer |
279 from cubicweb.ext.xhtml2fo import ReportTransformer |
|
280 |
|
281 |
|
282 class PdfViewComponent(component.EntityVComponent): |
|
283 __regid__ = 'pdfview' |
|
284 |
|
285 context = 'ctxtoolbar' |
|
286 |
|
287 def cell_call(self, row, col, view): |
|
288 entity = self.cw_rset.get_entity(row, col) |
|
289 url = entity.absolute_url(vid=view.__regid__, __template='pdf-main-template') |
|
290 iconurl = self._cw.build_url('data/pdf_icon.gif') |
|
291 label = self._cw._('Download page as pdf') |
|
292 self.w(u'<a href="%s" title="%s" class="toolbarButton"><img src="%s" alt="%s"/></a>' % |
|
293 (xml_escape(url), label, xml_escape(iconurl), label)) |
280 |
294 |
281 class PdfMainTemplate(TheMainTemplate): |
295 class PdfMainTemplate(TheMainTemplate): |
282 __regid__ = 'pdf-main-template' |
296 __regid__ = 'pdf-main-template' |
283 |
297 |
284 def call(self, view): |
298 def call(self, view): |