Commit Graph

6684 Commits

Author SHA1 Message Date
Olivier Dony 04211015fc [MERGE] Forward-port of latest saas-4 fixes, up to 0452851 2014-05-27 20:49:49 +02:00
Christophe Simonis e16233217c [MERGE] Replace inherit_option_id by a selection field (PR #229) 2014-05-27 17:57:33 +02:00
Olivier Dony fd21abd847 [MERGE] Forward-port latest saas-3 bugfixes, up to 30f43da 2014-05-27 17:18:43 +02:00
Christophe Simonis 05fe3ca7e3 Merge pull request #228 from xmo-odoo/extended-view-inheritance
Extended view inheritance
2014-05-27 17:10:28 +02:00
Martin Trigaux 3b32464ed2 Merge pull request #202 from lyinfo/master-fix-zero-qweb-field
[FIX]t-field wrong outputs when precision is 0
2014-05-27 14:46:31 +02:00
Xavier Morel abc50d1041 [IMP] application field doc 2014-05-27 12:26:38 +02:00
Xavier Morel ab7dd57771 [IMP] make mode handling more regular
Before this commit, @mode=primary would be sorta-ignored[0] if the current
view and its parent had the same model: the current view would *still* get
applied (as an extension) when asking OpenERP for its parent. This commit
makes mode=primary views behave regularly, they are *never* applied when
asking for their parent, only when asking for them or their children.

This allows "forking" views, and using extended views in some contexts without
breaking or duplicating the original view

[0] there was actually a problem when asking for the current view directly,
    first its parent would be resolved by applying it, then it would be
    applied to resolve itself, the view would thus get applied twice (oops)
2014-05-27 12:23:02 +02:00
Xavier Morel 0f5424eac4 [IMP] replace check_mode python-level constraint by an SQL CHECK constraint 2014-05-27 12:21:52 +02:00
Xavier Morel 9555b32c7b [IMP] add some more explanations for the behavior of the mode attribute on views 2014-05-27 12:20:04 +02:00
Xavier Morel cdd89f4ae6 [FIX] forgot to add primary attribute support to <template> in schema 2014-05-27 12:19:13 +02:00
Xavier Morel 833f5894d2 [FIX] typos 2014-05-27 12:18:22 +02:00
Xavier Morel e06f5b414b [IMP] inherit_option_id -> application 2014-05-27 12:13:51 +02:00
Xavier Morel e2f41d09ba [IMP] prevent changing a view from application: always to application: disabled
not sure that's actually useful, and can still go always -> enabled -> disabled...
2014-05-27 11:57:07 +02:00
Xavier Morel d82ffb8728 [ADD] application field & check during inheriting views read 2014-05-27 11:57:07 +02:00
Xavier Morel 8b9f774a22 [ADD] support for primary mode in <template>
should probably validate that there's an inherit_id (?)
2014-05-27 11:57:02 +02:00
Xavier Morel da345aaa2d [ADD] use of explicit primary mode in read_combined 2014-05-27 11:57:02 +02:00
Xavier Morel 4e3dbb96b3 [FIX] default_view should be based on mode=primary, not on inherit_id=False 2014-05-27 11:57:01 +02:00
Xavier Morel 434be479f9 [ADD] mode attribute to views
Not used yet, only defined its relation to inherit_id:

not inherit_id + primary -> ok
not inherit_id + extension -> error
inherit_id + primary -> ok
inherit_id + extension -> ok
2014-05-27 11:57:01 +02:00
Xavier Morel d9ce012d29 [IMP] simplify handling of callable _constraint message 2014-05-27 11:57:00 +02:00
Xavier Morel d8377a931e [REM] idiotic _invalids attribute, as well as get_invalid_fields 2014-05-27 11:56:59 +02:00
Fabien Meghazi 06b10a8ef2 Merge remote-tracking branch 'odoo/master' into master-import-module-wizard-tpa 2014-05-26 16:52:41 +02:00
kevin wang 9bfa02386c [FIX]t-field wrong outputs when precision is 0 2014-05-26 17:06:49 +08:00
Simon Lejeune 2d7c890939 Merge remote-tracking branch 'odoo/saas-4' into saas-4-report-fixes-sle 2014-05-23 15:38:56 +02:00
Denis Ledoux 51c7b55da0 [FIX] request.handle_exception: cleanup override logic, fixed chain broken by commit a096ae0
handle_exception() is supposed to try handling an exception and if it cannot,
re-raise it. Overridden methods must therefore call super() within a try/except
block, and only attempt to handle the exception if super() raised.
2014-05-23 13:15:52 +02:00
Olivier Dony 2af03e1b6e [MERGE] Forward-port latest 7.0 bugfixes, up to f8671cb 2014-05-22 16:44:33 +02:00
Denis Ledoux f8671cb48a [REVERT] b6a7402fdb, pagereset seems to be useful in some cases. Need to check deeper 2014-05-22 16:17:04 +02:00
tpa-odoo 41147025b8 [ADD] add wizard to import zipped module 2014-05-22 15:51:51 +05:30
Denis Ledoux c0e9a15960 [MERGE] Forward-port of latest saas-3 bugfixes, up to rev. a096ae0080 2014-05-22 09:35:26 +02:00
Martin Trigaux a096ae0080 [FIX] http: force rolleback for failed http request
1st issue:
When an exception was raised, it was badly handled by the website in case of
website_enabled key. The response page was generated without calling super.
The WebRequest object being responsible to rollback the transaction in case
of errors.

2sd issue:
The _failed attribute is required to rollback the transaction in an WebRequest
object. Previously it was only set in the JsonRequest object (which inherit
from WebRequest), replace by call to super. The attribute _failed is now set
in the WebRequest object.
2014-05-21 19:12:37 +02:00
Denis Ledoux 2cc28ce65b [MERGE] Forward-port of latest 7.0 bugfixes, up to rev. b6a7402fdb 2014-05-21 13:46:10 +02:00
Simon Lejeune b50421e551 [FIX] ir_actions: adapt render_report when called in a tests/qweb report context to generate the pdf only if a directory has been provided 2014-05-21 13:11:27 +02:00
Denis Ledoux b6a7402fdb [FIX] report: correct page numbering 2014-05-21 11:20:37 +02:00
Fabien Meghazi 05f376e310 If no addons-path provided, include the main addons 2014-05-20 22:33:49 +02:00
Christophe Simonis a756b82372 [MERGE] forward port of branch saas-4 up to revid bb26dea 2014-05-20 20:19:55 +02:00
Christophe Simonis bb26dea60b [MERGE] forward port of branch saas-3 up to revid 38abc8a 2014-05-20 19:00:50 +02:00
Christophe Simonis 38abc8a006 [MERGE] forward port of branch 7.0 up to revid b09b6a0 2014-05-20 18:57:04 +02:00
Christophe Simonis ab4c3534de [MERGE] merge bzr trunk server branch 2014-05-20 17:30:01 +02:00
Christophe Simonis 8f0066d728 [MERGE] merge bzr saas-4 server branch 2014-05-20 17:05:25 +02:00
Christophe Simonis 528d04d6dd [MERGE] merge bzr server branch 2014-05-20 16:28:48 +02:00
Fabien Meghazi 9cd8ec98bc Automatic @auth='user' redirection for unlogged users
opt out with query parameter ?noredirect=1
2014-05-20 12:02:46 +02:00
Thibault Delavallée f99785e29d [IMP] ir_qweb: contact widget: handle website info in the contact widget. 2014-05-19 18:15:32 +02:00
Thibault Delavallée 066fb14326 [FIX] orm: unlink: when unlinking a record, trigger the computing of
function fields for other records in the same model. Previously all function fields in the
current model were not computed for some reason not provided by the history.

We therefore compute effective store_ids on which the various trigerred
function fields will be computed again. Those ids are the ids given
in the store_get storage variable minus the deleted ones.
2014-05-19 18:12:41 +02:00
Richard Mathot (OpenERP) f5368a1bad [FIX] ir_qweb: Duration widget now displays something 2014-05-19 17:37:00 +02:00
Xavier Morel 8c86be0c60 [FIX] indentation and formatting of various rst snippets 2014-05-19 13:59:17 +02:00
xmo-odoo 201701f38c Merge pull request #38 from cysnake4713/master
[FIX] report set_html_image error
2014-05-19 11:40:53 +02:00
xmo-odoo 072485799c Merge pull request #27 from lyinfo/master-ck-match
Dereferencing of nones could lose error messages during import
2014-05-19 10:18:27 +02:00
Xavier Morel 9cefa76988 [ADD] hasclass() xpath function
Server-side, view extension is done via xpath. This includes "template" views
full of HTML.

HTML elements often have a bunch of classes, sometimes even semantic
(!). XPath is generally great, but specifically lousy at dealing with
space-separated values: in standard XPath 1.0 to know if an element has a
class 'foo' the predicate is:

    contains(concat(' ', normalize-space(@class), ' '), ' foo ')

and this has to be fully duplicated if there's a second class involved.

Things are slightly better with EXSLT/XPath 2.0 and tokenize, but still not
great:

    tokenize(@class, '\s+') = 'foo'

and the equality check is very weird when unaware of XPath's evaluation rules.

``hasclass`` makes this much simpler to deal with: to get any ``foo`` node
with the class ``bar`` is as simple as:

    //foo[hasclass('bar')

and it can take multiple class, as with e.g. jquery it will return elements
with all specified classes.

Beware though, the predicate function will be called once for each element to
check, since it's implemented in pure python and not profiled elements should
be filtered as much as possible before this point.
2014-05-19 08:32:23 +02:00
Xavier Morel cf833a2f53 [FIX] don't blockquote a list of stuff for no reason 2014-05-19 08:32:14 +02:00
Xavier Morel 66d8934802 [FIX] correctly handle get_inheriting_views_arch when uid=None 2014-05-19 08:32:10 +02:00
Xavier Morel f41fde480d [FIX] rST warnings & errors 2014-05-19 08:31:09 +02:00