This reverts commit 7e6ad941cf.
The domain makes clear that the location to be chosen in is among the children of the location zones chosen in the picking. That way, if the stock would be calculated in the past (e.g. also for the stock valuation report), the system is going to think it is maybe still internal, while it went out, ..., so those domains are crucial.
Since the merge of the two modules 'web' from enterprise and community
it was impossible to scroll in the side menu and in the main content
of a community database from Internet Explorer 10 & 11 but it is working in
Edge.
This was due to missing css 'height' attribute on the '.o_main' class
that should be set to 100% for IE to let the flex elements know the
size of their parent.
This was introduced in rev https://github.com/odoo/odoo/commit/977db823c
partners for the vendor_id field on purchase.requisition (purchase agreement)
form view was not restricted to vendor partners. Also added default values for
on-the-fly creation.
in _get_domain_locations_new
if no locations the domain gets extended by nothing so we have a domain ending
in '&', '!']. This method gets called by opening the Products app, so it was
possible you couldn't open it due to this error.
If an user stores malformed HTML code in a *translatable HTML field*,
the ORM won't prevent it (this could be a fix for master as it breaks
existing behaviours) and it could be rendered anyway by browsers.
When reading/prefetching the record, the translation function was
crashing because malformed HTML is obviously malformed XML (the
translation function uses XML internals).
This fix will return the source value as a fallback if the HTML field is
malformed (and thus not translatable) + log the error.
The source was outdated and the source in the po file did not match the content
of the email template which made duplicated translations when reloading the
terms.
or at least the first part
many terms are missing which may cause problems when the source in the po file
is different from the source in the xml file (duplicated translation when
reloading)
Add the account_tax_exigible module
Following 5c5d0865b9, apparently unused records
are simply deleted after updating existing ones. This causes an issue when a
module is installed or upgraded. The inspection of `ir.model.fields` records
is based on a *partial* registry (not all modules loaded); therefore records
will be deleted and recreated afterwards. This triggers inconsistencies in
other models that refer to `ir.model.fields`, like server actions, base action
rules, mail templates, etc.: many2one fields will be set to null!
An issue originally occurs in the Event module.
- Go to Events >> Reports >> Events
- Add a "Group By" in the search view: "Event Month"
- A mighty traceback pops up
This is because the rows and the columns are grouped by the same field
(`event_date:month`).
In method `_read_group_format_result`, a group_by of type "date" or
"datetime" is replaced by a "(range_start/range_end, label)" tuple. The
first element of the loop on `annotated_groupbys` is handled correctly,
but the next identical element will crash on `value + gb['interval']`,
since `value` is now a tuple and not a date/datetime anymore.
opw-686242
There is a hackish feature in the web_editor which forces the
contenteditable to true on links which are clicked and removes it
anywhere else in the page so that only the link is editable after
click. This allows to add text at the end of a link without adding it
outside of the link by mistake.
The feature was badly implemented because, if the link was editable
without having any parent which is editable, the contenteditable was
forced to true, then immediatly forced to false when forcing to false
every page element. This was the case for lots of t-field. By example
the product categories in eCommerce are t-field links which are in non
editable <li/> elements...
When we are on the page:
/blog/myblog-1/page/2
the link to page 3 is:
/blog/myblog-1/page/3
So we need to give /blog/our-blog-1 as source url of pager.
Previously in this instance, since 4faed0b7 the page 3 url
in this scenario would erroneously be:
/blog/myblog-1/page/2/page/3
opw-688681
Tree view was removed to hide the different view types display in enterprise as it was "cleaner" for a dashboard. Re-adding for import button.
Future versions will not display departments as dashboard but employees anyway.
Since the below revision:
32b5515a8f
It was no longer possible to create a payment
for a pos order without picking.
Indeed, if `picking_type` is not set,
`picking_id`, which is initialized to `False`,
remains as `False`, and you therefore can't
ask it's `.id` (`picking_id.id`).
opw-687597
If the title was 'true' or 'false', the export failed, because we are tying to
concat bool and str. TypeError: cannot concatenate 'str' and 'bool' objects
How to reproduce, install sale, be sure to have one order with delivered = True
In Reporting / Sale analysis, add a group by 'shipped' filed to have 'true' as
title.
This commit closes issue odoo/odoo#13425
When a custom field is created, it now appears in `ir.model.fields` on the
model's children models (by `_inherits`). This makes the reflection more
accurate (inherited custom fields are visible), although not perfect (they
appear as "base" fields and thus cannot be overridden).
The reflection of fields in `ir.model.fields` has been improved to deal with
custom field creation, modification and suppression.
Note that custom fields are still not inherited through `_inherit` relations.
opw-687626
opw-645065
When a pad is created programmatically (e.g. through a project task or a
note), the pad is empty when it is first displayed. It is necessary to
edit the record and save it in order to be able to see the content.
This is because the pad is normally initialized by the JS layer, at the
first edition, thanks to a call to `pad_generate_url`. Therefore, a
programmatic pad creation won't initialize it.
opw-685826
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.