Commit Graph

5374 Commits

Author SHA1 Message Date
Christophe Simonis d26e253edd [IMP] dumpstack dumps greenlets when running in evented mode.
(forward port lost during previous commit)

bzr revid: chs@openerp.com-20131125155956-x92vq9w4r9ov4vcc
2013-11-25 16:59:56 +01:00
Christophe Simonis ab386c0f5f [MERGE] forward port of branch saas-2 up to revid 4984 chs@openerp.com-20131125151017-lmj53bxg1pfrr4a7
bzr revid: chs@openerp.com-20131125154140-cpbk4tcdml2a3b9n
2013-11-25 16:41:40 +01:00
Christophe Simonis 3211a29d9b [MERGE] forward port of branch 7.0 up to revid 5148 mat@openerp.com-20131125125008-wmpssjk5vygdcc0w
bzr revid: chs@openerp.com-20131125151017-lmj53bxg1pfrr4a7
2013-11-25 16:10:17 +01:00
Martin Trigaux 9635119fc1 [FIX] fields: execute name_get for function field of type many2one as SUPERUSER_ID (same behaviour as classical many2one)
bzr revid: mat@openerp.com-20131125125008-wmpssjk5vygdcc0w
2013-11-25 13:50:08 +01:00
Martin Trigaux e2102ca9ce [IMP] orm: add missing space in error message during validation
bzr revid: mat@openerp.com-20131125124717-4jsqv0lfu7hpxusi
2013-11-25 13:47:17 +01:00
Martin Trigaux 3b5cf5d56c [FIX] translations: fix tests to adapt to new duplication behaviour and remove context hack in copy_data (translations are now fully handled in copy_translation)
bzr revid: mat@openerp.com-20131125115727-o9oejao1ziagqti1
2013-11-25 12:57:27 +01:00
Martin Trigaux fbbc6ea840 [FIX] orm: when duplicating translated object, modify the values to get more coherent values
user's language: old (untranslated) -> new (translated)
other language: old (untranslated) -> old (translated)

This allows to have coherent behaviour if copy() method is overwritten to change the text (usually applying _('%s (copy)')). The current user will see the translated terms with modification while the translations are kept for others (and need to be updated).
We prefer keeping slightly irrelevant translations (without translated version of '%s (copy)') for other languages than losing it.

bzr revid: mat@openerp.com-20131125110736-d6iygeq8om5y4fkz
2013-11-25 12:07:36 +01:00
Olivier Dony 4e4b5af3d9 [ADD] i18n: enable Lao language (Laos) as an installation option
bzr revid: odo@openerp.com-20131125084215-nddml5h65i2xkuf9
2013-11-25 09:42:15 +01:00
Launchpad Translations on behalf of openerp 3d512cf865 Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131123062544-0n565bu6p07jgu7c
bzr revid: launchpad_translations_on_behalf_of_openerp-20131124054736-ndfylcrz06mb9z0i
bzr revid: launchpad_translations_on_behalf_of_openerp-20131125060000-s033pap6hv11grl3
2013-11-25 06:00:00 +00:00
Launchpad Translations on behalf of openerp bba9e86c41 Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131123060118-7bayd565wi4mh8nk
bzr revid: launchpad_translations_on_behalf_of_openerp-20131125053223-t2rb928yzma23a29
bzr revid: launchpad_translations_on_behalf_of_openerp-20131125053248-reb9oruqgxx0v61c
2013-11-25 05:32:48 +00:00
Christophe Simonis 043fe6c2d5 [FIX] base: on_change_login only set email for valid emails
bzr revid: chs@openerp.com-20131124164435-977xi3eg7svn5mgz
2013-11-24 17:44:35 +01:00
Christophe Simonis 84fd6ea4f1 [FIX] yaml import: for record tags, do not shadow values explicitly set in yaml.
bzr revid: chs@openerp.com-20131124115235-13sc11q51v95hxfr
2013-11-24 12:52:35 +01:00
Martin Trigaux 10608a5d18 [FIX] ir_translation: correctly match old and new ids on inherit fields
new_id was correctly handled at rev 5118 but the old_id wasn't which could produce inconsistency if there was a gap in ids

bzr revid: mat@openerp.com-20131122175939-lvlf4ih4pyidqxjp
2013-11-22 18:59:39 +01:00
Denis Ledoux 6fd552c3ce [MERGE] Forward-port of latest 7.0 bugfixes, up to rev. 5139 rev-id: dle@openerp.com-20131121132305-qjlclgz5v9tze1fr
bzr revid: odo@openerp.com-20131120102545-2tlp031yib6viz35
bzr revid: chs@openerp.com-20131120161708-c8sbom592moukwxw
bzr revid: dle@openerp.com-20131121155457-lh7fzouk2upeiu16
2013-11-21 16:54:57 +01:00
Denis Ledoux 58080c6569 [FIX] ir, ir_translation: it was not possible to empty the source of a translation, or this is sometime something that we want
bzr revid: dle@openerp.com-20131121132305-qjlclgz5v9tze1fr
2013-11-21 14:23:05 +01:00
Launchpad Translations on behalf of openerp b1f8f3dfd2 Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131122060235-8k2oxuc94x45jjoc
bzr revid: launchpad_translations_on_behalf_of_openerp-20131122060308-lb2sgcxbv804pafr
bzr revid: launchpad_translations_on_behalf_of_openerp-20131116062541-ouuae0dl331ekjcb
bzr revid: launchpad_translations_on_behalf_of_openerp-20131117054520-eypowk6g8qatvq7n
bzr revid: launchpad_translations_on_behalf_of_openerp-20131120054421-95x86930ezm0p33h
bzr revid: launchpad_translations_on_behalf_of_openerp-20131121063904-5igv5f7tgwlaipvv
bzr revid: launchpad_translations_on_behalf_of_openerp-20131122060313-x4c5bx498gyrkhqr
2013-11-22 06:03:13 +00:00
Launchpad Translations on behalf of openerp 271ed43e7b Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131121054848-007arsnnoa8fs65e
bzr revid: launchpad_translations_on_behalf_of_openerp-20131121063838-blqn6j0yfmrlw5vp
2013-11-21 06:38:38 +00:00
Christophe Simonis c26c178f98 [MERGE] remove warnings
bzr revid: chs@openerp.com-20131120151237-ij9llw0fnhya10f7
2013-11-20 16:12:37 +01:00
Olivier Dony b7865502e4 [FIX] orm.browse_record: access error due to prefetch of indirectly referenced records (OPW #596679)
The browse_record prefetching algorithm attempts to
load data for all known records from the requested
model (i.e. all IDs present in the browse cache),
regardless of how indirectly/remotely they were
referenced. An indirect parent record may therefore
be prefetched along with its directly browsed children,
possibly crossing company boundaries involuntarily.

This patch implements a fallback mechanism when
the prefetching failed due to what looks like an
ACL restriction. This being a fuzzy concept at the
moment, it does its best to only catch a restricted
set of exceptions, and retry loading the data for
the directly requested ID only.

This may cause a small performance penalty in case
of real errors (with some spurious logging too),
but should only be triggered in very few cases.

The downside when this happens is that the prefetching for that
model gets effectively disabled, requiring multiple
SQL queries for further access to the data of
the other directly browsed records.

This EAFP approach seems safer and faster than
a LBYL technique where we would have to filter
all indirect m2o references according to ACLs
before allowing them to enter the cache.

lp bug: https://launchpad.net/bugs/1238042 fixed
lp bug: https://launchpad.net/bugs/1212429 fixed

bzr revid: odo@openerp.com-20131120100627-031fljyf4ckprc9b
2013-11-20 11:06:27 +01:00
Christophe Simonis cd810ea7bd merge upstream
bzr revid: chs@openerp.com-20131119185353-qfhaice61xg7qfhn
2013-11-19 19:53:53 +01:00
Denis Ledoux b7988bcc5a [FIX] ir, ir_attachement: traceback if try to create attachement without res_id, caused by check access rights trying to check if the user had the right to read the object with a res_id 0
bzr revid: dle@openerp.com-20131119140246-r8dd7h0di4aigjss
2013-11-19 15:02:46 +01:00
Martin Trigaux 89850477a2 [FIX] fonts: add missing onchange on company form
bzr revid: mat@openerp.com-20131119085343-930hs460m5uzz5xj
2013-11-19 09:53:43 +01:00
Denis Ledoux 9cede6794d [FIX]base: missing quote in domain of res_partner filter on name
bzr revid: dle@openerp.com-20131118155230-hvdm4yqu5fz3w5q4
2013-11-18 16:52:30 +01:00
Christophe Simonis 33ce0e73db [FIX] When running with --stop-after-init, return code must be not null if any failure happen.
bzr revid: chs@openerp.com-20131118132235-84u5hfccm784ge5l
2013-11-18 14:22:35 +01:00
Olivier Dony 4921167d74 [FIX] ir.model: during garbage collection of obsolete records in _process_end, do it in anti-chronological order
Just like for the uninstallation process, records should be
deleted with last created first, as an attempt to reverse
the operations in the right order (to avoid errors due to
dependencies between records).

bzr revid: odo@openerp.com-20131118125640-kdo3t34uszqggu13
2013-11-18 13:56:40 +01:00
Launchpad Translations on behalf of openerp 5ebdfc937b Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131115063201-mftw45w2ak463rsc
bzr revid: launchpad_translations_on_behalf_of_openerp-20131116062515-voqeczdl0l0262cu
bzr revid: launchpad_translations_on_behalf_of_openerp-20131117054432-u9evqk0z98aqzoqk
2013-11-17 05:44:32 +00:00
Xavier Morel 0ece469392 [FIX] bunch of broken stuff over http requests in new routing thing
* make ModelConverter use its regex for data extraction so
  replacements can just fixup the request and don't have to mess with
  _uid

* replace routing_map property by method, for unknown reasons the
  property does not work at least overridden (it's not found) and I
  don't care enough to wonder why

* arguments result from MapAdapter.match() is a mapping, not a
  sequence. Iterate through values()/itervalues() otherwise we'll
  never get a browse_record to do the uid substitution on, only
  strings (params names)

* inject arguments from URL map/match into the function before
  executing it, this was apparently lost during the transition

* reintroduce get_db_router for third-party code needing to generate
  URLs

bzr revid: xmo@openerp.com-20131115124819-bp4gjpfdlda2qyf5
2013-11-15 13:48:19 +01:00
Xavier Morel 321d4681e1 [IMP] new routing thing
* fix nameerror on SessionExpired exception not being imported
* remove pointless RequestUID instantiation by single placeholder object
  - may be replaceable with a LocalProxy or something along those lines?
* rename default/nodb routing map
* make better use of werkzeug API
* move lazy routing_map instantiation to property in ir_http.find_handler
  - do we have some sort of lazy_property?

bzr revid: xmo@openerp.com-20131115100901-s3skmwv9d1jgk9y0
2013-11-15 11:09:01 +01:00
Olivier Dony 362c25c957 [FIX] base: invalid ISO code for former Venezuela bolivar - ISO 4217 says VEB
XML ID is preserved for compatibility, will be updated in trunk.

lp bug: https://launchpad.net/bugs/1085775 fixed

bzr revid: odo@openerp.com-20131114230508-g1q02h823xg8pj1n
2013-11-15 00:05:08 +01:00
Nhomar - Vauxoo fc017404e4 [FIX] Country data is incorrect for Venezuela, the country currency is VEF not VUB (the old ones) wich techincally is incorrect too because it was VEB, but no problem, only fixing here the VEF to allow test everything correctly.
lp bug: https://launchpad.net/bugs/1251429 fixed

bzr revid: nhomar@gmail.com-20131114210740-oijhkbr2nmi5hoe4
2013-11-14 16:37:40 -04:30
Martin Trigaux 7ae9e1c86d [FIX] registry: missing a threading.RLock in RegistryManager.get():
if no registry exists and several calls to RegistryManager.get() are called at the same time
by several threads, several registries will be created one after the other and only the last
one will be kept in cls.registries (courtesy of Guewen Baconnier (Camptocamp)

Invert behaviour of commit 3685 because, at that time, the new trigger the schedule_cron_jobs method which ran another lock and called get on the registry. We had a deadlock with the cron. This is no longer the case as we don't call the same method at the end of the creation of the registry and it does not trigger a lock

bzr revid: mat@openerp.com-20131114144401-k00podawlem7cjd1
2013-11-14 15:44:01 +01:00
Christophe Simonis ec88c042b2 [MERGE] forward port of branch saas-1 up to revid 4918 chs@openerp.com-20131114134731-n324awyon0spq624
bzr revid: chs@openerp.com-20131114135502-xqi6df3jzm7ng0io
2013-11-14 14:55:02 +01:00
Christophe Simonis 993bff902e [MERGE] forward port of branch 7.0 up to revid 4067 chs@openerp.com-20131114142639-ng7wzfjwvvel2nhv
bzr revid: dle@openerp.com-20131112134311-h1vsux0ge17bsqkc
bzr revid: chs@openerp.com-20131114134731-n324awyon0spq624
bzr revid: chs@openerp.com-20130823145204-xwpnlwg0gg2259f6
bzr revid: chs@openerp.com-20130906170157-e7m4pjskyi47q82o
bzr revid: dle@openerp.com-20130909170408-wxgoduzggap6o4ng
bzr revid: dle@openerp.com-20130919141212-ridtrvvfwvu6calr
bzr revid: dle@openerp.com-20131018120136-fvoq337kgx74njsy
bzr revid: dle@openerp.com-20131023103308-18pj2gqq3imrcir7
bzr revid: chs@openerp.com-20131030180528-hqsztaujjjqev8ky
bzr revid: dle@openerp.com-20131106100128-mx8mnguvp321wick
bzr revid: chs@openerp.com-20131115104909-3u3mu40g9xnler88
2013-11-15 11:49:09 +01:00
Launchpad Translations on behalf of openerp 108ccbf108 Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131114062958-ies8xa3pft7n59ms
bzr revid: launchpad_translations_on_behalf_of_openerp-20131106055135-r0xt2vr04710jh1t
bzr revid: launchpad_translations_on_behalf_of_openerp-20131107055120-r8z445ergt50erlx
bzr revid: launchpad_translations_on_behalf_of_openerp-20131108062620-bvfofx1jl1wb1csh
bzr revid: launchpad_translations_on_behalf_of_openerp-20131110064525-ioceogsmu0nmx2qj
bzr revid: launchpad_translations_on_behalf_of_openerp-20131111053908-gbrp09ast5fhr6iw
bzr revid: launchpad_translations_on_behalf_of_openerp-20131112062316-5uf2bvbzdhkq1b7k
bzr revid: launchpad_translations_on_behalf_of_openerp-20131113060841-bkjcuz4e9rtzn6f9
bzr revid: launchpad_translations_on_behalf_of_openerp-20131114063058-rrm2q5lxkyawuvpz
2013-11-14 06:30:58 +00:00
Christophe Simonis 7ba1d747cc [FIX] html_sanitize: handle the case of empty documents (after sanitization).
[IMP] test_mail: do not mute logger

bzr revid: chs@openerp.com-20131113113715-tzaog0d6o2u4q0x4
2013-11-13 12:37:15 +01:00
Martin Trigaux d26e3b8b33 [FIX] ir_fields: call selection function with context=None instead of not passing argument. Same behaviour as previsously but does not break when have default value for context (eg: _get_language for ir.translation)
bzr revid: mat@openerp.com-20131113094523-67547nkfkfntjelb
2013-11-13 10:45:23 +01:00
Launchpad Translations on behalf of openerp 4231970c8a Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131113060802-i0rwt8lkgeckatjo
bzr revid: launchpad_translations_on_behalf_of_openerp-20131113060848-04a2ehku5erssgvr
2013-11-13 06:08:48 +00:00
Christophe Simonis 6b358b6a53 [FIX] ir.actions.server: active record (active_id) always put in the evaluation context
bzr revid: chs@openerp.com-20131112180423-ce3enlyk6y3jjphh
2013-11-12 19:04:23 +01:00
Denis Ledoux ce4396a04c [FIX]base, ir_actions: ir_values with client_multi_actions and a server action with code were executing the actions on active_ids one by one, instead of all together (the action was called for each active_ids instead of one time for all active_ids)
bzr revid: dle@openerp.com-20131112162726-24z38xvzq5o1spoe
2013-11-12 17:27:26 +01:00
Cecile Tonglet 83f6778446 [FIX] Import on model ir.translation was broken because of a missing context
bzr revid: cto@openerp.com-20131112132747-bajrgbwlp0m3z92s
2013-11-12 14:27:47 +01:00
Denis Ledoux 6792d85b44 [FIX]report: rml2pdf raise exception if cell is too long to be printed (instead of infinite loop). Workaround for reportlab issue #15: https://bitbucket.org/rptlab/reportlab/issue/15/infinite-pages-produced-when-splitting
bzr revid: dle@openerp.com-20131112130412-mbdonb9g7n63w84r
2013-11-12 14:04:12 +01:00
Launchpad Translations on behalf of openerp a283d59024 Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131106055031-tut0ikyn2ukgc3yw
bzr revid: launchpad_translations_on_behalf_of_openerp-20131107055025-9oq3zxk6003gvt9g
bzr revid: launchpad_translations_on_behalf_of_openerp-20131108062531-oo7o57h2u1gxr3q5
bzr revid: launchpad_translations_on_behalf_of_openerp-20131110064337-vgxh4bfudb3xik01
bzr revid: launchpad_translations_on_behalf_of_openerp-20131111053813-4tykju0tdgvvgk8m
bzr revid: launchpad_translations_on_behalf_of_openerp-20131112062220-8edq183y73j5cxns
2013-11-12 06:22:20 +00:00
Launchpad Translations on behalf of openerp 08abc4345a Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20131112054140-gta82n1b3iww6qy5
bzr revid: launchpad_translations_on_behalf_of_openerp-20131031051733-nnutbi7hidixsxsb
bzr revid: launchpad_translations_on_behalf_of_openerp-20131102055746-d0emb2aocq3sq1d1
bzr revid: launchpad_translations_on_behalf_of_openerp-20131103052149-y4usleohxatdgczx
bzr revid: launchpad_translations_on_behalf_of_openerp-20131105052928-1izkptj5zusflrvb
bzr revid: launchpad_translations_on_behalf_of_openerp-20131108054204-hrtuxxze2u1ivvez
bzr revid: launchpad_translations_on_behalf_of_openerp-20131110055420-zl5ang9w8lbcvt9d
bzr revid: launchpad_translations_on_behalf_of_openerp-20131111051738-smtttsszytn06ld4
bzr revid: launchpad_translations_on_behalf_of_openerp-20131112054158-7ewd3oxiyxg8s4zw
2013-11-12 05:41:58 +00:00
Antony Lesuisse ee4c1f702e [IMP] http move db dispatching to AbstractModel ir.http
Allow module to override the http dispatching process:
- The default implementation uses werkzeug.routing but any other method could
  be used, it'a also possible to pre/postprocess (i.e. url aliases)
- Authentication (auth param on route) is plugggable by defining now
  _auth_method_<methodname>
- Error handler are overridable, any module can define a new exception and
  handle it by orverriding the _handle_<error_code> method.
- Add model converters for routes, to directly get the browse record example
  @route(['/job/detail/<model("hr.job"):job>'], type='http', auth="user")

This is done by splitting dispatching, when the db is unknown low level http.py
dispatching is used, it's only used by a few controller in base and web. When
the db is known, ir_http is used because it's a regular Model it is fully
overridable by openerp modules.

bzr revid: al@openerp.com-20131110142731-qi9910fkty25cdtd
2013-11-10 15:27:31 +01:00
Antony Lesuisse 5f9ef80d70 [FIX] make routing converters modular
bzr revid: al@openerp.com-20131110141250-myreqy8ofvpj2r0u
2013-11-10 15:12:50 +01:00
Antony Lesuisse 575376ef29 [FIX] http.py use checked_call for concurrency retry and exception handling
bzr revid: al@openerp.com-20131110140757-tbe8yondadokd4ke
2013-11-10 15:07:57 +01:00
Antony Lesuisse 7f3133e423 [IMP] ir_http better exception handling for http errors
bzr revid: al@openerp.com-20131110135739-2tmr6iynil16ooi1
2013-11-10 14:57:39 +01:00
Antony Lesuisse c396149f4f [FIX] use AbstractModel, use session.db to ir_http dispatch for none controllers
bzr revid: al@openerp.com-20131110135406-r0cyxhnve3jl8r2i
2013-11-10 14:54:06 +01:00
Antony Lesuisse afbec17f77 [IMP] model converters for routes, to directly get the browse record
example @route(['/job/detail/<model("hr.job"):job>'], type='http', auth="user")

bzr revid: al@openerp.com-20131110123707-yb3hbdqlo063dj64
2013-11-10 13:37:07 +01:00
Antony Lesuisse d50577b69d [IMP] http move db dispatching on the orm level
Split low level dispatching and high level dispatching.
Low level dispatching is used when the db is unknown it's only used by a few
controller in base and web.
High level dispatching is used when the db is known, it is used by most
controllers and it handles authentication and errors. Because it's a regular
osv object all it is fully overridable by openerp modules.

bzr revid: al@openerp.com-20131110014609-io03vspj2q1wtqa0
2013-11-10 02:46:09 +01:00