Rename 'Serial Numbers' menuitem into 'Serial Numbers / Lots'
Move Ugly Unpack button on the header in stock.quant.package form view
Remove doublon menuitem for action 'product_uom_form_action'
The template had been previously dropped by mistake.
+ the validation buttons were not correctly handled and so changing
his password was not possible (these buttons must be in the modal
footer).
The pricelists used in the website shop was cached as a list of records. When
retrieving this information in another request, the records are broken, since
their cursor has been closed! Fix it by storing record ids instead.
For fields with `translate=True`, translations are considered for all languages
except `en_US`. However, for xml-translated fields, translations must be
considered for all languages (there exist `en_US` translations for the terms.)
When a payment method is created, the field check_sequence_id is defined
only at the time of the create (_create_check_sequence). This method
fails since the check_sequence_id is not created yet.
X Application(s) becomes just Application(s) on the kanban card in order
to be coherent with other kanban views
When computing a job documents, do not include documents from already
hired employees, only applicants in the pipe.
The settings views are now using radio buttons which are using labels.
These were set to bold by bootstrap. Now force font-weight normal for
labels which are not labels inside an oe_form_group_cell_label (field
main label).
Writing frequently to master data, and particularly to res.users
records is dangerous because it can temporarily delay/abort
concurrent transactions due to FK locking/serializability
heuristics. (Even with PostgreSQL 9.3+)
The `login_date` field updated when a user is authentiocated
is still useful but better handled in a separate table that
exclusively receives independent INSERTs (no UPDATE/DELETE).
This minimizes the chances of transactional conflicts.
This commit moves the login_date info into a separate
`res.users.log` table for this purpose, replacing it
with a related field. The user and login date info are
automatically handled by the magical fields (create_uid,
create_date) in `res.users.log`.
The related field must not be stored because that would
create the same problems as the original field.
In order to cleanup redundant entries in res.users.log
the 'auto-vacuum' cron job used for TransientModels was
extended to be a generic "internal data vacuum cleaner",
and now takes care of this as well.
The code for updating last login and vacuuming was split
up into smaller methods to make extensions easier.
Fixes#8585Fixes#8590