When sequentially paying multiple SO with wire transfer, the user was
always redirected to the first paid SO.
This commit fixes this issue by redirecting to the most recent one.
Technical choice:
payment_transaction rows are ordered by id desc so we can trust the
first one will be the most recent on the client side (in the scope of
this diff).
opw-1949629
Closes#31754
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
In 11.0 f8b38f64d improved the column group by managment when reloading
several times by having the same "groupbys" dictionaries between the
pivot model instance and the header menu.
This has been reverted in 12.0 (with c6e7adfb95) because the following
pivot tests failed with the change:
- 'rendering of pivot view with comparison'
- 'export data in excel with comparison'
The failure is because now that the "groupbys" dictionaries are the same
object, the truncated dictionary of a header truncate the one of the
model instance.
So if we search something that has no results, then something with
results, the groupbys could be lost.
This behavior has no reason to be and is changed in 11.0 with #31644,
this commit is the forward-port of f8b38f64d and #31644.
closes#31627
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Create a record.
Add an attachment, using the widget (aptly named 'add an attachment').
It is not set as message_main_attachment_id.
If you add the message through 'log note', then it is.
We add a hook to make sure that it is set as message_main_attachment_id
when added through the widget.
opw 1950403
closesodoo/odoo#31847
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Create a record.
Add an attachment set as message_main_attachment_id (e.g. through log note).
Duplicate that record.
The new record has the message_main_attachment_id of the old record,
while it has no attachments.
Since attachments security is linked to the record id, we shall not copy them.
opw 1950403
closesodoo/odoo#31846
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
Before this commit, the fields qty_reserved and
qty_done were displayed in the wizard with a
precision of two digits (for each case).
The problem is that the qty_to consume uses the
precision accuracy defined in 'Product Unit of Measure'.
It resulted that a quantity of 0.002 to consume
was translated to a qty_done of 0.0.
See opw-1949198
closesodoo/odoo#31822
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
With the demo data:
- Go to Sale > Products > Products, search for 'Customizable Desk'
- Click on 'Configure Variants'
- For variant 'Legs: Steel', add all attribute values for the
'Conference Chair'
- Create a SO, add a line with 'Configure Product'
- Select the 'Customizable Desk' with 'Legs: Steel', add
Boom boom, traceback at template rendering at
`first_possible_combination[variant_id_index] == value_id`
This is because the `parent_combination` is not taken into account when
evaluating `_is_add_to_cart_possible`.
closesodoo/odoo#31496
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
With the demo data:
- Go to Sale > Products > Products, search for 'Customizable Desk'
- Click on 'Configure Variants'
- For variant 'Legs: Steel', remove the attribute values for the
'Conference Chair'
- Create a SO, add a line with 'Configure Product'
- Select the 'Customizable Desk' with 'Legs: Steel', add
The 'Conference Chair' is displayed in the 'Available Options', while it
shouldn't.
The methods `_get_own_attribute_exclusions` and
`_get_parent_attribute_exclusions` compute the exclusions based on the
attribute values. Since there is no values in our case, the exclusion is
not taken into account.
We add a specific case to search for exclusions without values.
opw-1945460
Since #26134 the po files are compared with pot content when loading a
translation. If a term is found multiple times in a po file, the terms
that does not exists in the pot files are ignored. If the pot files does
not exists, the unicity constraint leads to an error.
Closes#31583closesodoo/odoo#31823
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
When importing bank statements, a rainbow man is shown but with no action button
The active model is account.bank.statement.import in this context
Before this commit, the rainbow man was staying with no possible action
closesodoo/odoo#30723
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
- Activate: 'Order-Specific Routes' and 'Dropshipping'
- Create a stockable product in AVCO + AUTO
- Purchase the product at $10 and validate the receipt
=> One product @ $10 in stock
- Sell the product via dropshipping
- A PO is generated, change unit price to $20, validate
- Validate the picking
The product in stock has now a cost of $15, i.e. the dropship impacted
the cost of the product.
Now if the product in stock is sold, the product will go out at a cost
of $15. This will lead to a wrong accounting valuation (0 product in
stock with -$5 in stock).
opw-1922289
opw-1935272
opw-1937672
closesodoo/odoo#31786
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
The widget handle was displayed on x2m fields in form views, even when
the field was readonly, which makes no sense.
It is now correctly hidden.
Fixes#30580
opw-1937833
closesodoo/odoo#31743
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
When comparing product, there was already an exceptions that would not
list the attributes if they were only "create_variant=False" type.
But if we mix attribute create_variant False or not on a product, we
could get an error.
With this changeset, create_variant=False attribute are ignored also
when mixed with create_variant=True attributes.
opw-1946361
closes#31680
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Sequel of cc54194e13.
The mentioned fix only worked when the user was public.
The problem arises when calling the function `_get_fpos_by_region()`
in `sudo` without specifying the company and this happens, for instance,
in every `onchange_partner_*` function of a sale order.
We propose to add the `force_company` key in the context of the sale
order to ensure the right company when selecting the fiscal position.
closesodoo/odoo#31751
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
We don't want to notify inactive followers,
especially in the case of oddobot that was considered
as a inactive partner in _notify_compute_recipients.
The computed recipient data for odoobot are
(pid:2 active:False pshare:True notif:None)
It was considered as a partner and notified by email.
This fix simply removes inactive partner from partner to notify.
closesodoo/odoo#31734
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
Before this commit the flow of using wishlist with dynamic attributes was not
tested, and it also wasn't tested when combinations were not possible.
Those cases are now tested too.
closes#29859
PR: #31752
task-1920065
Signed-off-by: Sébastien Theys <seb-odoo@users.noreply.github.com>
In the portal, when the client signature is asked (for a SO for example).
Before this commit, the client could send the form without really signing
the document.
Now, a warning is shown if the form is not signed.
opw-1943702
closesodoo/odoo#31768
Signed-off-by: Sébastien Theys <seb-odoo@users.noreply.github.com>
Co-authored-by: Sébastien Theys <seb@odoo.com>
Suppose that a payment transaction cannot be reconciled for any reason.
Then _cron_post_process_after_done will try to process it every 10 minutes until
the end of time.
Moreover, if the user takes some manual action before
_cron_post_process_after_done,
even if in principle it would have been able to go through,
then it is likely to fail, e.g. on invoice_open.
Meaning that a transaction that could have been processed will become
an undead transaction.
To avoid that situation we set an arbitrary retry_limit_date set to 2 days,
which seems a reasonnable compromise.
It gives some time for the transaction to go through, but not exaggeratedly so.
opw 1945953
closesodoo/odoo#31791
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
This makes the assets to be recomputed everytime somebody with a different
language load the page.
closesodoo/odoo#31782
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
When there is an optional product for which the quantity is set to 0 because
there is no stock available, the cart update would raise because it tried to
read the order line even though it was deleted above.
Now we apply the logic only if the order_line actually exists.
Part of task 1950712
closesodoo/odoo#31779
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Sequentially previewing and paying two sale orders was causing a
redirection issue. Instead of being redirect to the SO preview
(/my/orders/<:order_id>), the user was redirected to /payment/process.
The issue was due to processed transactions not being removed from the
session.
opw-1948288
Closes#31741
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
- Fixes incorrect user type assignments on some accounts
- Fixes incorrect account assignments on taxes
- Adds a few accounts that Japanese companies would typically need
- Changes some account codes to make the structure more consistent
- Updates descriptions of some taxes to make them appear more natural
on PDF reports
closesodoo/odoo#30780
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Groups with more than 3 digits exist, but none of the accounts are
"hanging" from them. For example, the group of accounts 1030 and 1034 is
103, even though 1030 and 1034 groups exist. The account structure
should concur with the account group structure.
closesodoo/odoo#28420
Signed-off-by: Josse Colpaert <jco-odoo@users.noreply.github.com>
This reverts commit 1cdf2bdaf6.
$(':focus') seems not working depending on browser version but
we don't know yet exactly why.
opw-1948266
closesodoo/odoo#31807
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
Have a list view, apply a group_by and a filter with a sort parameter
Click on one record to access the form view
Have a x2m within it
Before this commit, the x2m records were loaded with a context containing
the keys orderedBy and group_by
It seems harmless at first, but even conceptually those keys should not be here
- they apply on a list of records, and not to individual ones
- they may contain field names not existing in the x2m model
Hence, when accessing another list view through an action button, the list
will try to be orderedBy or group_by with the given context
Which is plain wrong in the first place and may cause crashes
After this commit, the context of a record datapoint (representing a single record)
is stripped from the keys
Read the opw for a concrete use case
OPW 1943583
closesodoo/odoo#31706
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
- Create a fiscal position FP which maps the deposit product account to
another account
- Create a SO, use the fiscal position FP.
- Create a downpayment
The account is not mapped following the fiscal position.
opw-1947069
closesodoo/odoo#31781
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Reverts 2b1d3ff82d introduced in 10.0 via
It was relatively useful in Odoo 10.0 because in Python 2 the exception
was missing a root cause traceback. But Python 3 includes exception
chaining by default, so it comes for free.
See [PEP3134](https://legacy.python.org/dev/peps/pep-3134/)
On top of being redundant in P3, it can also break some testcases
by causing an extra ERROR log entry, even when the final exception is
expected and caught. So it's simpler to remove it.
closesodoo/odoo#31699
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
When journals of type bank are created, default accounts are also
created, and an account code is automatically generated. However, the
number of possible automatic account codes is very limited, because only
100 different codes may be generated, and the error message "Cannot
generate an unused account code" is shown.
To solve the above, the number of possible account codes is raised up to
10,000 different possibilities.
closesodoo/odoo#31681
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
When register a payment, and choosing a payment acquired.
Before this commit, the payment post process had to wait until a cron
run (every 10 minutes).
Now, The post process is executed instantly after the payment, if the
payment is not yet done, the post process will be executed in the next
cron run.
Co-authored-by: Toufik Benjaa <tbe@odoo.com>
opw-1928834
closesodoo/odoo#31732
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
vals may be an empty dict
This may happen a write is done on a computed field, the call to _write will
be empty (still needed to update write_uid/date).
Before this commit, all fields were read in the read call.
This was unecessary and may produce acess-rights errors or other side effect
(e.g. in odoo/enterprise#3778 the technical field ticket_count was read, even
if not present in the view or the write call)
Only compute old_values on the fields that are modified
Fixesodoo/enterprise#3778
opw-1949911
closesodoo/odoo#31737
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
If the content is too long, it overflows badly.
Since the height is fixed, the flex doesn't work well.
opw 1924145
closesodoo/odoo#31717
Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
In case company is not set on the model related to the template,
we should not try to retrieve it when creating the associated partner.
Fine-tuning of a46138cb01
opw-1947334
closesodoo/odoo#31607
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>