Commit Graph
90 Commits
Author SHA1 Message Date
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
Yannick Tivisse 09affe7cdf [IMP] Replace translate_doc method by t-lang attribute as this method is deprecated
now that we have a cleaner system to switch translation when calling a qweb template.
      Update the docstring too.

  Replace :
    <t t-foreach="doc_ids" t-as="doc_id">
    <t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', account.report_invoice_document')"/>
    </t>
  By :
    <t t-foreach="doc_ids" t-as="doc_id">
    <t t-call="'account.report_invoice_document" t-lang="doc_id.partner_id.lang"/>µ
    </t>

  Impacted modules : acccount, purchase, report_intrastat.
2015-07-17 14:48:41 +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
Jeremy Kersten 2254a970d4 [FIX] report: use hardcoded viewport in wkhtmltopdf to use col-md-* Bootstrap
Without this, wkhtmltopdf, don't use media query from bootstrap and so respect
only col-xs-* class (xs by default because no media query).

Viewport from wkhtmltopdf is not really respected, so 1024x768 or 1920x768 will
not change the real view port, but only use the right media query.
2015-07-10 16:09:32 +02:00
Olivier Dony 0bd4545348 [LEGAL] Use global LICENSE/COPYRIGHT files, remove boilerplate text
- Preserved explicit 3rd-party copyright notices
- Explicit boilerplate should not be necessary - copyright law applies
  automatically in all countries thanks to Berne Convention + WTO rules,
  and a reference to the applicable license is clear enough.
2015-06-02 03:16:04 +02:00
Christophe Simonis fe2b5f35a4 [MERGE] forward port of branch saas-6 up to bf1e999 2015-05-28 14:27:38 +02:00
Christophe Simonis 14a7d52307 [MERGE] forward port of branch 8.0 up to 327e471 2015-05-21 14:50:39 +02:00
Denis Ledoux 453b373a68 [FIX] report: datetime already imported, differently
This rev. is related to 439cdb6871.

The module datetime was already available in the reports,
and it was the entire datetime module that was imported,
not just the class.

This rev. is not recompatible with 439cdb6871,
but there is no other choice, since other existing
reports might already expected the datetime module
and not the class

opw-640299
2015-05-20 12:19:29 +02:00
Christophe Simonis 4a0241d6f6 [MERGE] forward port of branch 8.0 up to f722254 2015-05-18 17:35:24 +02:00
Denis Ledoux 439cdb6871 [FIX] report: print time in user timezone
In reports calling the internal headers layout,
e.g. the general ledger,
the print time was displayed in UTC,
while it should be in user tz.

closes #3341
opw-612043
2015-05-18 12:44:36 +02:00
qdp-odoo c04065abd8 [IMP] accounting v9. Yeeeeaah 2015-05-05 17:28:04 +02:00
Christophe Simonis 109dae2efa [MERGE] forward port of branch 8.0 up to d4f41a1 2015-02-26 18:56:26 +01:00
Denis Ledoux 22606c8905 [FIX] report: abstract reports default lang
In ir_ui_view.py, in method render (line 132 atm),
the values passed to the rendering engine is a merge of the context
and the values.

Therefore, if at this place, the language is rightly set in the context,
the report lang will be as well in the values.

In abstract_report.py, the values passed to the render method is the
wrapped report localcontext in which are added some key/values
(docs, doc_ids, doc_model).
By default, the lang in the localcontext is False
See __init__ method of rml_parse class in report_sxw.py.
If setLang method is not called, the lang in the localcontext remains False.

In this rev., we avoid to overwrite the lang from the context by the lang
of the localcontext if this one is False, so the lang of the report is set
with the current context lang.

Forcing the lang of the report to False had as side-effect to prevent the
editing of report using the website editor(e.g. playslip_report)

opw-628720
2015-02-24 17:42:25 +01:00
Christophe Simonis 61483e1a25 [MERGE] forward port of branch 8.0 up to 9333c62 2015-02-19 17:32:31 +01:00
Denis Ledoux 0167acbb52 [FIX] report : translation of report using website editor
In the website editor, the translations are loaded using
the route 'get_view_translations', which returns the translations
of the templates loaded by the website (t-call calls)

The thing is, report templates use the 'translate_doc' method
to actually load the report, translated in the partner language,
and the templates loaded by this method are not seen by the website,
therefore, when calling 'get_view_translations', those report
templates were just ignored, thus their translations are not loaded.

This rev. injects the templates loaded with translate_doc
when rendering the report into the method 'customize_template_get'
(which is used by 'get_view_translations' to retrieve the loaded templates).

The translations of the reports are therefore now loaded corretly when
hitting the "translate" button in the website editor for reports.

Besides, this rev. has as (good) side-effect to add the template,
in the template selection input when editing using the HTML editor.

opw-620713
2015-02-18 16:21:42 +01:00
Goffin Simon 0fd773a486 [IMP] Cleanup and refactoring of exception handling
Unify and refactor exception handling in framework and addons.

The generic `except_osv` is now deprecated, and replaced by more specialized exception subtypes:
 - `UserError` (renamed from Warning, as it conflicts with the built-in `Warning`) raised when a non-technical error occurs during a business operation. It could be a missing information in the data provided by the user, or a misconfiguration.
 - `AccessError`: raised when any operation is denied because the user conducting it does not have the required access rights.
 - `AccessDenied`: raised when an operation that requires authenticated access is attempted via an unauthenticated request.
 - `MissingError`: raised when an operation is attempted on a record that does not exist.
 - `ValidationError`: raised when an operation violates a SQL or Python constraint.
 - All other exceptions are internal errors due to a system problem or bug, and raised untouched to the client-side, which should display a traceback.

All exceptions take a single message argument.

The `test_exceptions` module has been updated to showcase both new and old (deprecated) exceptions.

A great many old `except_osv` had a useless title with "Error!" or "Warning", those have been removed, as this is handled by the client-side widget that displays the messages.

This commit introduces a more consistent policy for logging errors and warnings:
 - All messages that do not require administrator attention should be logged at INFO level or lower. This includes all errors that are notified to the user in a friendly manner, even for access right problems or validation errors during business operations.
 - All messages that indicate a likely misconfiguration or malicious use by the users should be logged at WARNING level, as they typically require administrator attention.
 - All other unhandled internal errors cannot typically be handled by the user and should be logged at ERROR or higher level, as they require immediate administrator attention.
2015-01-16 17:15:18 +01:00
Simon Lejeune 34c15580bf [FIX] tools: find_in_path exceptions shadowing
This commit changes the default behavior of `find_in_path`: it doesn't
shallow the IOError exceptions anymore. It especially allows the asset
bundle mechanism to handle the absence of the binaries used to compile
sass/less to css.

* ir_qweb: fallback the value of `get_command` to allow QWeb to display a message like
  "Could not execute command lessc"
* ir_qweb: use of `find_in_path` to fetch binaries, allowing to look for binaries
  in `bin_path` (Windows releases)
* fixed call of `find_in_path` by `_check_external_dependencies` in
  module.py
* fixed call of `find_in_path` by report.py (it was manually raising an
IOError)
2015-01-13 12:02:55 +01:00
Christophe Simonis fab4d6d442 [MERGE] forward port of branch 8.0 up to ea54d4a 2015-01-06 11:49:04 +01:00
Martin Trigaux 57707b65c9 [IMP] report: allow paperformat margins in float
wkhtml support float values for margins so there is no reason to restrict
the value to integer.
This also avoids bugs like #3367.
2015-01-06 10:59:01 +01:00
Martin Trigaux 1d99784a0a [FIX] report: allow margin with size 0
Setting the margins of a paperformat to 0mm was ignored and fallbacked on wkhtml
default margins.
This change is considered as relatively safe as margin-* fields have a default
value and setting 0 is then an explicit choice.
Fixes #3367, opw 620130
2015-01-06 10:56:46 +01:00
Simon Lejeune 467968b79a [FIX] tools: find_in_path: config is not ready at import time
commit f76d4525a was not actually working: extra keys from
config files are not yet into the config options dict at
import time. The fix is to move the logic inside the method,
like in `find_pg_tool` just below.

Also fix the use of `find_in_path` in report.py: the subprocess
may also raise AttributeError exception, so instead of listing
all the possible ones just re-raise the IOError shallowed by
`find_in_path` when the result is None.

Fixes #3809 #3811
2014-11-23 15:22:02 +01:00
Simon Lejeune f76d4525a3 [ADD] tools: handling of bin_path key in find_in_path
The openerp-server.conf now generates the bin_path record, in order
to resolve calls to external binaries served in the thirdparty dir.

Adpated report.py to use find_in_path and not directly which.
2014-11-21 18:08:12 +01:00
Simone Orsi 66969f51fa [FIX] Report: get_pdf: don't miss main elements when parsing html
Main elements can have more than one class, thus can be ignored by the previous
naive xpath. This patch brings a stronger xpath.
2014-11-05 11:49:53 +01:00
Simon Lejeune 440fb712cb [FIX] Report: use ir.config 'report.url' key as base url if it exists
Browse ir.config 'report.url' with superuser as
the user may want to restrict access of this key to the public
2014-10-24 16:37:30 +02:00
Paulius Sladkevičius 83b4742b56 [FIX] Render of report shouldn't update context
With API 8 context is frozendict that don't support update
2014-10-23 17:33:37 +02:00
Christophe Simonis 2b192bef22 [FIX] report: do not fail if PDF cannot be saved as attachment due to AccessError 2014-10-16 15:50:26 +02:00
Simon Lejeune 176404dd14 [FIX] Report: attachment_use need attachment 2014-09-24 17:33:00 +02:00
Simon Lejeune 5936a5c4a6 [FIX] Report: attachment and attachment_use: fix logic
Previously, attachment and attachment_use were only functionnal when used
simultaneously. The code did not consider the fact that the user may want
an historic of all the printed reports. This commit allow the use of
attachment without attachment_use.

It also tell explicitely qweb to generate the branding (used to separate
reports from a unique html when printing multiple reports). Before, it was
functional only when website was installed, because we forced 'editable' that
only has meaning in website.
2014-09-24 16:48:39 +02:00
Simon Lejeune f299b40fe6 [FIX] report: windows: lower level of file opening/closing, which to find wkhtmltpdf
* Use of 'which' to find the wkhtmltopdf binary (allow the win32 service to find it)
* Use of mkstemp and manual close of the file descriptors
2014-09-23 14:07:03 +02:00
DEEP SILVER ACCESSORY e458be4a14 [FIX] Report: compatibility issues on Windows
This commit fixes two different issues specific to Windows:
* NamedTemporaryFile behavior, requiring a file to be closed before being
  accessed a second time
* Wkhtmltopdf crash when the document's dpi is inferor to 96
2014-09-23 14:07:03 +02:00
Simon Lejeune 4b82cf666f [FIX] Report: search associated qweb views: do not forward context
The context may be inconsistent (for instance, containing a group_by associated to another
model). The client will take care of keeping it consistent. Fixes issue #1768
2014-09-09 14:36:00 +02:00
Xavier Morel 7558e2e786 [IMP] distribute branding on @groups instead of disabling edition
Avoids 2 rendering passes, and allows editing e.g. events detail page, which
couldn't be done (due to groups=public in a mail component)

fixes #1994
2014-09-08 11:16:06 +02:00
rlu-odoo 8b67a7202d [REF] OpenERP --> Odoo in various UI texts
Rebranding has been done in:
- data/demo files
- html templates
- help notices
- comments
- logger messages
- and other various messages

(Commit taken from odoo-dev:8.0-improve-openerp-odoo-rlu at rev 7deaa08)

Closes #1260
2014-07-18 13:45:41 +02:00
Raphael Collet cbe2dbb672 [MERGE] new v8 api by rco
A squashed merge is required as the conversion of the apiculture branch from
bzr to git was not correctly done. The git history contains irrelevant blobs
and commits. This branch brings a lot of changes and fixes, too many to list
exhaustively.

- New orm api, objects are now used instead of ids
- Environements to encapsulates cr uid context while maintaining backward compatibility
- Field compute attribute is a new object oriented way to define function fields
- Shared browse record cache
- New onchange protocol
- Optional copy flag on fields
- Documentation update
- Dead code cleanup
- Lots of fixes
2014-07-06 17:05:41 +02:00
Simon Lejeune 9cf4c03167 [FIX] display an error message instead of True when a group prevent to edit a report 2014-06-29 17:15:00 +02:00
Simon Lejeune 64fdc4bbcf [REF] no more hardcoded html in report.py 2014-06-29 15:54:18 +02:00
Simon Lejeune 891c890d73 [FIX] handle the case where request is bound, request.website exist but is None 2014-06-27 19:12:44 +02:00
Simon Lejeune fc8592adf2 [FIX] Report: translation fixed, use of 'primary clone' of web.layout and website.layout, minimal template is now a QWeb template 2014-06-27 12:00:49 +02:00
Xavier Morel ba4b203e31 [FIX] report rendering should ignore http.Retry 2014-06-17 15:19:54 +02:00
Olivier Dony 04211015fc [MERGE] Forward-port of latest saas-4 fixes, up to 0452851 2014-05-27 20:49:49 +02:00
Simon Lejeune 1f97c40c9c [FIX] Report: get the wkhtmltopdf version in a cleaner way with a simple regex 2014-05-21 14:05:18 +02: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 654df600c1 [FIX] Report: less verbose error message 2014-05-21 13:02:59 +02:00
Simon Lejeune 226579a80d [FIX] Report: removed psutil/signal/openerp worker crap 2014-05-21 13:01:42 +02:00
Simon Lejeune 4019b2b334 [FIX] Report: do not raise when wkhtmltopdf returns a code 1. In most cases, it is due to some http requests which did not success *but* the pdf is still acceptable. Far from the best commit ever, but it avoids to completely crash when just a link to an image is wrong 2014-05-21 12:56:56 +02:00
Quentin (OpenERP) 70eb74a260 [MERGE] merged with trunk up to revision 9425. Needs to find another icon for Traceability on lot, though
bzr revid: qdp-launchpad@openerp.com-20140507182917-erjammra4okyei1c
2014-05-07 20:29:17 +02:00
Christophe Simonis b8089a1521 [MERGE] forward port of branch saas-4 up to revid 9410 chs@openerp.com-20140507164207-kmme4tsrd4w1m7l1
bzr revid: chs@openerp.com-20140507170112-bjeltv2b0coy60am
2014-05-07 19:01:12 +02:00
Josse Colpaert 8b84615de1 [MERGE] Merge from trunk test
bzr revid: jco@openerp.com-20140502130352-c3h1fk332eqyd78b
2014-05-02 15:03:52 +02:00
Simon Lejeune 7ad6d7a150 [FIX] Report: usage of ids in get_action more consistent: only pass them when they are useful, else pass an empty list
bzr revid: sle@openerp.com-20140502130310-106au0jsza0b3nwe
2014-05-02 15:03:10 +02:00
Antony Lesuisse 7e25b9ae55 [MERGE] saas-4 report_webkit missing dependency on report
bzr revid: al@openerp.com-20140501152604-4cobh5ui47dt4pem
bzr revid: al@openerp.com-20140501155633-gefnc3zqcsr2rhaz
bzr revid: al@openerp.com-20140501161156-4wbsvhh8gz4r22h3
2014-05-01 18:11:56 +02:00