diff options
| author | Simon Lejeune <sle@openerp.com> | 2014-02-19 11:53:27 +0100 |
|---|---|---|
| committer | Simon Lejeune <sle@openerp.com> | 2014-02-19 11:53:27 +0100 |
| commit | 1be06b0a679ca3b23d20b35ae01eb79e7bdc287c (patch) | |
| tree | 32b61f166ba1147c0831114a46eeb91262e1749d | |
| parent | e671171ed8ea6add2ad933472d42b3d9c457711a (diff) | |
[IMP] Independance from the website module: moved the editor into a 'website_report' module
bzr revid: sle@openerp.com-20140219105327-xx2jaqu4dvhv5goh
| -rw-r--r-- | addons/report/__openerp__.py | 5 | ||||
| -rw-r--r-- | addons/report/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/report/models/report.py | 30 | ||||
| -rw-r--r-- | addons/report/views/layouts.xml | 79 | ||||
| -rw-r--r-- | addons/website_report/__init__.py | 0 | ||||
| -rw-r--r-- | addons/website_report/__openerp__.py | 16 | ||||
| -rw-r--r-- | addons/website_report/views/layouts.xml | 80 |
7 files changed, 128 insertions, 83 deletions
diff --git a/addons/report/__openerp__.py b/addons/report/__openerp__.py index 199360e28c5..8ce4e46991c 100644 --- a/addons/report/__openerp__.py +++ b/addons/report/__openerp__.py @@ -1,13 +1,13 @@ { 'name': 'Report', - 'category': 'Website', + 'category': 'Base', 'summary': 'Report', 'version': '1.0', 'description': """ Report """, 'author': 'OpenERP SA', - 'depends': ['base', 'website'], + 'depends': ['base'], 'data': [ 'views/layouts.xml', 'views/paperformat_view.xml', @@ -19,4 +19,5 @@ Report 'static/src/js/qwebactionmanager.js', ], 'installable': True, + 'auto_install': True, } diff --git a/addons/report/models/__init__.py b/addons/report/models/__init__.py index 7ffc9fe506a..e048e10eb91 100644 --- a/addons/report/models/__init__.py +++ b/addons/report/models/__init__.py @@ -1,3 +1,2 @@ import report import report_paperformat - diff --git a/addons/report/models/report.py b/addons/report/models/report.py index 402fc63c840..92bec703137 100644 --- a/addons/report/models/report.py +++ b/addons/report/models/report.py @@ -131,6 +131,12 @@ class report(osv.Model): return res def render(self, cr, uid, ids, template, values=None, context=None): + """Allow to render a QWeb template python-side. This function returns the 'ir.ui.view' + render but embellish it with some variables/methods used in reports. + + :param values: additionnal methods/variables used in the rendering + :returns: html representation of the template + """ if values is None: values = {} @@ -146,6 +152,8 @@ class report(osv.Model): } self._get_lang_dict() + view_obj = self.pool['ir.ui.view'] + def render_doc(doc_id, model, template): """Helper used when a report should be translated into the associated partner's lang. @@ -160,9 +168,8 @@ class report(osv.Model): """ ctx = context.copy() doc = self.pool[model].browse(cr, uid, doc_id, context=ctx) - view_obj = self.pool['ir.ui.view'] qcontext = values.copy() - # Do not force-translate if we chose to display to report in a specific lang + # Do not force-translate if we chose to display the report in a specific lang if ctx.get('translatable') is True: qcontext['o'] = doc else: @@ -171,18 +178,33 @@ class report(osv.Model): return view_obj.render(cr, uid, template, qcontext, context=ctx) current_user = self.pool['res.users'].browse(cr, uid, uid, context=context) + + # Website independance code + website = False + res_company = current_user.company_id + + try: + website = request.website + res_company = request.website.company_id + except: + pass + values.update({ 'time': time, 'user': current_user, + 'user_id': current_user.id, 'formatLang': self.formatLang, 'get_digits': self.get_digits, 'render_doc': render_doc, + + 'website': website, + 'res_company': res_company, }) - return request.website.render(template, values) + return view_obj.render(cr, uid, template, values, context=context) def get_pdf(self, report, record_id, context=None): - """Used to return content of a generated PDF. + """Used to return the content of a generated PDF. :returns: pdf """ diff --git a/addons/report/views/layouts.xml b/addons/report/views/layouts.xml index 5782359d389..73c5ce03244 100644 --- a/addons/report/views/layouts.xml +++ b/addons/report/views/layouts.xml @@ -50,15 +50,6 @@ </head> <body class="container"> <div id="wrapwrap"> - <t t-set="languages" t-value="website.get_languages()"/> - <ul class="list-inline js_language_selector mt16" t-if="(len(languages) > 1 or editable)"> - <li t-foreach="languages" t-as="lg"> - <a t-att-href="url_for('', lang=lg[0]) + '?' + keep_query()" - t-att-data-default-lang="editable and 'true' if lg[0] == website.default_lang_code else None"> - <t t-esc="lg[1].split('/').pop()"/> - </a> - </li> - </ul> <t t-raw="0"/> </div> </body> @@ -120,14 +111,14 @@ <ul class="list-inline"> <li t-if="company.phone">Phone: <span t-field="company.phone"/></li> - <li t-if="company.fax">&bull;</li> + <li t-if="company.fax and company.phone">&bull;</li> <li t-if="company.fax">Fax: <span t-field="company.fax"/></li> <li t-if="company.email">&bull;</li> <li t-if="company.email">Email: <span t-field="company.email"/></li> - <li t-if="website.name">&bull;</li> - <li t-if="website.name">Website: <span t-esc="website.name"/></li> + <li t-if="website">&bull;</li> + <li t-if="website">Website: <span t-esc="website.name"/></li> <br/> <li><span t-field="company.rml_footer"/></li> <li t-if="company.rml_footer">|</li> @@ -169,69 +160,5 @@ </div> <t t-raw="0" /> </template> - -<template id="editor_head" inherit_id="report.html_container" name="Editor" groups="base.group_website_publisher"> - <xpath expr="//body" position="attributes"> - <attribute name="style">padding-top: 51px;</attribute> - </xpath> - <xpath expr="//body" position="inside"> - <div id="website-top-navbar-placeholder" class="navbar navbar-inverse navbar-fixed-top hidden-xs"> - <div class="navbar-header"> - <form class="navbar-form navbar-left"> - <button type="button" class="btn btn-primary">Edit</button> - </form> - </div> - <div class="collapse navbar-collapse navbar-edit-collapse"> - <ul class="nav navbar-nav navbar-right"> - <li><a href="#" onclick="return false;"><i class="fa fa-mobile" title="Mobile preview"/></a></li> - <li class="divider-vertical"/> - <li><a href="#" onclick="return false;"><span title="Promote page on the web">Promote</span></a></li> - <li class="dropdown"> - <a href="#" onclick="return false;">Content <span class="caret"/></a> - </li> - <li class="dropdown"> - <a href="#" onclick="return false;">Customize <span class="caret"/></a> - </li> - <li class="dropdown"> - <a href="#" onclick="return false;">Help <span class="caret"/></a> - </li> - </ul> - </div> - </div> - </xpath> - <xpath expr='//t[@name="layout_head"]' position="before"> - <link rel='stylesheet' href='/website/static/src/css/snippets.css'/> - <link rel='stylesheet' href='/website/static/src/css/editor.css'/> - <link rel='stylesheet' href='/website/static/lib/bootstrap-tour/bootstrap-tour.css'/> - - - <link rel="stylesheet" href="/web/static/lib/select2/select2.css"/> - <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/> - <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/> - - <script type="text/javascript" src="/web/static/lib/select2/select2.js"></script> - <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script> - <script type="text/javascript" src="/website/static/lib/bootstrap-tour/bootstrap-tour.js"></script> - <script t-if="not translatable" type="text/javascript" src="/website/static/lib/ace/ace.js"></script> - <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script> - <script type="text/javascript" src="/web/static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js"></script> - <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) --> - <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script> - <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script> - <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script> - <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script> - - <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script> - <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js" groups="base.group_website_designer"></script> - <script type="text/javascript" src="/website/static/src/js/website.menu.js" groups="base.group_website_designer"></script> - <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script> - <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script> - <script type="text/javascript" id="website_tour_js" src="/website/static/src/js/website.tour.js"></script> - <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js" groups="base.group_website_designer"></script> - <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script> - <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.ace.js"></script> - <script t-if="translatable" type="text/javascript" src="/website/static/src/js/website.translator.js"></script> - </xpath> -</template> </data> </openerp> diff --git a/addons/website_report/__init__.py b/addons/website_report/__init__.py new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/addons/website_report/__init__.py diff --git a/addons/website_report/__openerp__.py b/addons/website_report/__openerp__.py new file mode 100644 index 00000000000..f35b5032c57 --- /dev/null +++ b/addons/website_report/__openerp__.py @@ -0,0 +1,16 @@ +{ + 'name': 'Website Report', + 'category': 'Website', + 'summary': 'Website Editor on reports', + 'version': '1.0', + 'description': """ +Use the website editor to customize your reports. + """, + 'author': 'OpenERP SA', + 'depends': ['base', 'website', 'report'], + 'data': [ + 'views/layouts.xml', + ], + 'installable': True, + 'auto_install': True, +} diff --git a/addons/website_report/views/layouts.xml b/addons/website_report/views/layouts.xml new file mode 100644 index 00000000000..091bb8dd3db --- /dev/null +++ b/addons/website_report/views/layouts.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> +<data> +<template id="editor_head" inherit_id="report.html_container" name="Editor" groups="base.group_website_publisher"> + <xpath expr="//body" position="attributes"> + <attribute name="style">padding-top: 51px;</attribute> + </xpath> + <xpath expr="//body" position="inside"> + <div id="website-top-navbar-placeholder" class="navbar navbar-inverse navbar-fixed-top hidden-xs"> + <div class="navbar-header"> + <form class="navbar-form navbar-left"> + <button type="button" class="btn btn-primary">Edit</button> + </form> + </div> + <div class="collapse navbar-collapse navbar-edit-collapse"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="#" onclick="return false;"><i class="fa fa-mobile" title="Mobile preview"/></a></li> + <li class="divider-vertical"/> + <li><a href="#" onclick="return false;"><span title="Promote page on the web">Promote</span></a></li> + <li class="dropdown"> + <a href="#" onclick="return false;">Content <span class="caret"/></a> + </li> + <li class="dropdown"> + <a href="#" onclick="return false;">Customize <span class="caret"/></a> + </li> + <li class="dropdown"> + <a href="#" onclick="return false;">Help <span class="caret"/></a> + </li> + </ul> + </div> + </div> + </xpath> + <xpath expr='//t[@name="layout_head"]' position="before"> + <link rel='stylesheet' href='/website/static/src/css/snippets.css'/> + <link rel='stylesheet' href='/website/static/src/css/editor.css'/> + <link rel='stylesheet' href='/website/static/lib/bootstrap-tour/bootstrap-tour.css'/> + + + <link rel="stylesheet" href="/web/static/lib/select2/select2.css"/> + <link rel="stylesheet" href="/website/static/lib/select2-bootstrap-css/select2-bootstrap.css"/> + <link rel='stylesheet' href="/web/static/lib/jquery.ui/css/smoothness/jquery-ui-1.9.1.custom.css"/> + + <script type="text/javascript" src="/web/static/lib/select2/select2.js"></script> + <script type="text/javascript" src="/web/static/lib/ckeditor/ckeditor.js"></script> + <script type="text/javascript" src="/website/static/lib/bootstrap-tour/bootstrap-tour.js"></script> + <script t-if="not translatable" type="text/javascript" src="/website/static/lib/ace/ace.js"></script> + <script type="text/javascript" src="/website/static/lib/vkbeautify/vkbeautify.0.99.00.beta.js"></script> + <script type="text/javascript" src="/web/static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js"></script> + <!-- mutation observers shim backed by mutation events (8 < IE < 11, Safari < 6, FF < 14, Chrome < 17) --> + <script type="text/javascript" src="/website/static/lib//jquery.mjs.nestedSortable/jquery.mjs.nestedSortable.js"></script> + <script type="text/javascript" src="/website/static/lib/MutationObservers/test/sidetable.js"></script> + <script type="text/javascript" src='/website/static/lib/nearest/jquery.nearest.js'></script> + <script type="text/javascript" src="/website/static/lib/MutationObservers/MutationObserver.js"></script> + + <script type="text/javascript" src="/website/static/src/js/website.editor.js"></script> + <script type="text/javascript" src="/website/static/src/js/website.editor.newpage.js" groups="base.group_website_designer"></script> + <script type="text/javascript" src="/website/static/src/js/website.menu.js" groups="base.group_website_designer"></script> + <script type="text/javascript" src="/website/static/src/js/website.mobile.js"></script> + <script type="text/javascript" src="/website/static/src/js/website.seo.js"></script> + <script type="text/javascript" id="website_tour_js" src="/website/static/src/js/website.tour.js"></script> + <script type="text/javascript" src="/website/static/src/js/website.tour.banner.js" groups="base.group_website_designer"></script> + <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.snippets.editor.js"></script> + <script t-if="not translatable" type="text/javascript" src="/website/static/src/js/website.ace.js"></script> + <script t-if="translatable" type="text/javascript" src="/website/static/src/js/website.translator.js"></script> + </xpath> + + <xpath expr='//body[@class="container"]/div[@id="wrapwrap"]' position="before"> + <t t-set="languages" t-value="website.get_languages()"/> + <ul class="list-inline js_language_selector mt16" t-if="(len(languages) > 1 or editable)"> + <li t-foreach="languages" t-as="lg"> + <a t-att-href="url_for('', lang=lg[0]) + '?' + keep_query()" + t-att-data-default-lang="editable and 'true' if lg[0] == website.default_lang_code else None"> + <t t-esc="lg[1].split('/').pop()"/> + </a> + </li> + </ul> + </xpath> +</template> +</data> +</openerp> |
