- Set up as a shipper with the highest priority one which will cause an
error (e.g. service not available for customer address)
- Order a product on eCommerce, go to Payment page
- No delivery amount is set
- Change shipper to one which doesn't cause an issue
- The delivery amount is set
- Switch back to the shipper with error
The delivery amount stays set, while it should change back to zero.
Every time we update the carrier, we automatically remove the delivery
line. One will be added back if the rating succeeds. Moreover, we update
the prices even if the rating doesn't succeed. Since the delivery line
was removed, the price will be updated without delivery.
opw-1838765
- Set up as a shipper with the highest priority one which will cause an
error (e.g. service not available for customer address)
- Order a product on eCommerce, go to Payment page
- The 'Delivery' amount (next to the total/subtotal) is not displayed
- Change shipper to one which doesn't cause an issue
The 'Delivery' amount is still not displayed.
The amount is displayed if there is no issue at first rendering of the
page, but never re-evaluated afterwards.
The 'Delivery' amount is now displayed if there is a shipper on the
order.
opw-1838765
- Set up as a shipper with the highest priority one which will cause an
error (e.g. service not available for customer address)
- Order a product on eCommerce, go to Payment page
- The error "Ouch, you cannot choose this carrier!"
- Change shipper to one which doesn't cause an issue
The error is still displayed.
The error is displayed at first rendering of the page, but never
re-evaluated afterwards.
There is no other choice than removing it. Anyway, in the opposite case
(default shipper is OK, and then select one which causes an error) the
error doesn't appears.
opw-1838765
When the runbot spawns an Odoo instance, a CPU TIME limit is set.
When this limit is reached, the kernel kills the Odoo instance and no
message appears in the logs leaving the dev in a deep smoke cloud.
With this commit, the signal sent by the kernel when the soft
limit is reached (SIGXCPU), is intercepeted and Odoo shutdown gracefully with a
nice message for the dev.
a696f84f1f adds a few extra fields to the
Private information tab of the employee form. As a result, HR personnel
and employees could reasonably expect these fields to be protected in
the same manner as the other private fields. Make it so.
Cherry-Pick of odoo/enterprise@533db05b5eFixes#18610
The transfers are either 'planned' or 'immediate' but the process are sensibly the
same. This commit separate clearly the two possible pickings (with a new boolean field)
and simplify the view of immediate ones. This kind of transfer is pretty straightforward
so only the 'Done' column remains and the text stays written in black.
At the creation of a manufacturing order, the default values for product_qty
and uom is respectively 1 and the product's one. We now use the the values
given by the bom
On purchase orders, the scheduled date is mantadory. This date is computed from
the purchase order lines and hidden. If there is no purchase order line, the date
stays empty and it's not possible to save the PO.
This commit uses the order date as scheduled date if there are no PO lines
This patches fixes the untested and broken draft of inetd and systemd
activation support in the threaded server.
This patch also fixes the loss of the process environment in the
`_reexec()` function when Odoo is respawning during the following events:
- SIGHUP signal is received
- one click install has been triggered
- code reload needed when using `--dev=reload`
Since the renaming/split of model hr_holidays, the report does not
contain fields `manager_id` and `second_approver_id` anymore, hence
using the filters was crashing the client.
When creating a new company, the fields customer/vendor location
were empty.
Now, these fields are set with the internal transit location for the company
of the partner and set with Partners Locations/Customers and Partners Locations/Vendors
for the other companies.
opw:1845753
This commit hide the column source location if the type is incoming and hide the
destination one if the type is outgoing. When picking type is 'vendor' then no
need of source location. If picking type is 'custmomer' there is no need of destination location.
This commit is related to task ID 59417
This commit remove force_assign method in every tests of point_of_sale, purchase, sale_mrp,
sale_stock, stock and stock_account . This method is not longer used since V11.
This commit is related to task ID 59417
This commit change the validate button in stock picking. It's now primary only when the
picking is in ready stage. Before this commit, this button was primary on waiting stage too.
This commit is related to task ID 59417
Since revision f6144fe1f3,
the decimal accuracy for the product quantity in
the picking operations report was no longer applied,
leading to display a bunch of numbers after the comma
in some cases.
e.g. 15404.000000000002 Unit(s)
opw-1846723
Since revision 4acec418ce
it was no longer possible for an accounting adviser
to create taxes.
This is because when creating a taxes,
as the related field `hide_tax_exigibility` wasn't readonly,
it attempted to write on the field
`tax_exigibility` of the model `res.company`,
and the adviser do not has that access right.
There is no reason for this field not to be readonly,
as it is used only to compute an invisible attrs
for the tax form view.
opw-1846265
This is a better implementation of 19fb650863. It seems we did not
see the fix was inside a loop meaning not really optimized when thinking about
Inbox fetching a lot of messages.
- When creating an analytic line for a timesheet that uses a project linked with an analytic account, we copy the company_id of the account to the line.
The field quantity_done_store had the same label as the field product_uom_qty
on model "stock.move" and there were confusions in the pivot view of
"stock.move".
opw:1841097
In case an email received contains XHTML, `fromstring` fails because of
the following error:
> Unicode strings with encoding declaration are not supported. Please
> use bytes input or XML fragments without declaration.
opw-1832683
Make an account move with two move lines.
In those lines' label, just hit the space bar, and post your entry.
Now, get the FEC report.
Before this commit, the EcritureLib field was empty
After, it has the value '/'
closes#24734
open a pos,
change cashier
hit F5
Before this commit, the previous user was set as cashier, forgetting about the change we made
This was because of two things:
- The original fix to do just this use case was pushed in v9.0 as e14ab69772
- In v11.0 the commit f5f60599bf introduced full usage of Backbone's set and get
which meant that self.cashier was no longer relevant
- In v10.0 the commit 475027b988
(For v11.0: a9caef0ebb)
Was intended to update the res.users objects at their loading to ensure that their access rights were loaded too
But it did this using the wrong condition
After this commit, it reworks fine
OPW 1844006closes#24762
open a pos,
change cashier
hit F5
Before this commit, the previous user was set as cashier, forgetting about the change we made
This was because of two things:
- The original fix to do just this use case was pushed in v9.0 as e14ab69
- In v10.0 the commit 475027b
(For v11.0: a9caef0)
Was intended to update the res.users objects at their loading to ensure that their access rights were loaded too
But it did this using the wrong condition
After this commit, it reworks fine
OPW 1844006
related #24762closes#24764
When creating a db with only website_quote and payment_paypal you end
up with:
AttributeError: 'payment.transaction' object has no attribute '_check_or_create_sale_tx'
when clicking on 'Pay & Confirm' in an online quote.
This is because various controller methods in website_quote use this
method and it is defined by the sale_payment module.
opw-1847977
It sounds like a bad id to mix fa class with others class.
Some css rule change the style (eg: font family) for other class
and fa become ugly or just a square.
- When changing the project_id of an analytic line, the account_id is updated to the project's one, we need to update the company_id according the one set on project's analytic account.
We used to only log failed logins, and did not include the IP, which
makes it much less useful for intrusion detections systems (e.g. fail2ban)
For example, the following fail2ban filter definition should match a
failed login (in /etc/fail2ban/filter.d/odoo-login.local):
[Definition]
failregex = ^ \d+ INFO \S+ \S+ Login failed for db:\S+ login:\S+ from <HOST>
ignoreregex =
This could be used with a jail definition to block the IP on HTTP(S).
Here is what it could look like for blocking the IP for 15 minutes when
10 failed login attempts are detected from the same IP within 1 minute:
[odoo-login]
enabled = true
port = http,https
bantime = 900 ; 15 min ban
maxretry = 10 ; if 10 attempts
findtime = 60 ; within 1 min
logpath = /var/log/odoo.log ; set the actual odoo log path here
Before that, the following scenario failed due to FIFO handling of stock:
- make PO 1 for 10 x product A at 10€/piece, receive and invoice everything
- make PO 2 for 10 x product A at 20€/piece, receive and invoice everything
- refund and send back PO 2
=> With FIFO handling, it means the valuation corresponding to the return of product A consists of the first received products, hence 10x10=100€. The credit note, though, was made with the price of the invoice (200€) and did not (because of a too simple check) use the price difference account to post the missing amount (100€).
Test test_fifo_anglosaxon_return (purchase/tests/test_stockvaluation.py) failed because of that.
- When creating analytic account lines when posting account moves, the lines' company id were set to the current user's company.
If the analytic account has a company set, the lines must be set on the same company (due to a python constraint).
So when creating the lines, we now check if the analytic account has a company, if so, we use it to create the lines.
Suppose we have a delta between two datetimes:
delta = dt1 - dt0
If delta is negative but less than a day, ``delta.days`` returns -1 (which is
compensated by positive seconds). In order to avoid this surprising effect,
use ``delta.total_seconds()`` to compute the number of days.
Previously to this commit needaction used by JS was not taking into account
read notifications. It means notably Inbox counter could be higher than
expected as taking into account read messages while Inbox displays only
unread messages. This commit fixes that by checking notification state when
giving needaction_partner_ids to message_format result.
This fix has a small impact on performances as message_format is used in
notification process for chat or push. A better implementation of message
format and its postprocess could probably lessen this fix impact. As we
target stable version we avoid rewriting other part of the code. Optimization
will be done in development version.
Related to task ID 1841243. This is a manual forward port of commit 69714fbeee
done in saas-11.2.
Previously to this commit needaction used by JS was not taking into account
read notifications. It means notably Inbox counter could be higher than
expected as taking into account read messages while Inbox displays only
unread messages. This commit fixes that by checking notification state when
giving needaction_partner_ids to message_format result.
This fix has a small impact on performances as message_format is used in
notification process for chat or push. A better implementation of message
format and its postprocess could probably lessen this fix impact. As we
target stable version we avoid rewriting other part of the code. Optimization
will be done in development version.
Related to task ID 1841243. This is a manual forward-port of commit 69714fbeee
done in saas-11.2.
Previously to this commit needaction used by JS was not taking into account
read notifications. It means notably Inbox counter could be higher than
expected as taking into account read messages while Inbox displays only
unread messages. This commit fixes that by checking notification state when
giving needaction_partner_ids to message_format result.
This fix has a small impact on performances as message_format is used in
notification process for chat or push. A better implementation of message
format and its postprocess could probably lessen this fix impact. As we
target stable version we avoid rewriting other part of the code. Optimization
will be done in development version.
Related to task ID 1841243. This is a manual backport of commit 69714fbeee
done in saas-11.2.
Previously to this commit needaction used by JS was not taking into account
read notifications. It means notably Inbox counter could be higher than
expected as taking into account read messages while Inbox displays only
unread messages. This commit fixes that by checking notification state when
giving needaction_partner_ids to message_format result.
This fix has a small impact on performances as message_format is used in
notification process for chat or push. A better implementation of message
format and its postprocess could probably lessen this fix impact. As we
target stable version we avoid rewriting other part of the code. Optimization
will be done in development version.
Related to task ID 1841243.