Commit Graph

25 Commits

Author SHA1 Message Date
Michael Tietz
08a492ca76 [IMP] rma: use only procurement.group run to create stock transfers
Extra changes:
- Change reception_move_ids to reception_move_id
- Add test_rma_replace_pick_ship
- Code and method reduction to simplify logic
- Set route_ids (in/out) from procurements

Co-authored-by: Michael Tietz

TT48789
2024-06-03 11:44:02 +02:00
Pedro M. Baeza
54e08e856f [MIG] rma_sale: Migration to 16.0
- Standard procedure.
- Adapt to new `prepare_*_vals` methods.
- Renamed fields adaptation.
- Improved test coverage.

TT44214

s
2023-09-02 14:23:36 +02:00
David
048e342592 [IMP] rma_sale: rollback sale refund on deleted invoice
TT44043
2023-08-29 20:09:32 +02:00
Pedro M. Baeza
e1e1b7a0a6 [FIX+IMP] rma_sale: Link invoice/move line with origin sale line when refunding
Steps to reproduce:

- Create a sales order with an storable product with invoicing policy
  on delivered quantities.
- Confirm it and deliver the product.
- Invoice the order.
- Do an RMA, receive it, and refund it.

Result: the delivered quantity is 1 instead of 0.

This is because the refund generated from the RMA is not linked to
sales order line, nor the RMA reception move. This is done because
other operations are performed:

- Be replaced.
- Be changed by other product.

And we don't also want that meanwhile the RMA is being performed, the
sales order is pending to invoice.

But when the refund has been done, we have it clear, so let's link both
and have sales statistics correct.

FIX: We don't link the refund line with the sales order if the RMA
quantity is not the whole original move quantity. Otherwise, we will
have incoherente delivered/invoiced quantities on the sales order.

TT41645
2023-08-29 20:09:32 +02:00
Pedro M. Baeza
58e2383ed2 [IMP] rma_sale: Domains performance
For avoiding a big list of IDs being transferred when no sales order
is selected on the RMA, we have changed domains to make use of the
possibility of pyjs expressions allowed in the domains.

No ternary operators nor list sums are allowed in pyjs, but using a
combination of allowed IDs with a controlled length of values + and/or
operators to switch domains is enough for having the right performance
and avoid to depend on other modules like web_domain_field.
2023-08-29 20:05:20 +02:00
Alex Vining
efb0464833 [MIG] rma_sale: Migration to 15.0 2023-08-29 20:05:20 +02:00
Víctor Martínez
f5f142d938 [FIX] rma_sale: Filter done pickings and done moves
TT39089
2023-08-29 20:05:20 +02:00
Giovanni
71dec5c1d8 [FIX] rma_sale: issue opening rma view from wizard + action permission issues 2023-08-29 20:04:57 +02:00
Chafique
1b470773f9 [14.0][MIG] rma_sale module 2023-08-29 20:04:57 +02:00
Chafique
2cab64f4e7 [IMP] rma_sale: black, isort, prettier 2023-08-29 20:04:57 +02:00
david
66c9fc1b7b [IMP] rma_sale: portal rma request single page view
Now it's possible to configure if the portal RMA request form is loaded
in a popup or in a single page.

In that page, we can add custom blocks (if the website is installed) a
customize the form text.

In this commit, we also add the possibility to extend the form view to allow
custom fields that will show up in the RMA description.

TT29670
2023-08-29 20:04:57 +02:00
Pedro M. Baeza
7fe4109069 [FIX] rma: pre-commit 2023-08-29 20:04:57 +02:00
david
0b66845ad8 [FIX] rma_sale: chained returns
Using move_dest_ids we can easily end in an infinite loop situation as
the return of the return of the return ends with some original moves on
in move_dest_ids. We must ensure to drop them to avoid the infinite
loop.

TT29886
2023-08-29 20:04:57 +02:00
david
8b9dbd38cd [FIX] rma_sale: take product from move 2023-08-29 20:04:57 +02:00
david
12fd6cb814 [FIX] rma_sale: recurrent RMA
If a product was already in an RMA in the past, we should be able to
place another RMA in the future.
2023-08-29 20:04:57 +02:00
david
acca40197b [IMP] rma_sale: prepare kits integration
When a sale line has a phantom product (mrp kits) the RMA would not be
possible as the wizard couldn't pair the components moves with the
product in the line. With this approach, we can at least return the
spare components of the original kit line.

We also need some hooks to intervine in the main methods, like in
invoicing.
2023-08-29 20:04:57 +02:00
david
90964175ad [FIX] rma_sale: product in multiple lines
If there are several stock moves with the same product in the picking we
won't be able to make the RMA
2023-08-29 20:04:56 +02:00
Ernesto Tejeda
132f877db9 [MIG] rma_sale: Migration to 13.0 2023-08-29 20:04:45 +02:00
Ernesto Tejeda
1267c92b72 [IMP] rma_sale: black, isort, prettier 2023-08-29 20:01:04 +02:00
Pedro M. Baeza
fbabf8a456 [FIX] rma_sale: Show directly form on 1 RMA
Fine-tune of 9a25d6, as for one record, the domain is not applied, but the list is
shown.
2023-08-29 20:01:04 +02:00
Ernesto Tejeda
8791196a81 [FIX] rma_sale: show related RMAs without default filters
rma_sale 12.0.1.5.1
2023-08-29 20:01:04 +02:00
Pedro M. Baeza
bad96142e0 [FIX+IMP] rma_sale: Proper dependency + propagate salesman
- Proper dependency is `sale_stock`, not `sale`, as we are using some fields added
  by this module.
- Propagate salesman from sales order when available.

TT25525

rma_sale 12.0.1.4.1
2023-08-29 20:01:04 +02:00
david
0405519927 [IMP] rma_sale: portal improvents
- Now it's possible to open several RMAs in a sale order from the portal
- A new comment button has been added to allow the portal user to enter
relevant information like serial numbers o issue description.
- If the requested operation isn't set no RMA will be opened
- The RMA product qty is now a numeric control with limits according to
the qty available to return

[FIX] rma,rma_sale: fix linter errors

[UPD] Update rma_sale.pot

rma_sale 12.0.1.4.0

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: rma-12.0/rma-12.0-rma_sale
Translate-URL: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-rma_sale/
2023-08-29 20:01:04 +02:00
Ernesto Tejeda
ab83dfd725 [FIX+IMP] rma, rma_sale: fix bugs and add improvements
- Fix thrown error when trying to download a picking from the portal.
- Add the hook method to prepare RMA values ​​from the return pick wizard.
- Add the access rule for portal users.
- Show the portal 'Request RMAs' button on the sales page only to users
related to the sales order.

[UPD] Update rma_sale.pot

rma_sale 12.0.1.3.0

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: rma-12.0/rma-12.0-rma_sale
Translate-URL: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-rma_sale/
2023-08-29 20:01:04 +02:00
Ernesto Tejeda
bf9003534e [ADD] rma_sale: new module
[UPD] Update rma_sale.pot

[ADD] icon.png
2023-08-29 20:01:04 +02:00