Before this change, the inmemory record was populated from values copied from the exisitng record.
It was no predictable to know in advance which values were required to correctly play onchange methods. Therefore all the values defined on the model were copied from the exising record to populate the inmemory record. The side effect of this approach was that in a lot of cases, a lot of useless values was copied leading to performance issue with computed fields.
With this change, we use the current record to call the onchange methods in an onchange context to avoid direct write to the database each time a new value is assigned by an onchange. At the end of the process, we restore the current record to its original state and return a dictionary with only the fields modified by the onchange.
* Deprecate backwards compatibility methods that were retained during v9 rework
* Upgrade API and rename a few things for PEP-8
* Switch to HttpCase for tests
* Switch to isolated build
[FIX] Updated travis postgresql version
[FIX] Updated phantom_js version in travis
[FIX] Configured travis to run tests for this module in isolation mode
[FIX] Configured travis to run tests for this module in isolation mode
[FIX] Added group to demo_user for test purposes
[FIX] Changed waiting condition on Phantom JS test
[FIX] Removed Travis configuration for isolated test environment
[FIX] Changed waiting condition in phantom_js test
[FIX] Changed target action in phantom_js test
[FIX] Changed target action in phantom_js test
* Heavily refactor code for reusability
* Split all sources into independent modules
* Add more test coverage
* Add CRUD methods
* Add iterator execute return to roadmap
* [ADD] Basic structure for the new date range module
* [IMP] Add a basic description into the README
* [IMP] Basic implementation
* [IMP] First working implementation
* [IMP] Improve datamodel
* [ADD] Add basic tests for date.range
* [PEP8]
* [PYLINT]
* [DEL] Remove unused code
* [IMP] Remove unsused dependencies into the JS
* [IMP] Better operator label for date range
* [DEL] Remove unused file
* [IMP] Better user experience by showing the select input only once empty
* [FIX]Try to fix tests that fails only on travis by adding an explicit cast on the daterange methods parameters
* [FIX]Try to fix tests that fails only on travis by adding an explicit cast on the daterange methods parameters
* [FIX]Try to fix tests that fails only on travis by using postgresql 9.4
* [FIX]Try with postgresql 9.2 since the daterange method has appeared in 9.2
* [IMP] Add a limitation into the module description to warm about the minimal version of postgresql to use
* [IMP]Add multi-company rules
* [IMP]Remove unused files
* [FIX] Add missing brackets into JS
* [FIX] Overlap detection when company_id is False
* [IMP] Add default order for date.range
* [IMP] Add date range generator
* [FIX] OE compatibility
* [FIX] Travis
* [IMP] Code cleanup and improves test coverage
* [FIX] Add missing dependency on 'web'
* [PYLINT] remove unused import
* [FIX] Add missing copyright
* [FIX] Limits are included into the range
* [IMP][date_range] Security
* [IMP] Improve module description
* [IMP] Spelling
Follow OCA/maintainer-quality-tools#187 and use addons/apt/package directive to
install our build dependencies. This allows using container based Travis builds
(which should be faster).