Commit Graph
431 Commits
Author SHA1 Message Date
Martin Trigaux a35e9bdb88 [I18N] fetch new master terms from Transifex 2016-08-22 11:52:03 +02:00
Christophe Simonis 235ed4b2c1 [MERGE] forward port branch saas-12 up to 9ad5f26 2016-08-20 18:08:19 +02:00
Christophe Simonis 9ad5f26b3f [MERGE] forward port branch saas-11 up to 3a2147d 2016-08-20 17:18:31 +02:00
Christophe Simonis 3a2147d95c [MERGE] forward port branch saas-10 up to bc1a0a3 2016-08-20 16:57:36 +02:00
Martin Trigaux 99215a02c6 [I18N] update saas-11 translations by merging 9.0 and master
1. export saas-11 sources terms into .pot files
2. msgcat odoo-9 .po & odoo-master .po into saas-11 .po files
3. msgmerge saas-11 .po with saas-11 .pot files to keep relevant terms
2016-08-19 13:54:31 +02:00
Martin Trigaux 2331bbf4b0 [I18N] update saas-10 translations by merging 9.0 and master
1. export saas-10 sources terms into .pot files
2. msgcat odoo-9 .po & odoo-master .po into saas-10 .po files
3. msgmerge saas-10 .po with saas-10 .pot files to keep relevant terms
2016-08-18 16:47:23 +02:00
Martin Trigaux c73b2bd079 [I18N] export master source terms 2016-08-18 11:01:50 +02:00
Raphael Collet bf668b64c1 [IMP] all: clean usage of safe_eval
Specifically: do not import `safe_eval` as `eval`, keep it explicit instead.
2016-08-11 15:36:56 +02:00
Yannick Tivisse a3f83916d0 [FIX] report: Pass correctly the docids to render_html method
In the 'get_html' method, the report is using a custom model to render its html,
we should use its own 'render_html' method to generate the report. During the
module migration, we replaced
'report_model.render_html(cr, uid, ids, data=data, context=context)'
by
'report_model.render_html(data=data)'

The new API signature of 'get_html' is

    @api.model
    def get_html(self, docids, report_name, data=None):

That way, 'render_html' doesn't receive docids anymore when called. We should do instead

    if report_model is not None:
        return report_model.browse(docids).render_html(data=data)

As render_html is an api.multi method, this is all wrong too, because we'll send a
browse record with the custom report model to the render_html method, to use the
ids with 'self.ids' that are absolutely not corresponding to the report model but to
to the record model we want to print (an invoice for example).

In old API style we were sending a list of ids, but it's not correct to keep the same
behavior by sending a browse record with only the ids relevant. We have also to
change render_html method decorator to @api.model with a new signature

    @api.model
    def render_html(self, docids, data=None):

And replace the call to render_html by

    if report_model is not None:
        return report_model.render_html(docids, data=data)

In the case the report is printed from a wizard, this is sufficient because the ids
are taken from the active_ids in context, or in data.

In the case the report is printed from a simple action, we should replace the occurence
of 'self.ids' (which doesn't mean anything) to 'docids'

This fix doesn't solve the printing issues for the custom accounting reports, because
the method get_pdf has been reimplemented in the module account_reports.
2016-08-10 11:13:33 +02:00
Kinjal Mehta 4c419f2bc1 [IMP] report: widen company address space on reports
Change the external_layout_header, with the use of
span tag and display inline-block property instead
of div tag, because without using it, the address
under-line occupied the whole col-xs-6 block, for
small address also. By using display inline-block
the length of address underline will same as length
of address. And col-xs-6 will increase the address
space for log address lines.
2016-08-10 09:55:05 +02:00
Simon Lejeune d6683c4c80 [FIX] report: get_action: name the action
This is useful now that we show the report in the action manager thanks
to the report client action. Also remove the duplication of the context
key.
2016-08-05 17:04:32 +02:00
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
Christophe Simonis 53015e11a9 [MERGE] forward port branch saas-11 up to eb83ab2 2016-08-03 16:16:30 +02:00
Christophe Simonis eb83ab236f [MERGE] forward port branch saas-10 up to c956075 2016-08-03 15:29:57 +02:00
Christophe Simonis c956075f5f [MERGE] forward port branch 9.0 up to cadb481 2016-08-03 15:07:24 +02:00
fwi-odoo d4e813b873 [REF] web, *: change deprecated import openerp.addons.web.http to odoo.http
We also remove the mock in web as there is no need for it anymore.
2016-08-03 13:42:05 +02:00
Odoo Translation Bot b7eb3c6bd0 [I18N] Update translation terms from Transifex 2016-07-31 00:38:56 +02:00
Christophe Simonis 523d3af131 [MERGE] forward port branch saas-12 up to 16d65a8 2016-07-29 17:55:21 +02:00
Richard Mathot 4b3ce99b26 [IMP] base,report,report_webkit: clean config view for Reports 2016-07-29 14:59:30 +02:00
Yannick Tivisse 962d0ee354 [FIX] report: display correclty the first printed report
The key 'commit_assetsbundle' wasn't in the context to the method 'get_pdf'
This issue comes from the module migration.
2016-07-29 12:20:41 +02:00
Yannick Tivisse 42b891700e [FIX] report: allow 'get_action' to receive id, ids or browse records as 'docids'
1/ If no docids are passed in get_action (empty list) do not put in context

2/ The method should accept ids or browse records as docids for retrocompatibility.
- The api.v7 method took ids as docids
- The api.v8 method took a browse records 'records' to call the api.v7 method with
  'records.ids' as docids
In python, we cannot write 2 functions with the same name that takes differents types
for the same argument. The function 'guess' in api.py will lead to a crash if we expect
a browse record and we send a list
The only way to allow the method to receive different types for the same argument is
to decorate it with '@api.noguess' to prevent any effect from guess method.
That way, we check directly if 'docids' is an id, ids or a browserecord and we always set
a list instead.
2016-07-29 12:20:41 +02:00
Christophe Simonis cfb0c0dead [MERGE] forward port branch saas-11 up to 7ae5121 2016-07-25 17:17:15 +02:00
Christophe Simonis 7ae5121877 [MERGE] forward port branch saas-10 up to fc0f023 2016-07-25 16:06:15 +02:00
Christophe Simonis fc0f023053 [MERGE] forward port branch 9.0 up to 1089dcf 2016-07-25 15:07:47 +02:00
Odoo Translation Bot 6dcaffa3e0 [I18N] Update translation terms from Transifex 2016-07-24 00:30:28 +02:00
rka-odoo 47c67b640b [MIG] report: Migration to new API 2016-07-19 11:56:29 +02:00
rka-odoo 01ad2f3a90 [SPLIT] report: Split files by model 2016-07-19 11:56:22 +02:00
rka-odoo 78fc98574e [MOV] report: Change directory structure according to new api guidelines 2016-07-19 11:55:49 +02:00
Odoo Translation Bot 691949c4b8 [I18N] Update translation terms from Transifex 2016-07-17 00:30:21 +02:00
Christophe Simonis 5858dda75f [MERGE] forward port branch saas-11 up to a62b8cf 2016-07-15 16:34:41 +02:00
Christophe Simonis 1fca5e01cb [MERGE] forward port branch saas-10 up to 156dee2 2016-07-14 18:17:30 +02:00
Christophe Simonis 156dee2aec [MERGE] forward port branch 9.0 up to fd9eb2e 2016-07-14 17:17:54 +02:00
Odoo Translation Bot 5a73ff2f1f [I18N] Update translation terms from Transifex 2016-07-10 00:30:32 +02:00
Denis Ledoux 3455daf948 [FIX] report, qweb: disppearence of header/footer in debug
This is similar to revision
3c61ee5c68

opw-682740
2016-07-08 16:22:20 +02:00
Christophe Simonis 05e0bf3f1b [MERGE] forward port of branch saas-11 up to e7190cb 2016-07-06 00:03:49 +02:00
Christophe Simonis e7190cbbbf [MERGE] forward port of branch saas-10 up to 74b51d3 2016-07-05 23:42:12 +02:00
Christophe Simonis 74b51d3d97 [MERGE] forward port of branch 9.0 up to 489ea42 2016-07-05 23:19:50 +02:00
Christophe Matthieu 032122484e [TYPO] qweb: use the same option attribute for t-esc t-raw and t-field
t-options instead of t-field-options
2016-07-05 18:44:58 +02:00
Christophe Matthieu 3407fb70e4 [IMP] qweb: add t-options on t-esc and t-raw who use 'ir.qweb.field' models
Remove 'field' from 'value_to_html' method attributes
't-esc' escape the result of the widget.
(Added 'remove_span' as option for monetary widget)

E.g.: <t t-esc="32" t-options='t-options='{"widget": "monetary", "display_currency": website.currency_id, "remove_span": True}'>
result: $ 365.00
2016-07-05 18:43:09 +02:00
Simon Lejeune 95a391f815 [FIX] report: more precise routes in the controller
ie, make `converter` argument not a path but a string. Converter
in our codebase are one-word string anyway (html, pdf).

This is done because a less asset in the report module is not reachable
in debug mode (it is a fake file that is reachable by a fallback in the
http dispatching and the fallback is not done because the `/report/converter
` matched the route of the fake file).
2016-07-05 17:48:32 +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 5a3a06f26f [MERGE] forward port of branch saas-11 up to d4d09df 2016-07-04 13:16:34 +02:00
Odoo Translation Bot e349692ede [I18N] Update translation terms from Transifex 2016-07-03 00:32:09 +02:00
Olivier Dony d4d09df143 [MERGE] Forward-port saas-10 up to f76f4cd0b6 2016-07-01 20:14:28 +02:00
Olivier Dony f76f4cd0b6 [MERGE] Forward-port 9.0 up to 7f2e748a22 2016-07-01 18:36:24 +02:00
Yannick Tivisse 692d41c686 [IMP] Classified each module in its category to display them correctly on odoo/apps
To be displayed correctly on odoo app (In a given category and not only in all or hidden)
the module category in the __openerp__.py file should be one of these:

    "Accounting",
    "Discuss",
    "Document Management",
    "eCommerce",
    "Human Resources",
    "Industries",
    "Localization",
    "Manufacturing",
    "Marketing",
    "Point of Sale",
    "Productivity",
    "Project",
    "Purchases",
    "Sales",
    "Warehouse",
    "Website",
    "Extra Tools",

'Accounting & Finance' will not work, as 'Project Management', ...
2016-06-30 13:27:46 +02:00
Christophe Simonis 93e6316029 [MERGE] forward port of branch saas-11 up to 7153077 2016-06-28 18:05:25 +02:00
Christophe Simonis 5166fbd21b [MERGE] forward port of branch saas-10 up to 6d51bce 2016-06-28 15:12:06 +02:00