The manifest loaded l10n_chart_china_standard_business_chart_data.xml but this file no longer exists in Odoo.
Changed to the new XML file.
Closes#15841Fixes#15840
The customers' Tax ID (VAT number) was printed next to the shipping
address *and* next to the invoice address, when both were present.
And when the shipping and invoice addresses matched the customer
address (so neither was printed), the Tax ID was not printed at all.
Simplify this and always print it next to the customer's address,
where it belongs.
During the refactoring of Purchase, the method '_prepare_order_line'
available in Odoo 8.0 has been lost. It's therefore no more possible to
extend this method to covers use cases where we need to provide
additional data to the stock moves created from a purchase_order_line.
This restores the functionality thanks to the method
`_prepare_stock_moves`.
Closes#15842
- Create an expense of 0.00, validate
- The expense can never be set as paid since it's not possible to create
a payment of 0.00.
An expense of 0.00 still makes sense in the following use case.
An expense is paid by salary before the expense is actually made, i.e.
I get 1000 EUR to redecorate my homeoffice, I get the money beginning of
the year. After that I want to book expenses against the initial payment
until the 1000 EUR is gone and I would like to make use of the expense
workflow to approve the costs.
opw-710695
When forcing another language that the current one (the cookie one) in an
url, the requested lang wasn't set correctly in redirect url, but the
cookie was, resulting in multiple redirect which ends with initial lang.
A side effect of this error was the inability to edit website page when
default lang is not en_US and user not in default lang.
The request context must be reset before being used by
`request.redirect` (in `url_for` method).
When setting an event tracks like this:
- Track 1, 10:00 to 10:30 Room A
- Track 2, 10:30 to 11:00 Room B
- Track 3, 11:00 to 11:30 Room A
In the agenda of the event, on the website, the Track 2
was displayed as in the Room A, while it should be in the Room B
opw-715480
The former URL took way too many steps to resolve
`www.odoo.com(odoo-odoo-odoo)`, more than 1 minute
according to the case, and it stucked the web client
(the entire browser actually),
and it ended matching the whole sentence as a link,
included `(odoo-odoo-odoo)`
This new regex is much simpler, resolve the above case,
and does not match `odoo-odoo-odoo` as part of the link
opw-715797
this increases performance, reason is because when saving a res.config.setting, even if a field has not changed,
they will be updated and this might trigger recomputation, and so on...
Problem here is that when writing a currency_id to the company, all moves are impacted due to the
company_currency_id which is a related stored field. And saving the settings in accounting can be
pretty slow if we have lots of move. This fix reduce the time needed to save settings by not
writing currency_id on the company if the value has not changed.
In method `_check_delivery_resupply`, `new_location` is used in a
`write` call. This expects an integer (id).
However, `new_location` is the result of `_get_input_output_locations`,
which returns a recordset.
opw-716141
When changing partner_id on an invoice, the fiscal positions with auto_apply=True,
must be checked to apply the right one.
To have the same behavior as in 10.0
Backport of this commit: 4b11e3e3a5
opw:715511
A lot of methods are designed to work with pure datetime objects as args. If
the value comes from the database it will be rounded at the level of seconds
(0 microsecond). If it comes from a call do datetime.now() / datetime.utcnow()
the datetime object has a value != 0 for its mircroseconds attribute. Therefore
some methods have unpredictable results depending of the origin of the values
manipulated since the microsecond argument is missing into all the calls to
datetime.replace
Closes#15768
Correct several issues with the automatic pricelist creation:
- multiple creation of same pricelists because company not set on new pricelist
- avoid creating pricelist if currency did not changed or if we already have a pricelist with the same currency
- improve name of new pricelist
In the method `xml_node_to_string` in `qweb2.js`,
which is used when extending XML templates,
such as this extend of the template `PaymentScreen-Paymentlines`
the method `(new XMLSerializer()).serializeToString(node)`
magically escapes the double quotes `"` in Internet Explorer and Edge,
while this is not the case in other browsers,
therefore converting, for instance,
`this.removeAttr("class");`
to
`this.removeAttr("e;class"e;);`
whhich made the rendering of the template fails.
As this method is quite critical, we do not dare
editing it to use an alternative to `XMLSerializer.serializeToString`
in a stable release
Instead, as a workaround, we just avoid the use of the double
quotes.
opw-708296
- Install accounting module
- Create new tax, keep note of its ID
- Go to Settings > Technical > User-Defined Defaults
- Change the value of 'taxes_id' to the ID of the tax created
- Create a new product => crash
The issue is that the value of 'taxes_id' is saved as a string, not as a
list. Therefore, once retrieved, it crashes.
opw-709906
When deleting an hr_timesheet_sheet.sheet, the linked analytic lines are
dropped too.
This was introduced in 8.0 at 5f45e7ca
The initial bug, reported at #5326, was targeting the analytic lines created
independantly, directly from the timesheet encoding.
In version 8, the timesheets were encoded via project.task.work and the unlink
on the hr_timesheet_sheet.sheet had no effect on the works.
In version 10, this model no longer exists and it needs to be filtered to avoid
removing independant timesheets.
Fixes#15741
Since revision
731356a155
and the fact `mail.mass_mailing.campaign` inherits (with s)
from `utm.source`, and the name of the mass mailing
is took from this `utm.source` linked to the mass mailing,
a mass mailing user requires the write access on the model `utm.source`
to be able to change the subject of a mass mailing.
As a side node, I notice there is no group applied on the
base `access_utm_source` access rule of the module UTM,
meaning a portal user can create `utm.source`.
I am not sure if this is wanted or not.
opw-710525
During installation of demo data and while running tests, the
system should not actually connect to a real SMTP server.
This allows installing new demo/test databases on a system
with no working SMTP server.
Simplifies the code and makes sure we are calling the connect()
method in the same way we do for normal deliveries, and that
all parameters are processed in the same fashion.
When procurements are created, they are automatically run. Avoid this
behavior, to run all procurements at the end of the process and used the
optimized JIT behavior.
opw-710007
When procurements are created, they are automatically run. Avoid this
behavior, to run all procurements at the end of the process and used the
optimized JIT behavior.
opw-710007