Commit Graph
36 Commits
Author SHA1 Message Date
Simon Lejeune 6f33892b06 [FIX] report: client action: only show edit in debug mode
This option was confusing for the users.
2016-08-04 16:35:18 +02:00
Simon Lejeune c524e6a254 [FIX] mail, report: class doesn't exist 2016-08-04 13:56:18 +02:00
Simon Lejeune b7de723b8c [ADD] report: improve client action to allow sending do_action commands 2016-07-05 17:44:56 +02:00
Simon Lejeune 752cd0a482 [REF] report: replace the popup with an iframe in a client action
This change concerns reports of `qweb-html` type. Previously, they were
openned in a popup and it was not very practical. We chose to open these
reports in an iframe (as opposed to what's done in `account_report`) in
order to be the most close to the pdf version in terms of apperance.

The client action allows an integration with the control panel. Apart from
the breadcrumbs integration, we also add buttons to handle the web_editor
(save, discard, etc). We also add a button to print the pdf version.

As there is some security concern to communicate with an iframe, we use
the postMessage[1] technology and we fix the `targetOrigin` to the
`web.base.url` parameter, that means that if the window to which we send
the message does not match the `web.base.url` origin, the event is not
even dispatched.

In order to to that, the report module uses the ir_http `session_info`
override mechanism to add the `web.base.url` in the DOM of the webclient,
 and the report module adds to the DOM of report the `web.base.url`
content. This way, both scripts (in the webclient and in the iframe)
have the information of the trusted origin.

The client action does not have a complicated logic: it opens the
report's url in an iframe to show the report or open the web_editor
(the editor is activated by using the `enable_editor` query string.
If you click on the control panel button (save/discard) it'll send
message to the web_editor in the iframe to ask for save and discard.
It also waits for messages to know if the edition is done / cancelled
and toggle buttons of the control panel accordingly.

To allow that, we override the web_editor mechanism if it's opened in
an iframe and we chain to the `save` and `cancel` method deferred that
send message to the client action's window. We also make the web_editor
waits for message to start and stop the edition (controlled by the
control panel buttons).

The override of the action manager has been refactored / improved in
order to open the clien action and not the popup anymore. This way
we are able to, in the client action, return the current action with
the type `qweb-pdf` and the report is downloaded.

[1] https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
2016-07-05 17:44:56 +02:00
Christophe Simonis bb8f0f1fc3 [MERGE] forward port of branch saas-9 up to 4d337f7 2016-04-25 14:43:44 +02:00
qsm-odoo 8703d8c11d [FIX] report: missing mt/mb definition
/!\ This commit must not be forward-ported on saas-10 (the file that
is modified here does not exist anymore anyway).

Since the website/web_editor split, the mt/mb definitions were not
included in reports anymore. Those were not the only rules that
were forgotten.
As it would be tricky to add the whole files where those rules are
defined now in the assets of stables branches, this commit only
restores the missing css rules by adding them in the report.css file.

Note: after the assets refactoring that has been done in saas-10, this
problem will no longer appear.
2016-04-13 13:13:07 +02:00
qsm-odoo f677dabb3a [FIX] report: missing css rules since new web_editor 2016-03-10 13:42:44 +01:00
qsm-odoo 5b65befcd8 [REF] web,web_editor,website,report,mass_mailing,mail: LESS
* Convert some CSS to LESS
* Split/Join LESS files
* Remove duplicates between website and web_editor
* UI improvements
* Allow simple customizations thanks to LESS var&mixins for website
2016-02-24 13:09:48 +01:00
Simon Lejeune f26988cf7a [REF] report: use assets
Three assets: assets_common for shared assets (html/pdf), assets_editor
for editor styles and scripts, assets_pdf to tweak only the pdf output
2015-09-28 14:32:31 +02:00
Christophe Matthieu 6baf611df1 [IMP] web: create generic controller '/web/content' and '/web/image'
Replace deprecate controllers like /web/binary/image, /web/binary/saveas...
Use ETag for all content with 'unique' option to cache the content if the content is never changed.
2015-08-21 22:06:52 +02:00
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
Yannick Tivisse b7a855952c [FIX] report : grammar error 2015-07-16 16:43:46 +02:00
Christophe Matthieu 9665882fba [IMP] web_editor: adapt css, js and xml to use web_editor 2015-07-10 17:00:12 +02:00
Christophe Matthieu c9492f8904 [IMP] report: adapt report to use web_editor and remove website_report 2015-07-10 17:00:11 +02:00
Christophe Simonis fe2b5f35a4 [MERGE] forward port of branch saas-6 up to bf1e999 2015-05-28 14:27:38 +02:00
Martin Trigaux cff65f57eb [IMP] report: use unminifed version reset.css
Source from https://code.google.com/p/reset5/
Used same file to be able to merge in stable but should be moved to separate
file in lib folder in master.
Fixes #6376
2015-04-30 15:31:48 +02:00
Géry Debongnie 4fdf74fe21 [IMP] web+addons: improvement to module system
The module system needs to know the dependencies of a given module
before executing the function.  This is why the dependencies were
defined once in an array, and then were described one more times in the
call to require.

But a trick can simplify this: the boot function can parse the string
representation of the module and extract the calls to require from it.
It is more work for the processor, but it leads to simpler module
definitions.
2015-03-18 09:23:37 +01:00
Géry Debongnie 5e6171bb6f [REF] various addons: update to the new module system 2015-03-18 09:09:22 +01:00
Denis Ledoux b5e62214fa [FIX] report: reload record after report printed 2015-01-16 14:55:17 +01:00
David Monjoie d492a4d64a [FIX] report: fix report HTML editor scrollbar in Firefox 2014-10-30 12:25:13 +01:00
Simon Lejeune 58d3a6f3f7 [FIX] Report: inform the user that he may not print a pdf report while his openerp is running with only one worker; adapt method to extract wkhtmltopdf version to also work on mac where the ouput of '--version' is different from gnu/linux binary 2014-05-21 13:06:31 +02:00
Simon Lejeune bf41efa40b [FIX] regression on rpc call to check wkhtmltopdf presence/version
bzr revid: sle@openerp.com-20140404124724-dves3liepcbmg6rv
2014-04-04 14:47:24 +02:00
Simon Lejeune a1f08e0d10 [FIX] action manager: use EncodeURIComponent instead of EncodeURI because of bad encoding of the ampersand in the secund (resulting in impossibility to encode 'Belgium Profit & Loss' for instance)
bzr revid: sle@openerp.com-20140403211717-sb84ir2ts62yizzf
2014-04-03 23:17:17 +02:00
Simon Lejeune 2c90fad7ac [REF][IMP] report module: merge the four report's routes into one; extra report arguments are passed json encoded (therefore removed the _eval_params method); added an abstract_report model to wrap old-style report without touching them; Removed formatLang method from report as it is embeded in the old-style report localcontext; moved the save_in_attachment logic in a method for readability; adapted the action manager to encode data and context of action if needed; fixed the post install test to test the generic report
bzr revid: sle@openerp.com-20140402162344-3lrako0jepmhasvl
2014-04-02 18:23:44 +02:00
Simon Lejeune d87cd37d67 [FIX] removed 'debugger' statement
bzr revid: sle@openerp.com-20140321184347-ph5n6cnywhwasvcf
2014-03-21 19:43:47 +01:00
Simon Lejeune 1b6b320445 [FIX] fixed the report type 'controller', fixed the report_vat_xls route
bzr revid: sle@openerp.com-20140321183649-rg8wrlvcrzvv0d29
2014-03-21 19:36:49 +01:00
Simon Lejeune 8581b1847f [IMP] Multiple improvements: eval_param is set on the controller, the subprocess to get the version of wkhtmltopdf is only open at OpenERP start, better exceptions handling (try to avoid exceptions shallowing) and the rpc call from the webclient to know the version of wkhtmltopdf is only done once
bzr revid: sle@openerp.com-20140321164716-uksuu6hsjj7q3698
2014-03-21 17:47:16 +01:00
Simon Lejeune 57e6e8fd28 [FIX] Multiples fixes: correct context passing, changed osv.Model to osv.AbstractModel to avoid creating tables in database when the model use for the reports contains only method
bzr revid: sle@openerp.com-20140321105806-0bwo992995la91fe
2014-03-21 11:58:06 +01:00
Simon Lejeune 060a171a26 [WIP] Refactoring report module to avoid using request in OpenERP models : the generation of the html/pdf is now done on the model side and not on the controller side anymore => it is possible to generate a pdf python-side without making a request to an url, request that can be refused because of access right in the request object at this precise moment
bzr revid: sle@openerp.com-20140319183614-vibnmm6kkh2h6piu
2014-03-19 19:36:14 +01:00
Simon Lejeune 03aa27fcca [IMP] Add link to wkhtmltopdf.org in the webclient notifications
bzr revid: sle@openerp.com-20140227165509-qrdwy0s7xh044zf4
2014-02-27 17:55:09 +01:00
Simon Lejeune 27a232596c [IMP] Add notification on the web client when wkhtmltopdf is not present or too old
bzr revid: sle@openerp.com-20140227154046-hxnhyho6v096hjx8
2014-02-27 16:40:46 +01:00
Simon Lejeune a82c186611 [IMP] Added a route to check presence and version of wkhtmltopdf. If the soft is not present, qweb-pdf fallback on qweb-html mode.
bzr revid: sle@openerp.com-20140227144810-d14iwu5pudmrshh9
2014-02-27 15:48:10 +01:00
Simon Lejeune ffa475afcd [IMP] Added the possibility to define ultra-specific reports outputing any king of file. These reports are of type 'controller' because they redirects to a controller that must returns a response containing the http headers 'content-type' and 'content-disposition'. The route for this controller is specified in the report_file field. Added an XLS version of the tax report for the POC (testable by setting 'report_vat' type to controller and setting '/report/account.report_vat_xls' in the 'report_file' field).
bzr revid: sle@openerp.com-20140221163320-g5ouoywsuduoi0qe
2014-02-21 17:33:20 +01:00
Simon Lejeune 3c6c3d91d5 [IMP] qweb-pdf reports are now downloaded instead of being openned in a popup. It is done by using the 'session.get_file' of the webclient.
bzr revid: sle@openerp.com-20140218125322-yym87kc2c0guhgg2
2014-02-18 13:53:22 +01:00
Simon Lejeune ed9061893a [IMP] Moved the action manager for qweb reports into addons branch
bzr revid: sle@openerp.com-20140218104959-p0nqlizhvynqy4j3
2014-02-18 11:49:59 +01:00
openerp-sle 8dbd892d8b [IMP] Added the route converting all reports to pdf thanks to wkhtmltopdf. The html rendered report is downloaded via werkzeug.test.client and then parsed into an lxml.etree in order to extract only the useful data : local css, header, content and footer. We then generate a minimalist html page that is passed to wkhtmltopdf. Save in attachment feature is handled. A method transform a paperformat object into a list of parameters for wkhtmltopdf. Multiple IDS reports are generated in different pdf merged at the end.
bzr revid: openerp-sle@openerp-sle.home-20140212180934-dupp8x2ivo52uzib
2014-02-12 19:09:34 +01:00