The dictionary `_group_by_full` is replaced by a field parameter `group_expand`
that is assigned to the method name. The API of the method has been simplified
as well:
@api.multi
def _read_group_stage_ids(self, domain, read_group_order=None, access_rights_uid=None):
# the stages are given by self.ids (wrong model);
# read_group_order is the order given to read_group() on self;
# return stages.name_get(), {stage.id: stage.fold)
_group_by_full = {'stage_id': _read_group_stage_ids}
is now written:
stage_id = fields.Many2one(..., group_expand='_read_group_stage_ids')
@api.model
def _read_group_stage_ids(self, stages, domain, order):
# stages is a recordset;
# order is the order to use on stages' model;
# return a recordset which is a superset of stages
When a modal was opened, the system seemed slower because a web_tour
callback was called every 500 ms.
This was because of jQuery. Using the "find" method on a jQuery element
will temporary set an ID on this element for some jQuery reason. So,
when a modal opened, a DOM mutation was caught by the web_tour observer
which then called the "update" method in which a $modal.find
is done... and so an ID was set and a new DOM mutation was caught again.
The solution here is to provide an unique ID on each modal in odoo so
that the find function has not to set an ID, and so does not trigger
any DOM mutation.
When increasing the amount on a confirmed purchase order line,
an extra move is created in the incoming picking.
When the purchase creates the moves in the picking on confirmation, it takes into account
the procurements that triggered the purchase order and creates a move for every procurement.
This is necessary in order to make the next steps ready.
With this commit, when you increase the quantity, it will take into account the amounts of moves
already created for a procurement and not link the new move with a procurement if not necessary.
This case can be tested by confirming the PO with less than foreseen by the procurements and increasing
the amount afterwards. (which is more of a corner case, but it is good to do things right)
The dashboard must be visible for non-'group system' users, hence
the sudo call + only display the link to modify the client id
if the user has sufficient access rights.
Small visual correction for live users counter in the dashboard.
PURPOSE
=======
A lot of customer are struggling with the fact that from the SO lines their users sometimes type too fast the product name and end up by creating or selling products that are simply mistakes.
Only the sale/manager, subscription/manager, purchase/manager, mrp/manager, warehouse manager, event/manager, pos/manager and invoicing person should have access rights to create and update products.
SPECIFICATION
=============
Remove create and write rights on product_product, product_template and product_price_history for stock users and move these rights to the subcited apps managers
The dashboard instantiates an action manager for each view it has to display.
It then replaces the do_action() function of those action managers by its own
one, forgetting to pass the second argument 'options'. Thus, when do_action was
called by a view of the dashboard (e.g. a button in a list view), it was called
without the options.
Purpose
=======
Settings "Warehouses Management" menuitem is only available if 'Manage several Warehouses, each one composed by several stock locations'. How can i edit my single warehouse if i choose 'Manage only 1 Warehouse with only 1 stock location'?
Same for locations
Specification
=============
Always display warehouse and location menuitems but display the 'Create' button according to the following use cases:
Settings "Warehouses and Locations usage level" in following condition:
1) Manage only 1 Warehouse with only 1 stock location
- Warehouse no create, just edit in form view.
- Location no create, just edit in form view.
2) Manage only 1 Warehouse, composed by several stock locations
- Warehouse no create, just edit in form view.
- Location create and edit both.
3) Manage several Warehouses, each one composed by several stock locations
- Warehouse create and edit both.
- Location create and edit both.
This is linked to the previous commit.
This commit adapts the widget extension and backend controller of
the website admin dashboard to prevent a crash if the user does not
have sales rights.
This is linked to the previous commit.
This commit adapts the widget extension and backend controller of
the website admin dashboard to prevent a crash if the user does not
have sales rights.
The Website Admin dashboard displays graphs for sales, analytics,etc.
using a (somewhat easily) extensible js framework.
Unfortunately, this framework is ACL unaware, meaning that it will
completely and silently crash if you are missing any of the required
access rights.
To solve this, extensions must now specify not just a graph name
but a necessary group for it and set the value for this group in
the extension of the backend controller.
This commit also
- make the icon visible for the group 'Website Designer and Editor'
(not juste the Settings group, which is extremely restrictive)
- make the button to set the Google API key only visible to people
with sufficient access rights
Makes it easier to later reconcile payments with
bank statements. For eCommerce orders the payment
transaction happens before the creation of the invoice,
so the invoice number is not sufficient to quickly
find a match for reconciliation.
When looking at the opportunities report for a commercial, we want to see all the opportunities for him (lost and current)
A lost opportunity is set as inactive. So we should display the active true and false.
This will improve the onbarding of project and the usability in general.
Project: When creating a project a small modal opens with one or more fields, and you have to click on it just to type the project name.
Usability: one many2one (and others), when clicking on "Create and Edit", the focus is set on the first field.
This allows to import acccount.move.line via csv and provide the field 'tax_ids' (which is needed for the tax statement).
This option is now a context's key, replace the key 'dont_apply_taxes' which was now useless
The system was lost with the editor refactoring which came with saas-10
and commit bf39884a5c.
Indeed the show() method of the BuildingBlock class was removed as the
widget is now always showed but the show_blocks() method it called was
not removed (and thus was not called anymore).
As a fix, the show_blocks method is now called again, on snippets
initializations and each time a snippet is dropped or removed.
The quantity event handler is not correctly unbound when its action
is deleted, resulting in multiple window.prompt asking the quantity
of the products if you go mulitple times trough a view when a widget
implementing the barcode thing is used.
There seems to be a bug in the framework ("barcode_scanned" events
are registered the same way than the "keypress" one on core.bus
but they don't have suffer from the same issue).
Uncheck use tasks and/or use issues and/or allow timesheets
all links are still available from the kanban
timesheet is available from the form view
tasks and issues hidden in the form view
NB: allow_timesheets was defined in timesheet_grid, but it should be standard in hr_timesheet
The .dropdown is in a .btn-group environment while a .btn-group can
only contain .btn or .btn-group elements.
This induced problems where the m2o options covers the full overlay
environment, preventing clicks on the customize dropdown.
When an onchange return a NewId for a many2one, the expected result is
a False value.
It appear for computed many2one that can return currently created
record like `res.partner.commercial_partner_id` field.
* Do not read multiple DOM data on each scroll. Simply read this when
necessary (edition / initialization).
* Throttle scroll event and debounce resize events (-> performance in
edition and navigation improved).
* Do not save useless data in the DOM.
* Have the parallax state consistent if the page undergo other changes
* Simplify DOM structure and LESS
- Allow to better see how to place snippets inside the area
- Before this commit, default parallax had different height on
chrome and firefox
Currently some customers receive the automatic notification 'Quotation
viewed by customer'. This should not be the case as this notifciation
is purely internal and should only be sent to the quote responsible.
Notification is now a note with the responsible being directly in the
recipients.
Conflicts:
addons/website_quote/controllers/main.py
Backport of 14f07cb96f
opw-687957