When creating a stock.picking, the related fields picking_type_entire_packs and
picking_type_code were both updated.
This was an issue was required write access on stock.picking.type (warehouse
manager) to create a stock.picking (warehouse user).
The fields were updated as they were present in the view and filled with the
related value. Even if the value was unchanged, it was triggering a write
anyway.
The two fields were in invisible="1" and used only in attrs for other fields.
Making these two fields in readonly does not prevent to use it in the attrs but
avoid to send a value to the server and trigger a useless write.
Fixes#15769
Currently the manager fields have this meaning:
* manager_id: employee that approved the leave first;
* manager_id2: employee that approved the leave secondly;
It makes no sense. Furthermore, on the Leaves Dashboard, when you group
by Manager, you group by first approver, which is also a nonsense.
This commit improves the behavior
* rename manager_id and manager_id2 into first_approver_id and
second_approver_id in order to understand their meaning
* add a stored related field manager_id, readonly to avoid modifications
on the employee
* modify the views to only display the real employee manager, the other
values are not valuable on the views
* in code regularly a manager variable is used but is actually the
current employee; a renaming is then applied
When an input is saved with an invalid value, it gets the
`o_form_invalid` class. This makes the border red. In enterprise, there
was a bug as required inputs have also a different border color and the
rule was more important. Unfortunately there is no avoiding
the !important rule here. Indeed, other solutions would require to make
more rules in enterprise or to change the order of files (which would
create many problems).
Setting a max-height on the tags section is not a good idea ; this
causes the tags to overlap the record.
If something (like a text) is put in the section instead of the
tags, the height is not correctly adapted.
In the kanban view, if we try to group by a selection field that is
not defined in the arch, the key will be used as column name (instead
of the string).
A fix has already been pushed to load all the fields in this case
(see 0e6eb96) but these fields were not correctly used in this
particular case.
As the product.packaging model is used for two different business cases,
the views shown when the model is used for product packaging must only
contains a product_id, barcode, and qty because and when it's used for
delivery packages we must show the carrier, barcode, size and wheight.
So for usability purpose, we have made two different views explicitly
called in each use case.
If the company currency is not active (that should not happen but nothing
prevents it, probably happening with some CoA installation), the variable
company_currency_format is undefined and an error is raised.
Closes#15799
When a sale order is created from the interface, the name field is read-only so
not given in the create call.
However, if the create values are filled with the default value, the string
'New' is translated and the condition is not met in the create method.
This commit makes the create consistent with the default `lambda self: _('New')`
Fixes#15839
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
Sometimes, there is a need for mass mailing "basic" mails with no
image or style. The "basic" theme is designed for this (note that
there still is the possibility to add style and images, default
images are just gray placeholder).
- 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).
Improve thank page after the application to a job.
Stop duplicate Magic field, using global fields
Add helper method on website to retreive the last created record
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
PURPOSE
=======
Import button in list view only, its confusing for first time user.
When people start using Odoo first thing they try to import contacts or products.
Specificaion
============
Import button should be display in kanban view also