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
Usecase to reproduce:
- Create a receipt for 1 dozen.
- Mark as todo
- Unlock and update initial demand to 3 dozen.
The reserved quantity on move line is 36 dozen.
It happens because reserved_availability and product_qty are
compare. However reserved_availability is in move UoM and product_qty
is in move's product UoM.
This commit clean the code in order to compare field that use the same
UoM.
Close#26504
- If a CDN is used, this might cause issues for images that need access
rights to be display.
This is due to the fact that users are not connected on their account
under the CDN domain, which makes the CDN requests reject since it is
not authorized to access to those resources.
-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
This commit fixes two issues:
1. No error when running several mocked service providers in tests
Revision on https://github.com/odoo/odoo/commit/eea2366fd2b8398a6c8022f24adb722e5e16a6f4
In the commit above, the intent was to turn off the logic about
"Service Provider" in the tests environments. To do so, it was
mocking the methods to deploy services (`_deployServices`) and
the method to dispatch service calls (`_call_service`).
However, this was not enough, because such a mocked service provider
still tracks undeployed services. This is an issue in case there are
several mocked service providers running at the same time, because it
will raise an exception:
https://github.com/odoo/odoo/blob/master/addons/web/static/src/js/core/service_mixins.js#L24
Note that the tracked services are globally known by all services
providers, because the properties `services` and `UndeployedServices`
are objects that are set in the definition of the mixin.
To fix this issue, the `init` method of the `ServiceProviderMixin`
should not do anything on mocked service providers, so that they act
as if there were no service providers at all in the system. In
particular, those mocked service providers will not make changes on
the shared properties `services` and `UndeployedServices`.
2. No running services on top of benchmarks
The web client on top of the benchmark suite was not mocked in a way
to turn off the "Service Provider" logic. Similarly to the JS test
suites, services should not influence the execution of benchmarks.
Closes#26519
Since we correctly compute the height of the field, we don't want to let the user resize it vertically.
This was already working on Firefox because it doesn't require the field to be in the DOM to read the resize attribute, but Chrome does require the field to already be in DOM.
Task: 1869469
PR: #26518
With this commit now user can set custom meta image from the seo dialog. If the
user sets such image then it will be displayed when the user shares that URL in
social sites.
By default, it will show the list of images used in the current page.
Alternatively, user can use media dialog to select/upload images. By default, it
will take the company logo as a meta-image.
We also improved how custom meta tags are handled for different pages, Now we can
set custom meta tags based on the model and we can override '_default_website_meta'
method in case you want to change default meta values from the specific model.
e.g. For products displayed on the shop, if we want to change the value of
og:image to product specific images instead of default logo
In future, it will be used to add model specific metas like og:price, og:currency
We passed 'website_company_id' in frontend session info because we display
company logo in dialog for all pages. We can't use /logo.png as it is not
updating in multicompany and multiwebsite.
task id: 1835370
Closes: #25430
Purpose: databases with lots of stock moves (3M+) can experience
slowness
when computing quantities on hand and forecasted.
Before this commit, the domains built to compute those quantities from
stock_move contained (state not in [done, cancel, draft]). Done and
cancel states represent around 95-99% of stock_moves in a normal
instance. So selecting all stock_moves then removing done and cancel
ones if truly less efficient than taking directly the 'waiting',
'assigned', ... moves especially that the state in indexed in database.
After this commit, the domain is build with :
(state in [...]) with other state than 'done, 'cancel' and draft.
This commit is related to the PR 23030. Thanks to all people that have
took part of the conversation and florian-dacosta for the commit
The test of reporting is executed in the same currency
then the company (USD as default). But in the demo data
there is a bad currency rate converting USD into USD
with a rate of 1.5289.
This commit removes the confusing currency rate
in order to make the test running in a more
stable environment.
Before this commit, a textarea inside a one2many would only have the correct size after focus or on change.
When we select a line, we want all of the textarea of the line to have the correct size even if they are not directly focused.
Task: 1869469
PR: #26430
Before this commit, a textarea would not resize when its value changed if the event was different than "input" or "focus".
This commit fixes it by also listening to the "change" event, and by triggering it at appropriate times.
PR: #26430
Task: 1869469
The box-sizing property was not correctly taken into account.
- content-box is the standard behavior: border and padding are added after the height
- border-box needs attention: border and padding must be included into the computed height
Task: 1869469
PR: #26430
In a one2many, pressing ENTER or TAB from a required input (of type text or char) that is on the last editable column of its line would fail to navigate to next line.
The issue was that the validation of the required field would happen before the change to its value was actually applied.
This commit fixes it.
PR: #26430
Task: 1869469
The pdf_viewer widget has been moved from mrp to web in rev. odoo/odoo@a7b521f
but the corresponding style was still in the mrp module. It's now put in the
right place.
Closes#26449
- tab not showing: fade animation was causing the issue.
- redirection to home: button instead of anchor to avoid
redirection to target href
Task #1878160
This commit is related to enterprise commit that replaced mail_push.
It is about:
[MOV] ocn_client: Odoo Cloud Notification for mobile push notifications
odoo/enterprise@7587be4663
Indeed counters are impacted by code located in enterprise because
those are "maximum queries" counters.
As ocn_client is an auto-install module enterprise runbot would
be broken if the counters weren't updated.
* social_media
- Remove action server demo (out-dated and buggy)
- Remove website app / themes app actions (useless)
- Move demo social media to the social_media addons
- Use same contact us page for demo website 2
- Improve edition of contact us and about us pages by using snippets
as default contents
- ...
Add effective date on maintenance equipement. The purpose is to define
when the equipment is put into service.
Adapt next preventive maintenance according to effective date
Task id: 33188
Before this commit, if import from tests directory was not in the __init__ file,
it was not possible to launch it with --test-file cli.
Now we only check in test directory if file exists.
This commit closes#26500
Since 960360a, when computing badge stats, a datetime was compared to a
string leading to a traceback. e.g. when clicking in employess >
badges.
Also, due to a typo, the compute method was assigning the stats result
to the wrong attributes. e.g. 'stats_my_this_month' instead of
'stat_my_this_month'.
With this commit, the above mentioned issues are fixed and a test is
covering these issues to avoid regression.
The links without href attributes, have a different style, so we cannot
differentiate them from non clickable text. So we set the href attribute
and prevent the default behaviour of the link in js.
TASK-ID: 1873101