The VAT declaration produces an error when uploaded to the official
website. Although the structure is correct, the "Representative" and the
"Declarant" contain the same information, which is not consistent.
opw-702066
Both store triggers on reconcile_ref are triggered by the same condition,
but seen on 2 tables different, but they always happen together, so no
need for both.
On regular Odoo, the only problem is the performance: the write operation
is performed twice, but on a system with connector or other parallelization
technology, this provokes lot of concurrency problems.
This fix allow to keep the same behavior of 8.0 and 10.0 to manage the assets.
In 9.0, the field account_income_recognition_id(oldname='account_expense_depreciation_id') has been
deleted from the account.asset.category.form view with 6120babb45 and
then it was not possible to manage the assets like in 8.0 and 10.0
But as this fix is in a stable version, it must be compatible with instances without any upgrade
of the view account.asset.category.form.
This issue has been solved in saas-11 with this commit: eb8d4aaa59
opw:703860,702265
When you are connected as a portal user, you can access to the list of
company users when you try to create a channel of type "Direct Message".
This is caused by a SQL request that doesn't check the access rights of
the user before returning the list of users.
To fix this, we check that the user can create a mail channel, before
returning partners information.
opw-704127
When you are connected as a portal user, you can connect to the
backend of Odoo and if you go to your discuss app through the '@' icon,
you can list the employees of the company by mention a employee
This is caused by a SQL request that store in cache the employee
list to minimize requests when mention. The problem
is that those requests don't take into account the rights of a user
to read employees information.
To fix this, we are taking the group 'base.group_user' and read the
information of its users, the 'read' is respecting, the access rights of
the users, and so the employees names, are ont shown anymore to portal
users.
opw-704127
- Go in Events > Events
- Create or modify an event
- Add a ticket to your event, and try to change the product -> traceback
The field `event_type_id` does not exist on model `product.product`. It
has been removed in commit 7f97a64091.
opw-704838
Before this commit, website needed to be installed to edit
a HTML report because the context `inherit_branding` was not
correctly passed.
Credits to @sle-odoo
If node is not installed (missing dependency), the user is not aware of the
source of the issue as it can not be displayed in the css_errors or logger.
The error is
/usr/bin/env: ‘node’: No such file or directory
which contains unicode quotes.
Does not fix#15057 but at least say the source of the problem.
When a journal item duplicated, the matching number is duplicated as
well. This will create inconsistencies in the information displayed to
the user, and moreover it will not allow to reconcile the item anymore.
opw-704902
When a journal item duplicated, the matching number is duplicated as
well. This will create inconsistencies in the information displayed to
the user, and moreover it will not allow to reconcile the item anymore.
opw-704902
Since saas-10, you can customize the background size and position
of snippets. The "contain" option was not working for the s_banner
components as overridden to "cover" by the snippet specific style.
On a picking, the UoM of the weight is the default UoM for the weight
category. However, weights in Odoo are always considered to be
kilograms.
This might lead to inconsistencies between what is displayed on the
picking and what is printed on a shipper label.
opw-702564
`set_multi` uses the company of the current user.
As the property is created in sudo, the company of the admin may be different
than the one of the current user.
Before this commit, setting a different pricelist on a partner when logged in a
different company than the admin, the change had no apparent effect (was
creating a property for the admin's company).
Set `force_company` in the context to always set the one on the current user.
set_multi ignores if the same as the global rule to avoid bloating the table.
Closes#14984
The witdh and height auto has apply on image, when the mass_mailing
clean_for_save is called, the image is considered as invisible because
the with is temporary null.
opw-692805
- Y axis : according to 12 hour or 24 hour format
- Event title : following time format in preferenced language
NB: The conversion from 'A' to 'TT' to match fullcalendar v1 should be
removed when fullcalendar is updated to v2, as the syntax will change.
See : http://fullcalendar.io/wiki/Upgrading-to-v2/
Backport of commit c1d813ec1c
opw-704237
In commit 40bd4a2f05, the counter-part account is made selectable and
required when changing the price of a product.
However, the same wizard is reused for the "Compute from BOM" feature,
in module `product_extended`. This forces the user to set an account
even if the product valuation is not "Perpetual (automated)".
In this commit, the field becomes required only if the product valuation
is "Perpetual (automated)".
opw-697866
*street fields should be editable only if we modify the main partner address
*creating a res.city through the m2o should has default country and a domain
By default, the default warehouse of a sale order is the first warehouse
of the company of the user creating the sale order.
In the case of a sale order created from the website,
the user who is creating the sale order is the superuser,
a.k.a the administrator.
There was a big issue in the context of a multicompany database,
with an administrator changing of company:
the sale orders coming from the website would suddenly change
of company, which is wrong.
This was even more severe when the admin changed to a company
which had no warehouse defined:
It was then impossible to create the website cart, as no default warehouse
was found, while the warehouse is a required field on the order.
This revision ensures that the cart / sale order is always created
under the website company
opw-704557
This commit moves some code in order to compute all values of taxes from the tax template in _get_tax_vals(), to allow easier overwritting in localization. Courtesy of David Arnold. Was PR # 14982
The price suggested thanks to the "Compute from BoM" button only takes
into account the price of the products listed in the BoM lines.
In v9, there was a "Recursive" option that provided the possibility to
compute the prices of all products implied in the BoM, recursively. This
option has been removed since it was leading to a "black box" behavior
that was unclear to the users.
However, limiting the price computation to the BoM lines only is too
restrictive since it doesn't even take into account the phantom BoMs.
By using the `explode` method, we have access to:
- all products not manufactured
- all products manufactured which are not kits (phantom BoM)
It means that the cost of manufactured products (not kits) should still
be computed before the product itself.
opw-697866
When a product template UoM is different from its BoM UoM, the price
suggested thanks to the "Compute from BoM" is incorrect, since it doesn't
apply the conversion rate between the product template UoM and the BoM UoM.
This is because we try to fetch the product UoM through the BoM. However,
if the BoM is not specific to a product.product, the field bom.product_id
is empty.
The issue is introduced by revision
d465346f1e
Raphaël actually meant
`res_ids = data.mapped('res_id')`
Indeed, there is no `res_ids` field on `ir.model.data`,
but there is a `res_id`.
In addition, the same code is written correctly in the method
just above this one, `_object_find`
opw-704592
In 07bf7bf4f3 a fix was introduced for windows server UTC timezone.
It is possible it would be helpful in some situation to also have it in
setup/odoo (for example if odoo was installed on windows in some other
way than the Installation bundle).
opw-693764
Up to now, there was no possibility to format a date
within a specific language, such as the customer
language. The date was always displayed with the format
YYYY-mm-dd.
(There was for the datetime, thanks to format_tz, but
not for a simple date without time)
This revision adds this possibility, but doesn't change
the according email templates
(such as the invoice date on the invoice email template)
as it would require to update all translations, in
the .po files and on transifex.
If a user absolutely want this, he has to add
the call to `format_date` himself, manually.
opw-704260
With the previous condition, the `final_date`
was not recomputed when the number of repetitions
(count) was changed alone, without changing `recurrency`
(nor with other fields, such as start/stop date)
This revision makes sure to recompute the `final_date` when
there is a change in the number of repetitions without
changing the `recurrency` fields, when the event is recurrency
and the end type is `count`
opw-703812
The double inversion introduced by 6e063188 is done to catch default 0
values.
For example '>= -3' is transformed in "NOT what is found by < -3".
There was an issue with '> 0' and '< 0' since in these instance 0 don't
match and the inversion must not be done.
opw-703929
If the user enters an incorrect grouping format, login won't be possible
anymore since the web client will crash when parsing the field value.
For example, "[3, 0,]" will trigger the issue.
Complement of commit 5959c41631
opw-704388
Mixing the use of btn-xs and btn-sm was not good for design.
This commit use btn-xs for "add a filter" and "edit domain"
buttons to improve elements alignment.
The "in_dialog" option of the domain field was not working correctly
when the field value was falsy as it did not consider it to be
"[]" in that case (as it is done without the "in_dialog" option).
Same goes for the dialog which displays the matched records.
Some domain fields are initialized with a model which depends of another
form field value. Sometimes, this value is False and the domain selector
cannot be used during that time (and was even performing useless RPC).
Now, in this case, the field domain is fully replaced by a message
which explains that a model have to be set. If you don't want this
message to be shown, you still have the possibility to not show the
field domain when there is no model thanks to the "invisible" attrs.