Commit Graph

6972 Commits

Author SHA1 Message Date
xmo-odoo 511efddd02 Merge pull request #1160 from xmo-odoo/8.0-custom-models-xmo
Handling of custom models initialisation
2014-07-15 12:40:35 +02:00
Christophe Simonis a5419ca800 [MERGE] forward port of branch saas-5 up to e0759c1 2014-07-15 11:21:59 +02:00
Christophe Simonis e0759c1350 [MERGE] forward port of branch saas-4 up to de696f1 2014-07-15 10:39:08 +02:00
Christophe Simonis de696f14f8 [MERGE] forward port of branch saas-3 up to 24484c8 2014-07-15 10:38:14 +02:00
Christophe Simonis 24484c8bcd [MERGE] forward port of branch 7.0 up to 7a928b1 2014-07-15 10:36:54 +02:00
Xavier Morel b2ddda47e5 [FIX] missing part of initialization in ir.model and ir.model.fields 2014-07-15 08:56:58 +02:00
Xavier Morel 7a2961da76 [FIX] ensure all g_inner content is correctly encoded
fixes #1130

* provided `inner` data may or may not have been encoded
* `element.text` is either ascii-compatible `str` or `unicode` when
  non-ascii-compatible, which could force the decoding of utf8-encoded content
  during g_inner's join
2014-07-14 13:44:37 +02:00
Xavier Morel 7c540bc4ee [FIX] exception rendering with pretty printed XML
had not been migrated to lxml
2014-07-14 13:44:37 +02:00
Thibault Delavallée 7a928b151a [FIX] tools: mail: fixed last commit, solving an issue with the html2plaintext introduced another issue with notes. Reverting to the first version. 2014-07-11 16:21:01 +02:00
Xavier Morel 7d732b1011 [FIX] broken translation cache for absent translation of 'false' 2014-07-11 15:46:12 +02:00
Christophe Simonis 182acc9274 [FIX] base: make ir_attachment._filestore callable with kwargs 2014-07-11 14:58:32 +02:00
Olivier Dony 924e4b1a08 [MERGE] Fwd-port saas-4 up to e31fd6a 2014-07-11 12:00:42 +02:00
Olivier Dony e31fd6a1e1 [MERGE] Fwd-port saas-3 up to a9d2b65 2014-07-11 11:53:07 +02:00
Olivier Dony a9d2b65da5 [MERGE] Fwd-port 7.0 up to 783b9e1 2014-07-11 11:51:06 +02:00
Martin Trigaux 437116f3c4 [FIX] orm: custom m2m with different label
At rev 84e9a67cdf a check to avoid the creation of ir.model.relation for custom modules was added. The condition is not correct as based on the string instead of the field name. We do not have access to column name at this level but the the m2m relation table do start with x_ for custom fields (see __init__ method).
2014-07-11 11:39:32 +02:00
Christophe Simonis f654a7719b [MERGE] forward port of branch saas-5 up to 73d39a0 2014-07-10 22:49:53 +02:00
Christophe Simonis 73d39a0c8c [MERGE] forward port of branch saas-4 up to a361947 2014-07-10 22:12:16 +02:00
Christophe Simonis a361947143 [MERGE] forward port of branch saas-3 up to a35aec2 2014-07-10 22:02:58 +02:00
Christophe Simonis a35aec2a0b [MERGE] forward port of branch 7.0 up to 6e96ffd 2014-07-10 22:02:01 +02:00
Xavier Morel 19c7380951 [FIX] small potential encoding issue in custom models 2014-07-10 17:34:48 +02:00
Anand-Dharampuriya 5cbc611361 [FIX] Solve some mail issues which are currently present in 7.0 2014-07-10 16:29:54 +02:00
Christophe Combelles 0050a3f797 [FIX] #1065 display_name does not display the address 2014-07-10 14:26:38 +03:00
Raphael Collet 836245564a [IMP] models: iterating over record._cache also returns log_access fields 2014-07-09 15:34:51 +02:00
Raphael Collet 643be98fcf [FIX] models: store FailedValue in cache on log_access fields, too
This should fix an issue discovered by tde when reading all fields on a record
on which you don't have access right:
 - _read_from_database() fetches result and store it in cache
 - read() retrieves values from cache, starting with field 'create_date'...
 - ... which is not in cache, so prefetch that field, read it, which goes into
   an infinite loop

The problem is that _read_from_database() finds out that you don't have access
on the record, and stores a FailedValue in cache on all fields... except magic
fields. Fix the problem by storing the FailedValue on all fields but 'id'.
2014-07-09 15:23:15 +02:00
Raphael Collet ba5f0e7ce5 Merge pull request #1018 from odoo-dev/8.0-fix-display-name-rco
[FIX] models: wrong var used in _compute_display_name(), fixes issue #1002
2014-07-09 10:56:55 +02:00
Raphael Collet ca1be04d7a [FIX] models: wrong var used in _compute_display_name(), fixes issue #1002 2014-07-09 10:26:01 +02:00
Xavier Morel 4ac8682b52 [FIX] False module description blows up in docutils
fixes issue 1005
2014-07-09 08:47:37 +02:00
Raphael Collet 9ccdbcaca3 Merge pull request #989 from odoo-dev/8.0-sql-models-rco
[FIX] models, fields: add model dependencies for models backed up by sql views
2014-07-08 16:27:01 +02:00
Martin Trigaux 84e9a67cdf [FIX] orm: better removal of custom m2m fields
orm: do not try to create ir.model.relation for custom m2m as self._module is either empty (for custom models), either the one of the last inheriting module (which is wrong). The field should be removed manually and should not be impacted by the uninstallation of modules. The removal of the relation table can be done when removing manually the custom field (see rev 6af3193).

ir.model: when removing a model, drop the table with the CASCADE instruction. This will remove left constraints from remaining m2m tables.
This means that dropping a table (either manually removing a custom model or uninstalling a module) will not drop the relation table for a custom m2m field. This is not ideal but better than the previous behaviour (which was to fail the DROP TABLE instruction and keep the table with a few columns and unconsistent data).
2014-07-08 15:56:24 +02:00
Raphael Collet 603bde1b1b [IMP] fields: improve code in former commit 2014-07-08 15:52:02 +02:00
Raphael Collet b05cf32b8f [IMP] fields: add missing case for invalidating fields, when path is None 2014-07-08 15:47:44 +02:00
Raphael Collet 34dac62d32 [IMP] models: add an extension mechanism for attribute _depends on models 2014-07-08 14:52:23 +02:00
Xavier Morel 2f3aa63617 [FIX] compile of rst module descriptions to HTML
lxml (used by the html sanitizer) really does not like documents as unicode
strings with an encoding declaration (which doesn't make sense indeed), yet
docutils with output_encoding=unicode generates one (a stupid one too, says
"encoding=unicode").

Disable the xml declaration altogether when compiling rST module declarations
to HTML.
2014-07-08 14:39:24 +02:00
Martin Trigaux 6af3193d17 [FIX] ir.model.fields: better unlink
When droping a column, remove also the relation table in case of custom m2m field.
The relation table needs to be dropped otherwise an unremovable constraint to the targetted table is kept (and anyway is not needed anymore).
2014-07-08 13:55:48 +02:00
Raphael Collet 3fdc232352 [FIX] fields: add a type to field Id; this fixes #990 2014-07-08 13:29:45 +02:00
Raphael Collet a6b025d6d9 [FIX] models, fields: add model dependencies for models backed up by sql views 2014-07-08 10:16:16 +02:00
Raphael Collet e9fae40faf Merge pull request #976 from odoo-dev/8.0-fix-model-init-rco
[FIX] models: reorganize model instantiation
2014-07-07 20:37:11 +02:00
Fabien Meghazi c0aa86b9ab [FIX] configuration file dbfilter's option has no effect
lp bug: https://launchpad.net/bugs/940439 fixed

bzr revid: fme@openerp.com-20140508075025-yszqmzie1z4n7l4j
2014-07-07 18:08:31 +02:00
Christophe Combelles 740d5c6cd3 [FIX] Fix broken translation cache for absent translation of 'false' 2014-07-07 17:29:11 +03:00
xmo-odoo 957c0cca1c Merge pull request #970 from xmo-odoo/8.0-remove-unnecessary-listifications-xmo
Remove redundant calls to list()
2014-07-07 16:15:23 +02:00
xmo-odoo 48c16e4b26 Merge pull request #969 from xmo-odoo/8.0-fix-weakset-listification-xmo
Unsafe listification of weakref in Python < 2.7.4
2014-07-07 16:15:02 +02:00
Christophe Simonis e5b0933743 [FIX] data-dir management
- sessions are now shared between series.
- use site data dir instead of user data dir if user has no home dir.
- in http and module handling, `data-dir` was used before being
initialized, using the default value instead of user input

(fixes #308, #904)
2014-07-07 15:49:24 +02:00
Raphael Collet 09f094ff7f [FIX] models: reorganize model instantiation, which was broken when adding custom fields 2014-07-07 15:47:27 +02:00
Olivier Dony 139d868c94 [REL] 8.0 RC1 2014-07-07 15:25:42 +02:00
Raphael Collet 130f890215 Merge pull request #964 from odoo-dev/8.0-remove-getattr-rco
[REM] models: remove the magic methods signal_XXX()
2014-07-07 14:49:49 +02:00
krnkris ccc211fa51 [I18N] base: fix Hungarian translations
(Manual rebase of #956, pending update in Launchpad translations)
2014-07-07 14:36:55 +02:00
Xavier Morel efe910569a [REM] unecessary calls to list()
* Either further operations don't really care (e.g. ``str.join`` takes any
  iterable)
* Or they do their own seq (``browse`` calls ``tuple()`` on iterable params)
2014-07-07 14:01:07 +02:00
Xavier Morel ac282e0294 [FIX] unsafe listification of weakref in Python < 2.7.4
Fixes #966

* As a preallocation optimization, ``list()`` calls ``__len__`` on its
  parameter if it's available
* Before Python 2.7.4, WeakSet has a bug[0] where ``len()`` is unsafe: it is
  done by iteration and weakrefs may be removed from the underlying set during
  the iteration

As a result, the safety feature of listifying a WeakSet to ensure we have
strong refs on all items during iteration may blow up.

Wrapping the weakset in a ``iter()`` makes ``__len__()`` invisible and ensures
we're within the IterationGuard[1].

Which now that I think about it means we *should* be able to safely iterate
weaksets in the first place and may not have needed to listify them...

[0] http://bugs.python.org/issue14159
[1] http://hg.python.org/cpython/file/b6acfbe2bdbe/Lib/_weakrefset.py#l58
2014-07-07 13:51:53 +02:00
Raphael Collet 33eb3dffb2 [REM] models: remove the magic methods signal_XXX() 2014-07-07 11:50:30 +02:00
Xavier Morel 798ce97df4 [IMP] raise exception when a DB request fetches ids it was not asked for
Likely caused by a type incoherence e.g. providing an id as string when the
table uses integer ids. Postgres performs an implicit conversion from string
to integer[0], this wasn't much of an issue in the old API, whatever cache was
there would simply not be used, but because the new API's cache is part of its
behavior it has a semantic impact and can lead to infinite recursion.

[0] more precisely from quoted value, which is untyped
2014-07-07 09:59:05 +02:00