This view was intended to extend the tree view of mrp.bom, not
mrp.bom.line. Nonetheless, the view mrp.mrp_bom_tree_view which is extended here is a
view for a mrp.bom.line, and there is no tree view for a mrp.bom.
So this extension has no meaning anymore and seems to have worked only
by accident...
linting views.js revealed some problems. Most of them minor, but
some of them more serious: redeclared variables in if clauses can
shadow the outer variable, or not. It is fragile, and will cause bugs
if the code is refactored.
Remove old source_id
Use hr.recruitment.source to generate link with utm and create
alias with default value for utm
[FIX] crm/utm: Fix bug with utm (ddac26cdbb)
Move demo into data
Move ir_http to save the utm in the dispatch
- simplifed name of vehicle model; the name is now the model name; the old function
is used to compute the name_get.
- added Suzuki data
- parent of a cost is now hidden except for technical group, because it is the
same as the vehicle
- fixed some vehicule -> vehicle typos
context and no specific order, order on limited leaves then on remaining leaves.
This is usefull for users having their normal leaves being displayed in top of
the list (legal leaves, compensatory leaves, then sick and unpaid for example).
Also updated the name_get of holidays status, displaying (remaining leaves /
max leaves) instead of (taken leaves / max leaves). What is important for
users is the number of remaining leaves, not the number of leaves already
taken in that type.
Also updated and reindented demo data (compensatory is now limited + order
of declaration due to this change).
Previously to this fix, url matching the same base url were linked to
the same shortened url: foo.be -> /aaa, foo.be/bar -> /aaa/bar instead of
a new shortened url.
Attendees are created and deleted on changing the quantity from the cart.
Added sale_order_id and sale_order_line_id fields on registrations, allowing
to find the order and the order line that created the registration without
to rely on origin and ticket.
Also fixed check_auto_confirmation, now in multi mode to avoid issues due to
the specific behavior of api.one.
With a config like
[options]
addons_path: ~/foo,
~/bar
'~/bar' was interprated as '\n ~/bar' and is considered as a local directory
by os.path.abspath
Fixes#4403
Add the corresponding content type document instead the default content type.
This allows browser to detect the type of file being downloaded.
Fixes#1225
Allow more complex evaluations (e.g. using time) in domain of ir.ui.menu.
Move _get_eval_context to ir.actions.actions for basic context elements.
opw 603382
For related models, check if we can write to the model, as linking
or unlinking attachments can be seen as an update to the model.
Courtesy of Vincent Vinet
Closes: #1035
It starts an interactive Python console. If a database is provided, with the
`-d` argument `env` is bound to an Environement with the uid and context of
SUPERUSER_ID and `self` is bound to a RecordSet of the corresponding res.users.
Courtesy of Daniel Reis, reworked to be a bit more agnostic.
Command class is moved from __init__.py to command.py to improve imports of
__init__.py
Introduction of a specialized InvisibilityChanger for the notebook. It
allows to handle more elegantly the issues of the notebook during
page execution: modifiers hiding the active tab that must now
active its sibling.
Process_notebook only handle the processing of the page while
NotebookInvisibilityChanger only handle the behavior of the notebook
during the page execution.
- readable code (more readable, at least)
- correct handle of autofocus
- rendering of the whole notebook in one call to qweb's render
- one invisibility changer bound by header/content
- no custom css, only legacy bootstrap
jquery's `replaceWith` function behaves differently between 1.8 and 1.9.
This function is used by `renderElement` of the Odoo widget API and, when
called on a template with multiple root nodes, will fail to replace the
whole original nodeset by the new but instead will replace every node
by the new nodeset.
Sample:
1) Suppose a DOM containing
<div>1</div>
<div>2</div>
and a jquery nodeset [<div>1</div>, <div>2</div>] referring to the
previous DOM part in a var named $oldel.;
2) suppose another jquery nodeset [<div>3</div>, <div>4</div>] in $el;
$oldel.replaceWith($el) will result in
"3434" in jquery 1.9.1
"34" in jquery 1.8.3
This issue particulary concerns us when the dom of a widget is not wrapped
into single tag and when re-calling renderElement (triggering replaceElement).
The fix is to wrap the element to be replaced ($oldel in the example) behind
a div before calling replaceWith.