Before this revision:
* Install a module, for this example we'll use `project`
* Create a o2m field or a related field whose inverse is a field from
the `project` module.
* Uninstall the `project` module.
Result -> BOOM! The registry can't be reloaded because it can't find the
inverse field of our custom field, ayayay!!
After this revision, this shouldn't break the registry anymore because
we create two m2o fields which will trigger cascade deletes for both o2m
and related fields upon the deletion of the inverse field, these fields
are both computed stored fields and they're not shown to the end user,
this is all done "under the rug".
Task-ID: 58808
When sending emails SMTP server only requires an author, recipients and the
email to send. It does not make any modification of what is sent. It is
therefore possible that BCC content is sent.
BCC mean 'Blind Carbon Copy', the address in this field should be not send
in the header of the mail and must be removed, if not the address are visible
for all recipients.
Closes#21965 .
localhost mailserver effectively blocks the server wide smtp setting and
almost never is a sensible default in any kind of deployment.
If you just deploy an instance with smtp setting, so that you can start
inviting users without caring about mail integration so far, then this
setting does produce unexpected and awkward results.
Closes#22790 and task ID 1830779.
* [FIX] web: Make accessible with keyboard the delete button on o2m fields
Currently, the delete button in one2many fields (trash icon) is not
reachable when using the keyboard, because it's neither a link, nor a
button or any other interactable HTML element, but a `<span>`.
This change causes that button to be an actual HTML button keeping the
same appearance, so it may be reached when using the keyboard.
* [FIX] web: Modify test to expect button instead of span as o2m trash icon
Since buttons to delete records in o2m fields (the trash icon) were
changed from `<span>` to `<button>` to be able to access them with the
keyboard, the test need to be modified so it expect the new element
type and doesn't break.
Before this commit, search was broken because containsLike was searching on
the innerHtml. (3dd93ed129)
Settings use _wordHighlighter to change the background of the matching text
into the label, so the label was not only text, but html.
<label><span class="highlighter">Mul</span>ti-company</label>
: looking for (mul)
After this commit, the match is based on the text content and not on the html.
This fix avoids wild prefetching when serializing
onchange results.
We fell on a strange situation in method `onchange`, where
some data was missing from cache when serializing the
result. In that case, the prefetching overwrites so
many stuff in cache that the results of the onchanges
are lost.
Don't let that happen.
This is a backport of 5f660cd, with rco-odoo's blessing.
A use case this commit solve is
- Install the sale app.
- Create new quotation and assign new partner
- From inline editable listview add a new order line
(created the product inline) then directly save.
- Click on the order line (NOT IN EDIT MODE). This opens
the order line in a popup.
- Close the popup.
- Click edit again.
- Now change the order line description.
When unfocusing order line field, the description is reset
to previous one.
Closes#23276Closes#23277
Make sure the user id received by the RPC call is an integer
Avoids errors like #23534
Crash early in case of bad uid format instead of propagating another value
Currently some base context used for evaluation is computed when rendering
QWeb templates. Evaluation context is build in base and improved notably
in website module.
This commit adds an option to skip this context build and have a minimal
evaluation context based on given values. Purpose is to avoid having to
search and browse unnecessary content when evaluating some custom templates.
When we know precisely what we need when rendering a template there is no
need to add unnecessary items in the evaluation context.
This commit is related to task ID 1817951. Closes#23291 .
Currently crm and project parse incoming email body following an old
syntax to find some "set field - value" lines in the email content. It is
used to update the record linked to the discussion directly from the email.
However this feature is undocumented and not really supported anymore.
Moreover we don't think being able to update records from emails is a
reliable way of working. Moreover those update is limited to
* revenue and probably for leads; this should totally be managed from
the pipeline view by lead / opportunity responsible;
* priority update coming from a "priority" entry in the incoming email;
this code seems strange as priority is probably not standard in email
headers;
* planned hours for project; this should be managed by project user
and managers through dedicated views in Odoo;
Let us remove that old feature and let people use desktop or mobile
interface to update their records.
Following odoo/odoo@87c09b8 if a chart of account template with falsy
complete_set_tax is installed, the default sale and purchase taxes are
not set.
This made a enterprise step fail in test_main_flow, so this commit set
the tax on product inside the test explicitely.
especially to alter the behavior of a standard function to make it
behave like a function that is already available (defined in our
extension of jQuery).
especially to alter the behavior of a standard function to make it
behave like a function that is already available (defined in our
extension of jQuery).
When a field has a domain like `"[('foo', '=', bar)]"` and is in a view, check
that `bar` is in the view as well. Note that the check should only occurs in
editable views (form or editable list) and when the field itself is editable.
OPW 1820269
Purpose of this commit is to prevent unauthenticated access on user name
and password of the mail server. Indeed as mass mailing users notably gain
access to mail servers let us protect its credentials.
This commit is related to task ID 31737