[FIX] 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
[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
[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.
[MERGE] base: invalid currency for Venezuela, courtesy of Nhomar (Vauxoo)

Country data is incorrect for Venezuela, the country currency is VEF not VUB (the old ones) wich technically is incorrect too because it was VEB.
[FIX] base: invalid ISO code for former Venezuela bolivar - ISO 4217 says VEB

XML ID is preserved for compatibility, will be updated in trunk.
Launchpad automatic translations update.
Launchpad automatic translations update.
Launchpad automatic translations update.
[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
[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.
[MERGE] Forward-port of latest 7.0 fixes up to rev 5136 rev-id: odo@openerp.com-20131120100627-031fljyf4ckprc9b
Merge branch 'master' of bzr::lp:~openerp/openobject-server/saas-2 into ocb-saas-2