of unactive records. The chatter now uses a correct read_ids (no need
to have a search set), with an active_test in the context allowing
to read on unactive records.
This avoids breaking shortcuts on Firefox, which rely on keypress
events instead of keydown / keyup. The tradeoff is that a barcode
cannot be scanned and interpreted if ctrl, alt or cmd is pressed.
Also don't catch function keys.
BarcodeEvents uses the fact that a barcode usually ends with \n, \r or
\t - and never contains it - to stop buffing keys as soon as such a
character is inputted instead of waiting x milliseconds.
This functionality was an attemps to fix the chair-to-keyboard
interface in the PoS. Since it is not a standard behaviour, it
must be explicitly requested.
In order to remove an eventhandler, removeEventListener must receive
the same function reference that was passed to addEventListener. So
the handlers references are kept as attributes of the class.
If the module barcodes is installed, a BarcodeEvents singleton is
automatically instanciated. It listens to keypresses and, when a
sequence of keys represents a barcode, it broadcasts a 'barcode_scanned'
event on core.bus containing the barcode string.
- Remove domain (only search context)
- Set correct default values for both template and variant when creating a bom
when coming from a product variant from
- Reorder views per model and per actions
- Remove dead views and actions
- Flatten configuration menu, only the resource submenu is kept
- Rename mrp_bom_tree_view to mrp_bom_line_tree_view (no other xmlids where harmed in this commit)
- Add a view mrp_bom_tree_view for bom list with name and product variant when group_product_variant is enabled
This causes issues when people delete the Website Sales team. The
website_sale module already adds a salesteam_id to website, which is
configurable. So instead set that to website.salesteam_website_sales by
default and use it in both website_sale and website_crm.
Before this request.registry.get('ir.model.data').get_object_reference()
was used to grab the event_sale.product_product_event record. After
deletion of this product get_object_reference() would still return the
old id, which upon usage would throw a MissingError exception.
So to fix this, bypass the registry caches by using just
request.env.ref().
When creating an automated action the filters created for them showed up
in everyone's search box, which often times was confusing and not really
useful.
The methods for getting the quants took a lot of parameters,
as in most of the cases (only exception being the negative
quants reconcile) the parameters depended on the move/pack operation
being processed. By just passing the move and ops the code gets simpler.
There should also only be one place where most of the domain for searching the quants
based on the move/ops is calculated.
- Google sync was dropped with new design
- Use new API alert/confirm dialogs
- The user was able to click on the button... by clicking next to it
(remove the button template, create it in JS)
- Fix some exceptions in routes
- Convert CSS to LESS
- Update google tutorial
(google_calendar module needs some improvments, especially to give
meaningful error messages to the user when the google server sends
back errors)
- Contact filters were dropped with the new design
- The 'me' filter was not working correctly (wrong colors)
- Remove some useless/unnecessary code
- Use new API confirm dialogs
- Convert CSS to LESS
Since rev. 16eb36ff, do_show() and do_hide() on widgets toggle the classname
o_hidden on which the rule 'display: none' is defined, instead of calling
jQuery's show() and hide().
The method do_toggle(), sharing the same logic, has been introduced in rev.
74c5f772.
From now on, every widgets should call do_toggle() instead of $el.toggle() as
it will have undesiderable effects (they should call do_show() and do_hide()
instead of $el.show() and $el.hide() as well, this as been done in 16eb36ff).
This rev. replaces all calls to $el.toggle() by do_toggle(). It also adds
an optional argument to do_toggle() to force hidding or showing the widget.
When clicking on the breadcrumb to come back to a previously loaded action, the
restore() function is called. With this rev, this old action is shown only once
the Deferred returned by the optional on_reverse_breadcrumb callback is
resolved, i.e. when the action is ready, as it should be.
When a location is marked as return location,
upon a return it can be put it in the possible return locations,
when it is in the same warehouse or under the same parent location.
The push rules are also applied on returned moves now, but
only when the push rule does not return the return to the original location
The lot in the return line is removed as it does not make sense
(better to change it on the pack operations)
and the views are cleaned
The returned picking is also automatically reserved.
can lead to issues when trying to compute followers.
This case appears in the onchange mechanism. Indeed it may
manipulate temporary and/or new records, not having an
ID. In this case the computation of followers is not
necessary anymore.
- Use the ControlPanelMixin in the Import view;
- Adapt the stylesheet to fit with both community and enterprise editions;
- Convert the css into less, use mixins and variables defined in web;
- Return the reload() deferred in the on_reverse_breadcrumb callback so that the
previous action waits to be properly reloaded before being shown.
Refactoring of the DOM structure and classnames of the list view's action
buttons (in the control panel), for new design compatibility. This refactoring
was required as some addons shared between both editions (e.g. base_import)
define their own buttons and extend the ListView.buttons template to insert
them.
this way we can style the div and use the trick to have the child of a
flex-item filling 100% of its parent (flex item in relative position and
flex child in an absolute position). It is needed to have a consistent
look betwenn Odoo enterprise and Odoo community.
Showing only the taxes from the same company. Beware that multi-company as
adminstrator is not supported, anyawy this mitigate some of the possible errors
if it happens anyway.