If the method do_enter_transfer_details is called form the new API, the context
is a frozendict and can not be updated and the previous code would crash.
Copying it before updating.
Closes#9872
The method `product_id_change` has become quite a mess with time as it
gathers a lot of onchanges. Therefore, previous commits were made in
order to prevent unwanted side effects, such as af07b2a0, 1cedcf6a and
136bd723.
This revision fixes the weight which was lost with commit af07b2a0.
opw-658712
When rounding globally, we should not round the tax with the currency rounding since it might introduce some errors.
Also add the field on the company view for user to change the computation method as they want.
* add the branding in translation mode
* change javascript to add the lang in the context (automatically removed in the rte => allow to create record and edit when use an other default language of en_US)
* avoid double saved
When creating a new event,
with just you as attendee,
then edit again the event and add someone else,
the user is twice in the attendee of the event.
This reverts the part done in `calendar.py` of revision 8483ca5
Even when you create an event for a job interview,
this is not mandatory to set yourself as attendee.
You can maybe be added by default, but you cannot
force the user to be set as an attendee of the event.
e.g. An HR officer can schedule a meeting for a job interview,
with the department manager and the job applicant alone, without
himself, thus.
opw-658528
Once set for the loading of terms for a lang,
the flag `overwrite` was propagated to all
other following languages, even if not actually needed.
Use case:
- Installed languages: en_US, de, fr_CH, it
- Update of the `sale` module
- In `load_module_terms`, the system iterates through the languages:
1. en_US: No problem
2. de: No problem
3. fr_CH: The flag `overwrite` is set to `True`,
because the sub-language `fr_CH` should overwrite the `fr` terms
4. it: The flag is still set to `True`, because of the previous iteration,
while it must not.
opw-654042
When attempting to define a goal
using a model that does not have any `inherits`
- which happens most the time-,
it was not possible to choose the
`Field to Sum` and the `Date Field`,
due to the domain set in the view
which is no longer working in 9.0.
The domain is no longer working because:
- The onchange result for a one2many for which
the value is set to `[(6, 0, [])]` is now `[]`,
while, in 8.0, the tuple with the command `6` and the empty
list was preserved
- the empty list `model_inherited_model_ids` is considered as `True` by py.js,
and therefore it fallbacks to `model_inherited_model_ids[0]`, but
as this is an empty list, it crashes.
The solution proposed in this revision solves the issue, while
making the domain applied on these fields less fragile.
opw-658892
Regression introduced in aae980b458
When attempting to use the context,
always check that it is set first.
It was no longer possible to reset a password from the login form
opw-659017
The QWeb image widget allows passing either
max_width, max_height or both, but the
controller required both.
We'll consider a 0px dimension request as
meaning: "appropriate value according to ratio".
some incoming mail containing class like "fa-spin" or "modal in" have an unwanted behavior in Odoo, incoming mail should not have
special classes, so we remove all the class that are not in the whitelist.
- display full content of messages in Discuss
- no content helpers in inbox and starred improved
- mark as read tooltip instead of mark ad done
- decrease font size in chat windows
- increase chat windows dimensions
- display avatars in chat windows
- chat window background is now white
- notes are displayed with a darker background
Clicking on this icon redirects to the client action (for now at least). By
quickly clicking several times on it, we try to restore the scroll position of
a channel that not yet exists. This rev. prevents from getting a traceback in
that case.
4b003afd0a made it so that the constructor
of an orderline calls set_quantity(). The issue is that this function
first asserts that the order is editable. pos_restaurant uses the
clone() of orderline when splitting an order, and this method did not
set order, leading to an error.
This fixes the issue by temporarily cloning the order reference, and
then setting it back to null. It's not the cleanest fix, but seeing as
how the clone() method is only used in one place this will have to do
for now.
Do not restrict followers-based alias to members of non public channels.
Otherwise you may have issues defining a public mailing list with a
subscription step. People still wouldn't be able to post on a public
channel using a restricted alias.
When using a template adding the signature, do not re-add it when posting
the message on a document. For example the Sale Order - Send by Email
templates generated two signature in the email.
This issue has been introduced when migrating mail to the new API.
When the delimiter '@' is used in the composer, a regular expression is
built in order to suggest followers. However, if this regular expression
is incorrect, it causes a crash since RegExp will throw a syntax error.
Since a new regular expression is built for each new character the user
types, this situation can occur very easily. For example, typing '@('
will cause a crash.
This fix replaces characters which may easily lead to a syntax error by
a space.
Test that when an included tax is mapped by a fiscal position, the
included tax must be subtracted to the price of the product.
Inspired from 503820acb6
When no update has been done on website, we don't have this default-lang
data/attribute. So we use an hack to find the default lang which one is
the shortest because no lang is present in the url.
Most occurences of the fullscreen feature have
been removed in the below revision:
eebdbb677fdee1163c16ec2bb967f37e1e4b69e
Only the field has been left.
This isn't allowed to go fullscreen
without a direct user click
by most browsers, for security
purposes.
opw-658838