In ee0caa246 we solved some issue when a field was used in a "group by"
filter, but was not considered "groupable" (which does not resolve
related field in their related model to see if they fit the bill).
This was fine, but this has to be also taken into account when these
group by are applied to columns, which is possible by switching x and y
axis.
opw-647401
In 9.0, the currency field on the statement is
no longer `currency`, but `currency_id`.
This is an oversight during the forward port
6a306a03be
opw-658101
This is related to the revision 2e66c489e3
`xmlid_to_res_id` doesn't have a `context` argument,
trying to do a call with this `context` failed.
A simple attempt to anonymize the database raised the error.
opw-657858
When testing a mass mailing before sending the mailing
to the contacts (which well, is always the case),
the local links were not replaced by absolute links,
and the override done on the method `send_get_email_dict`
to convert the link `/unsubscribe_from_list` to the actual
unsubscription link was not working, as it relied
on the absolute link.
opw-657982
In sales dashboard, when there is no sales team, the no content message is displayed next to the dashboard.
The class o_kanban_ungrouped adds style to avoid this problem.
Credits to @qsm-odoo.
When clicking on "Add to Cart" button(a link in fact) with an
inactive variant in the Shop, the button must be disabled.
As "Add to Cart" is a link, the attribute "disabled" had no effect
on.
opw:657967
When the tasks are disabled on a project, we have this block order
Documents -> Issues
It's annoying because the documents view opens when we click on the
card if only the issues are enabled and documents have been posted
When a make to order product is sold, a purchase order is created or added to an
existing one. In the second case, the origin of the sale order was lost.
It is now added to the existing source.
opw 656688
Some fields were available in the invoice form view for portal
users, that they are either not supposed to see, or they do
not have the access rights to see them.
opw-657900
After this commit was introduced 4a72a70302 , When you click on validate with invoicing enabled without customer,
the popup for select a customer open and immediately we switch to the receipt screen, that gets rid of popup.
In this commit we print the receipt after invoice process done in backend when validate an order with invoicing enabled so that it's work like before.
In some cases the Referer HTTP header may be missing or
stripped by a proxy, browser extension or anti-virus.
This breaks debug mode because it was solely relying
on the Referer header.
Introducing an explicit X-Debug-Mode header for RPC
calls allows for an alternative method that works
even when the Referer is missing.
This won't work in all cases, e.g. for direct $.ajax
calls, for example.
Closes#9824
The user timezone wasn't respected in the events name.
e.g. for a user with timezone UTC+1,
for an event
from 12/01/2015 00:00:00
to 12/02/2015 00:00:00
The dates in the event name were set to
(2015-11-30 - 2015-12-01)
while it must be
(2015-12-01 - 2015-12-02)
opw-657962
We have a tax_ids_after_fiscal_position field on pos.order.line that
contains the mapped taxes. We should use that to create the account
moves. Otherwise the Point of Sale will create unbalanced journal
entries.
Fixes#9815
This data file is required when making HTTPS requests
with Python's `requests` package. Without it, modules
such as account_yodlee/account_plaid won't be able
to call their secure API.
+ minor refactoring (3 strikes and the code is out)
It was impossible to make a partial reconciliation with several lines.
Each time a new line is proposed for the reconciliation, the previous
partial reconcialtion is canceled. The partial reconciliation can just
be proposed on the last selected line when:
self.get("balance") * (last_line.debit - last_line.credit)<0
For a simple employee (meaning, not a HR officer),
it wasn't possible to view past timesheets.
Indeed, the "Weekly" menu opens the current timesheet,
and the menu "Timesheets to approve" is available only
for HR officers.
opw-657860
Port revision 70287d4 to 9.0
When creating missing translations on an object (e.g. using blue flag icon on a
field), the value of the module was not set.
This was problematic as could create a duplicated translation when the module
was updated or the translation reloaded (as the module is used in find_expr).
opw 654036
The onchange of the project field
removed the default partner loaded of the task
if there was no project set on the task, or if the
project was not associated to a specific partner.
There is no obvious reasons to do so,
and the revision 3fe06da634
introducing the regression doesn't explain why
it has been done. At first sight, there is no reason.
opw-657876
When selling a product with a dropshipping route, the available stock was
checked and a warning got raise if it was the case.
The _check_routing was not working properly as is called in a context of an
onchange and 'self' was the record in the database, not in the browser.
Just use check there is a dropshipping route on the product instead of checking
it on the routes of the sale order line (not reliable info anyway).
Add a todo for master to improve it to change the signature of the method.
opw 657760
When a translated term is modified (e.g. content of an email.template),
reloading the translations of the module (e.g. when updating the module) used to
recreate a new, duplicare translation for the modified term (instead of ignoring
the existing one).
This was due to the fact the matching expression (find_expr), when loading
translations, used the field 'src' (source term) as criteria for (almost) all
ir.translation records.
While this is true for type 'code' or 'selection', this is not true for 'model'
where the source content may have been changed.
In case of translation of type 'model', matching on the name and res_id should be
enough for the matching expression and then, avoid creating duplicated
translations.
Note: this patch must NOT be present in 9.0 due to the xml_translate
attribute that splits an xml content into small parts.
opw 654031
When creating missing translations on an object (e.g. using blue flag icon on a
field), the value of the module was not set.
This was problematic as could create a duplicated translation when the module
was updated or the translation reloaded (as the module is used in find_expr).
opw 654036
* blacklist all fields by default
* don't use blacklist in get_authorized_fields which is called to see if
a field can be added to a form, instead only use it afterwards to see
if the field can be written to by the formbuilder. That way
formbuilder can whitelist fields which are actually added to forms
on-demand resulting in a more secure interaction
In noupdate, the opt-in setting is ignored by migrations and breaks the
corresponding feature. If the feature is undesirable, don't install the
module.
Stages are now shared by default between sales team. As the sales flow should
be quite the same whatever the sales team, stages are now shared and not
sales team dependant.
The possibility of customizing the flow by adding stages specific to a sales
team still exist. Stages have a team_id field that can be set in the stage
form, in configuration. However this is not the default behavior. A stage
is either common to all sales team, either specific to only one sales team.
This is why there is no team_ids field anymore, only team_id.
Moreover leads do not use stage anymore. A lead is either alive or archived.
The type field on stages is then removed, as all stages are now used in
opportunities only.
A small hack has been introduced in crm_stage default_get. Indeed when going
from the pipeline, creating a stage with a sales team in context should not
create a stage for the current sales team only. Therefore unless specified
in the context, default_team_id is discarded in the default get context.