The recomputation of a field `name` on `recs` is done roughly like this:
for rec in recs:
rec._write({name: rec[name]})
The effect of this patch is to group records by value `rec[name]`, and to
update records in batches like:
recs.write({name: val}) # rec[name] == val for all rec in recs
As a consequence, less queries are issued to the database for updating records.
This improvement is very effective in the case of migrations!
The effect of this change is to trigger the recomputation of fields on larger
recordsets. This takes advantage of batch computations within compute methods.
As procurement_jit has been optimized (by running multiple procurements at once),
it does not make sense to still have a module that without it, does not generate Pick > Pack > Ship
automatically, but only Ship. We can do it anyways.
That way, the procurement_jit module can become clearer in its functionality to the user: when
a sale order is confirmed, it will automatically reserve the picking from the stock location (in case of MTS)
and people who don't want that functionality can still immediately have the Pick > Pack > Ship.
Make sure also push_apply works with manually created pickings.
In 5efac22043 and
1cf5723835 the computation
of the decimal precision of float fields was modified to
reuse a random cursor from the request environments.
Environment.envs is a WeakSet, subject to unpredictable
garbage collections.
This could cause hard-to-diagnose problems by executing
a SELECT query in a cursor that is supposed to be
otherwise idle and untouched.
As an example, this could cause a transaction start in a
cursor that was just committed/rolled back,
and was waiting for another operation to complete.
One such case happened semi-randomly during a module
installation triggered from the web client, where the request
cursor is committed and waiting for the registry
initialization done with a different cursor,
in the middle of _button_immediate_function()
After the registry initialization, the request cursor is
used again to determine the next action (ir.actions.todo),
and this could cause a TransactionRollbackError if the
request cursor was used during the initialization.
Using a new cursor every time is much safer, simpler,
and will not cause any significant performance hit,
because it will usually grab an available connection
from the connection pool, rather than create a new one.
Fixes opw-649151
The function field `volume` and `weight` on product.template were not
recomputed correctly.
The function field `standard_price` should not be stored as it's based
on a property field. Add a search function on it.
This reverts commit 1c81d601c9.
This fix was not useful anymore since the previous commit fixed
the problem for context forwarding for:
formview -> m2m_kanban -> record creation (formview dialog)
Contexts in formview which contained parent.[some_field] were not able
to be evaluated when creating a record from a many2many_kanban because
the parent view was not given to the creation dialog.
Sphinx.set_translator is a Sphinx 1.3 API, and we only require Sphinx
1.2 at this point. Replace the use of set_translator with explicitly
setting the ``html_translator_class`` config setting.
small fix in example for creating a request
DB_SOURCE was not defined. FILENAME was to be used.
Also reordered the fields so as to have the most important ones at the
beginning.
* alter docstring of @api.one to mark it as deprecated for 9.0,
recommend using @api.multi instead
- deprecation notes were not correctly styled, add styling
matching "warning" alerts
* move @api.one down the doc page to deemphasize it
* fix "backend" tutorial to remove all instances of ``@api.one``
closes#8527
This method generates many queries on:
- `ir.module.module`, to known whether a given module is installed;
- `ir.actions.act_window`, to know whether a given action exists.
Add a cache for both cases. The number of queries is reduced by 90%.
- Fixed the module name and category in manifest
- Fixed website_form_blacklisted being ignored
- Unauthorized readonly and magic fields
- Reset the form on successfull submit
- Added missing date field
- Added date and datetime validation
During the upgrade, the 'tax_group_id' field on 'account.tax' model cannot
be created because it needs the 'account_tax_group' table which is not
yet created.
Moving this class above the AccountTax class solves this problem.
Move the project kanban_selection widget out of h1 and make it as
direct child of form sheet. This allows to put it on the right of
oe_title no matter what (+ enterprise compatibility).
For some strange reason, two CSS rules had different priorities between
firefox and chrome (which forced chrome to always display published and
unpublished at the same time).
The chosen solution is to change the value of the button in published/
unpublished instead of toggling and relying on CSS classes (with this
method, the DOM looks better too).
There was also duplicated code in website for assets_backend.
* When you click on activities from today, this week or overdue, you now get the correct filters in search view.
* Put emphasis on the whole cell when the target is reached