When modifying a BoM that is used in a MO not done, raise a blocking
warning to avoid inconsistenties at production.
Proudly pair programmed with pim <pim@odoo.com>.
Some mrp tests has been adapted to not raise the new error. They used
demo data while they should created inside the test.
This commit is related to task id : 1855566
Since we got 2 constraints checking the same
thing (one python, one sql), it is better
to remove the python one, which is not
very performance friendly in case of huge
import.
When importing big amount of data, user can import
a list of uom. There is no constraint in Odoo to
force the factor to be equal to 1.0 for the reference
UoM in a category.
Onchange is not enought to ensure that constraint,
so this commit adds one in SQL for data intergrity
and to avoid problem in '_compute_quantity'
method.
Since the employee is not required on a timesheet, and that
the employee implies the uom, and that the UoM is required
for the timesheet unit amount to be included in the delivered
quantity of a SOL, we now deduce the uom from the company of
the AA, and not from the company of the employee anymore.
Rev. 241704536d highlighted a bug in the Kanban RecordQuickCreate
widget, when a form view is used inside the widget.
Let's assume a quick create form view with a char field. The user
fill in this field and press 'ENTER' (without focusing out). The
record is about to be created. But first, we have to ask all fields
to commit their value (through 'commitChanges'), in case they
wouldn't have yet. The char field thus notifies its parents of its
new value at that moment. The form controller handles this request
in its '_applyChanges' function, but this is done in its mutex (to
prevent overlapping onchange RPCs). Unfortunately, this leads to a
deadlock as the quick create form controller already executed the
'commitChanges' request in this mutex.
Actually, there is no need for the quick create form controller to
execute the 'commitChanges' request in the mutex, as it is already
properly mutexified upstream. This rev. thus remove the use of the
mutex at that spot.
Note that before rev. 241704536d, the bug didn't occur because the
'commitChanges' function of InputField didn't return a deferred,
and thus the mutex was unlocked directly.
To be complete, let us mention that there are still some
concurrency issues with the quick create widget (like multiple
records creation on double clicks or double 'ENTER' keypress).
Those issues will be tackled in a future commit.
Task 1878977
For example: I want to consume a component A if the product is grey OR yellow.
Currently,the component A will be consumed if the product is grey AND yellow. But this variant never exists as grey and yellow are values for the same attribute. So if the values are for the same attribute, odoo should check for a product that is GREY OR YELLOW (and not GREY AND YELLOW).
TASK-ID: 1865604
When coming from project form view, the user can see
the list of timesheet. Before this commit, the employee
does not appears in the columns, which makes the view
less usefull for users.
- "Balance in GL" renamed "Balance in General Ledger" on dashboard
- "Entries to review" button on dashboard adds 'draft' filter by default
- streamline hover effect of 'import statement' option with other bank journal buttons' on dashboard
- better look for l10n_eu_service setting
Was task 46188
Was PR https://github.com/odoo/odoo/pull/22698
This commit changes the account move line description created
by changing the cost of a product where inventory valuation is
'automated'. The new message contains the user name, the price before
and after.
Task Id: 1860578.
The product.template form view lists all product.packagings containing it.
When we create a new packaging from the product. We don't need to specify
and display the product again.
Task ID - 1862041
Currently if the user want to apply the stock after manufacturing push
rule, he has to select manufacture rule on the product. That could be
easily forget by people not used to rule and route.
In order to avoid the push rule will be applied on warehouse. That means
the user don't have to select the route on the product and it will apply
depending the warehouse.
The pull rule stay on the manufacture in order to avoid confict with
reception route/rule.
Before this fix, the list grouped did not render correctly when
the list was not selectable and there was 1 or 2 fields (the sum in the
footer was not aligned on the correct column)
Also fixed the fact that the group pager was not displayed if the list
had only 1 field and it was grouped
the tour was directly stepping to step2 without waiting for 10s due to empty run function. This was resulting in some random in the build depending on the speed
needed to display the widget.
Create an inventory adjustment and select an inventoried product, the
inventoried product should be the only product selectable for inventory
lines.
Task: 1861241
The odooBounce (previously openerpBounce) function has been fixed many
times over the years. Each time breaking the layout a different way
after the backend was redesigned.
It is time for the proper fix: no more JS animation relying on jQuery,
instead: a CSS animation. Let's try a bouncing outline instead of a
bouncing button for a change.
When an IoT box is configured as IoT box, it will
send all the information about itself and its devices
to its server. This way the server knows which ip and which
devices are on the iotbox. Reports and in the enterprise
version quality points will be linked to devices.
In the module iot, the models and the controller are defined for this.
There is also a javascript part with a widget for taking
a measure and the possibility to link any report with a printer device.
The edition dropzones for the bottom of the main content and the top of
the footer content are at the exact same locations.
Until commit https://github.com/odoo/odoo/commit/514722d783d504151b6b835375de036eda88279f,
when trying to drop a snippet there, there were two cases:
- The user drops a snippet above/below the location -> the snippet
is added to the main content (as the code searches for the nearest
dropzone, and always return the first one in the DOM if several are
found).
- The user drops a snippet around the location, seeing a snippet preview
-> the snippet is added to the footer content
With the mentioned commit, the second case changed: the snippet is now
also dropped in the main content. While this is more logic, there is
no way to drop a snippet in the footer anymore. Adding a border on top
of the footer content solves the problem for now (as the dropzone will
now be at 1px different location).
Before starting a JS test/tour the _wait_ready method evaluates if the
test is ready with a timeout of 10 sec. From times to times, it happens
that the page is not ready after this timeout but the problem is hidden.
In order to help fixing that kind of issue, the timeout is increased to
60 sec and a warning is logged to emphasis the fact that an
issue exists.
Also some unused imports are removed with this commit
Sometimes, two dropzones end up at the exact same location (if two
oe_structure are somewhat siblings for example). Before this commit, in
this context, if the user hovered that location with a snippet, then stopped
hovering that location, here is what occured:
- the snippet preview is dropped after the zone 1 and the zone 1 is hidden
- the snippet preview is dropped after the zone 2 and the zone 2 is hidden
- the snippet preview is removed and the zone 2 is shown again
- ... the zone 1 is forever hidden
After this commit, the snippet preview can only be dropped once.
It was easy to mess with the footer unintentionally when dropping
snippets in the page. Now we only allow one "main" snippet in the
footer, solving the problem.
Dropzones between columns were displayed vertically, they were detected
thanks to their 'float' property. With BS4, columns are not floating
elements anymore, they use flex. So the code had to be adapted.
The method `plan_hours` does nothing if the `hours` parameter is equal to 0.
This commit adds the 0 case in the logic, and add an optional `resource` in the
parameters.
Example: A workorder works each days between 8am and 4pm. If we call
`plan_hours(0)` at 9pm, we want to get 8am the next day. Currently, it
sends back 9pm.
Before this commit, a hack existed consisting to send a very small value to
`plan_hours`. The holidays and non-working time were taken into account and the
result was rounded to the second. We can now send explicitely 0 and the
non-working hours will be skipped.
Restore and adapt test added from rev[1] and lost during the forward
port because the code was changed at [2].
Note that the original bug is fixed because we now have a produce line
by move line, so we can set the quantity done correctly acrosse the
reservation.
[1] f0028bc837
[2] 2678eba0be
The following line is necessary to prevent the scrollbar to appear on the textarea on Firefox when adding a new line if the current line has just enough characters to completely fill the line.
This fix should be fine since we compute the height depending on the content, there should never be an overflow.
TODO ideally understand why and fix this another way if possible.
Task: none
PR: none
-Some tests where moved without addapting the path to them:
path is now update and tests fixed.
-A picture was removed in commit 4dce6cc98b but
still referenced in template website_twitter_snippet.
-A test was missing a data leading to the wrong path to image beeing loaded