The trailing zero are kept in the Decimal and rendered in the string
representation which is unexpected for a field with limited digits.
Closes#12587
(grafted from cfbc9e902c1d5f9bc299b536b495a98fda380369)
--HG--
branch : 6.0
If the target of the Reference field is deleted, the transaction cache is not
cleared because there is no "ON DELETE" support for Reference field. Instead
the ids are checked in the Reference.get method.
Closes#12599
(grafted from 7f25936732310704ad6296d5ab3f35e3276e2157)
--HG--
branch : 6.0
When there is no schema, the list values are not for a MultiSelection entry.
Closes#12417
(grafted from aedd6a22eabc62538664c0127739ac02acd8f429)
--HG--
branch : 6.0
Since 0db956eb2505 _changed_value is used for on_change_with calls, so it can
have to deal with unsaved Many2One value if it is the parent of a One2Many.
(grafted from 206e247e16437dc8b2f1989cc13b7e48a1d0dfc7)
--HG--
branch : 6.0
Like the one2many they should always be processed as they can have been
updated.
Closes#12474
(grafted from f45d89eb8048c28887d2e282a5dc7604bc8d9846)
--HG--
branch : 6.0
When a connection in the pool is disconnected, it stays in the pool and it may
still be served.
Using such connection raise an OperationalError and so the request is retried
but before that the connection is put back to the pool. So we may get it back
again.
It is not possible to distinct between an OperationalError due to a
disconnection or due to a isolation error for example.
So with the current design of Transaction API, an OperationalError always put
back the connection to the pool.
This main that we can only ensure that the connections served are still
connected by executing a simple query. And close connections that are failing.
Closes#12452
(grafted from f8aaf62a0c7508e3f3398e47dc2b86e6f8f06cc0)
--HG--
branch : 6.0
The rule must be enforced also when only non SQL type fields are read.
Closes#12428
(grafted from bd69f1025bca6648fd9ff11f585a60214d2bbf6e)
--HG--
branch : 6.0
If wrong variables are used to call gettext, the formatting may raise a
ValueError. It is better to not fail for such minor error when not testing.
Closes#12371
(grafted from 47809a507263c47b927c318750f22499adecd036)
--HG--
branch : 6.0
A call to clear_all is required after the commit in order to ensure that the
transaction uses an empty cache from this point. clear_all is not required to
prevent the deadlock on ir.cache because the rollback ensures that nothing
changed from the point of view of this transaction.
Close#12343
(grafted from 48396d9cfed6caccb3fca6d981fec5016a1f6ca2)
--HG--
branch : 6.0
When exporting data of a xxx2Many field, the column to skip should be based on
the child field names instead of the exported value (which can be 0 for
example).
Closes#12316
(grafted from a91e1a9f95ca2b22d4ce5372b1753999d03aa8af)
--HG--
branch : 6.0
User application request has an Authorization header so an Authorization
instance is returned but it can not be used for login.
Closes#12312
(grafted from 0a4e13728c0a9bb24536cb1033d95ca6749a2b9d)
--HG--
branch : 6.0
Since Werkzeug >= 2.3, it always tries to parse the Authorization header as a
digest. If the session value which is encoded in base64 needs padding, the
trailing `=` are interpreted as header values and the token attribute is not
filled.
In this case we must parse ourself the Authorization header to decode the
base64 value as session.
Closes#12259
(grafted from 0bd0b8a0e20ad8d2f3d13cc8d879c78717817b7a)
--HG--
branch : 6.0
As the cache is rollback to avoid dead lock, the transaction commit could
restore cache version that is no more valid.
For example the language cache of `ir.translation` which is filled initially
with only English and then reset when other languages are created by the `ir`
module. So at the end of `ir` module load, the cache is reset to contain only
English as it was the content before the first cache reset. This prevents to
load any other language from other modules.
So to ensure the next module is loaded using a fresh cache, all the caches are
cleared.
Closes#12246
(grafted from 5f14ca66744e53cd1d6200dfd569c2dca19f99c6)
--HG--
branch : 6.0
The werkzeug refactoring always return an Authorization instance.
If the type is our custom 'session', we must parse the token attribute.
Closes#12234
(grafted from 7fd0bb7e6864bdf3fa83fafb17262316fded5b0c)
--HG--
branch : 6.0
The sequence functions are using string parameters so for case sensitive
sequence name we must pass a string containing double-quoting if necessary.
Closes#12194
(grafted from ceb3118cd35511412d7cf8f2eae6c1891cf5f47a)
--HG--
branch : 6.0
When the reference field is validated (without check access), it should not
fail for SelectionValidationError if the user has no access to the resource.
Closes#12178
(grafted from 1bb024e29dfae1cbb0487b1f66d325f3bb0059fa)
--HG--
branch : 6.0