Commit Graph
153 Commits
Author SHA1 Message Date
Christophe Simonis 6f841038f3 [MERGE] forward port of branch 8.0 up to 3735394 2015-01-22 18:47:13 +01:00
Olivier Dony 495ec92251 [I18N] Update translations from Launchpad 8.0 branches 2015-01-21 15:36:54 +01:00
Olivier Dony 39f00b3637 [I18N] Update translation templates with latest terms
Total new terms: 270
Total deleted terms: 82
Total identical terms: 19653
Old total number of terms: 19735
New total number of terms: 19923
2015-01-21 15:31:22 +01:00
Christophe Simonis 18e22be138 [MERGE] forward port of branch 8.0 up to 0aab81c 2015-01-19 17:15:56 +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
Denis Ledoux b5e62214fa [FIX] report: reload record after report printed 2015-01-16 14:55:17 +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
Richard Mathot 7b763176ba [REM] modelines: Gotta catch 'em all 2015-01-08 11:38:58 +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
Leonardo Donelli 4a0b13ed92 [REF] remove vim modelines and resulting trailing blank lines
Let 2015 be a year without modelines!
cf #4174
2014-12-31 15:52:13 +01:00
kevin wang 7566b9d425 [FIX] report barcode cast humanreadable 2014-12-23 00:10:57 +01:00
Simon Lejeune 46ec35ef9a [REM] web_pdf_viewer: PDF in-browser preview
This reverts commit 8b46d7b04f.
2014-12-19 17:48:35 +01:00
Franck Bret e0d482968d [FIX] report add the humanreadable option to barcode image generator
Closes #4334
2014-12-19 05:09:31 +01:00
Simon Lejeune 08604812d8 [FIX] Report: html escape the error json string
session.get_file appends the json to the body of the generated iframe and
then tries to json.parse it by reading contentNode on the body.
Exceptions from `report_download` method may contain `<` and `>`, so when
json.parse tries to json.parse the contentNode, it reads only a part of
the original json string. htmlescaping the json string solves the issue
by preventing the content of the json string to be interpreted as html.
2014-12-12 16:04:31 +01:00
Simon Lejeune 80bb4422be [FIX] Report: don't shallow exceptions in report_download 2014-12-12 16:04:31 +01:00
Christophe Simonis 1d3f8eba87 [MERGE] forward port of branch 8.0 up to 591e329 2014-12-02 16:18:08 +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
Olivier Dony a6d24db305 [I18N] Update translations from Launchpad 8.0 branches 2014-11-19 17:49:12 +01:00
Christophe Simonis 5068cffbb0 [MERGE] forward port of branch 8.0 up to 491372e 2014-11-05 20:30:40 +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
David Monjoie d492a4d64a [FIX] report: fix report HTML editor scrollbar in Firefox 2014-10-30 12:25:13 +01:00
Christophe Simonis 27979746fb [MERGE] forward port of branch 8.0 up to 92183e5 2014-10-24 18:23:46 +02: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 52fee2811d [MERGE] forward port of branch 8.0 up to 2b192be 2014-10-16 16:04:39 +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
Olivier Dony 7439421ad2 [I18N] Update translations from Launchpad 8.0 branches 2014-10-08 17:52:25 +02:00
Christophe Simonis 709c9868de [MERGE] forward port of branch 8.0 up to e883193 2014-10-01 19:18:14 +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
Parth Gajjar 8b46d7b04f [ADD] web_pdf_viewer: PDF in-browser preview
This module extends web client and reporting tool in order to allow a
preview of PDF files directly in the browser (if supported by the
browser). If you disable it, standard file download stays available.
2014-09-24 14:06:06 +02:00
Olivier Dony b74d830eb2 [I18N] Update translation templates with latest term changes 2014-09-23 19:13:50 +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
Olivier Dony 1c5b5e4290 [I18N] Update translations from Launchpad 8.0 branches
server: rev. 26 rev-id launchpad_translations_on_behalf_of_openerp-20140923072744-tkfs0yinu8msjh09
addons: rev. 39 rev-id launchpad_translations_on_behalf_of_openerp-20140923072715-5j7qvnuvmmb1zzy1
web: rev. 23 rev-id launchpad_translations_on_behalf_of_openerp-20140923072757-jvh9l6r2x0vfcyhb
2014-09-23 13:42:05 +02:00
Olivier Dony 53aa92d3c9 [I18N] Update translations from Launchpad branches 2014-09-18 11:47:16 +02:00
Simon Lejeune ce0dcac161 [FIX] report: /report/download route should not be website enabled
There's a little magic inside the website enabled route modifying the
context's lang, thus breaking the logic to print the report in the
current user's lang. The direct route to display the report should
stay in website_enabled mode, as it allows to switch lang, use the
website translator and so on.
2014-09-12 12:29:29 +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
Olivier Dony fac96241df [I18N] Update 8.0 translations with latest changes from Launchpad 2014-09-08 19:04:25 +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
Olivier Dony 50ef63881a [I18N] Update 8.0 translation with latest source code 2014-08-14 17:01:54 +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 f24fe427fa [FIX] remove useless view inheritance correction 2014-06-27 12:04:52 +02:00