diff --git a/controllers/reports.py b/controllers/reports.py index d5719027e7c9ed389f51424ffb024af41b837c16..a58620e6555d170d9a11d07d795de2af9f112ca5 100644 --- a/controllers/reports.py +++ b/controllers/reports.py @@ -20,10 +20,25 @@ def report_2(): """Return the url arguments """ - - s = "" - print request.post_vars - for k in request.post_vars: - s += "<br>%s: %s" % (k, request.post_vars[k]) - return '<h3>report_2</h3>'+s \ No newline at end of file + vars = request.vars + # user request a file with a specific format (latex,...) + # return to the browser na iframe balise with a new URL + # the browser will request the file locate at the url + if vars.Foo1My_format and vars.Foo1My_format == 'latex': + + # remove the field use to select the file format + # in order to avoid circular loop + del vars.Foo1My_format + + s = IFRAME(_id='MyId', + _frameborder=0, + _width=0, + _height=0, + _css='display:none;visibility:hidden;height:0px;', + _src=URL('reports', 'report_2.latex', vars=vars)).xml() + + return s + + # standart reponse + return dict(test=vars) \ No newline at end of file diff --git a/languages/fr-fr.py b/languages/fr-fr.py index 583ddf00fc32531d90f93bcb51305c3883e5fe97..02f383041dcf63711fd95b60f8dc85daf8a7de59 100644 --- a/languages/fr-fr.py +++ b/languages/fr-fr.py @@ -27,6 +27,7 @@ 'Last Page': 'Dernière Page', 'Max Records': 'Max Records', 'My Date': 'My Date', +'My Format': 'My Format', 'My Int': 'My Int', 'My List': 'My List', 'My String': 'My String', diff --git a/models/dummy.py b/models/dummy.py index f93c67bf48553d8524f110dbeaf7057cfa778fae..b18d69e74f0738481dcb7caeab8fb9dda44b41cf 100644 --- a/models/dummy.py +++ b/models/dummy.py @@ -16,4 +16,4 @@ dummy.define_table("foo1", Field('my_string', 'string'), Field('my_int', 'integer', requires=IS_INT_IN_RANGE(0, 100)), Field('my_date', 'date'), - Field('my_list', requires=IS_IN_SET(['a', 'b', 'c']))) + Field('my_format', default='html', requires=IS_IN_SET(['html', 'latex', 'pdf']))) diff --git a/models/widgets.py b/models/widgets.py index 92c718949affe59abd2d6f26e89d1fe93681f851..0c6751a51d5b2143f61beed30620755aaaceff53 100755 --- a/models/widgets.py +++ b/models/widgets.py @@ -192,7 +192,7 @@ configurator = lambda tablename: dbui.to_gridPanel(db[tablename]) gridNode.add_children(db.tables, func=configurator) reportNode = dbui.Node(T('Reports')) -node = dbui.Panel(html='salut ma poule') +node = dbui.Panel(html="salut ma poule") reportNode.add_child(T('report_1'), node) fields = dbui.to_fields(dummy.foo1) diff --git a/views/reports/report_2.html b/views/reports/report_2.html new file mode 100644 index 0000000000000000000000000000000000000000..5181b246584a0e17060f4960ba5c53ac63bf6e46 --- /dev/null +++ b/views/reports/report_2.html @@ -0,0 +1,3 @@ +<h3>Report_2</h3> +{{for k in test:}} + <br>{{=k}}: {{=test[k]}}{{pass}} diff --git a/views/reports/report_2.latex b/views/reports/report_2.latex new file mode 100644 index 0000000000000000000000000000000000000000..e0efffeadd441a2a06a0b18fc70337e19955ffaf --- /dev/null +++ b/views/reports/report_2.latex @@ -0,0 +1,11 @@ +\documentclass[english]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\begin{document} +\section*{Test} +\begin{enumerate} + {{for k in test:}} + \item {{=k}}: {{=test[k]}}{{pass}} +\end{enumerate} +\end{document} \ No newline at end of file