New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replacements for returned shipments can't be shipped #2475

Closed
jungbunzlav opened this Issue Jan 23, 2013 · 2 comments

Comments

Projects
None yet
3 participants
@jungbunzlav

jungbunzlav commented Jan 23, 2013

Hi there,

we are using Spree 1.3.1 and the related stable branch with rails 3.2.11.

If a customer returns an order you are not able to ship it again - you can't create a new shipment for a returned item. This may be right if you already did a refund and the customer just wanted to return the item. But what if the customer wants to have the item or a replacement shipped again (maybe the first item is broken or something like that).

Is it a bug or does Spree works like this not covering replacement shipments?

Steps to reproduce:

1.) place an order with one item an go to admin interface
2.) capture the payment
3.) create shipment and ship it
4.) creare a new return containing the shipped item
5.) this step is optional: refund the captured payment
6.) try to create a new shipment with the ordered and returned item. You are not able to select the formerly shipped and returned items. So just hit the create button anyway. This won't work an your will get an error:

de.activerecord.errors.models.spree/shipment.attributes.inventory_units.blank

Note:
This issue is related to the fix emerging from Issue #2444
(#2444) bit it didn't work before fixing #2444 either.

@radar

This comment has been minimized.

Show comment
Hide comment
@radar

radar Jan 29, 2013

Member

This is definitely a bug. The workflow should allow for an item to be returned and then shipped again. I will look into this issue now.

Member

radar commented Jan 29, 2013

This is definitely a bug. The workflow should allow for an item to be returned and then shipped again. I will look into this issue now.

@BDQ

This comment has been minimized.

Show comment
Hide comment
@BDQ

BDQ Feb 21, 2013

Member

This fix is wrong, and is going to be reverted.

The steps to reproduce were wrong, basically there's an extra step that they missed between 5 and 6 above:

RMA has its own state machine, that represents two main states:

a) Authorized - which is the default state, and it designed to allow the RMA be generated and the number given to the customer to include as a ref when sending the item(s) back. At this stage the Inventory Unit state should not be affected, as it's technically still "shipped" to the customer.

b) Received - After creation the RMA has a "Receive" button, which when clicked is intended to indicate that the entire RMA has been received by the warehouse, and the items are actually back in stock. At this point, the RMA will set the InventoryUnit's state to "returned" as intended by design.

See:

https://github.com/spree/spree/blob/master/core/app/models/spree/return_authorization.rb#L77

Member

BDQ commented Feb 21, 2013

This fix is wrong, and is going to be reverted.

The steps to reproduce were wrong, basically there's an extra step that they missed between 5 and 6 above:

RMA has its own state machine, that represents two main states:

a) Authorized - which is the default state, and it designed to allow the RMA be generated and the number given to the customer to include as a ref when sending the item(s) back. At this stage the Inventory Unit state should not be affected, as it's technically still "shipped" to the customer.

b) Received - After creation the RMA has a "Receive" button, which when clicked is intended to indicate that the entire RMA has been received by the warehouse, and the items are actually back in stock. At this point, the RMA will set the InventoryUnit's state to "returned" as intended by design.

See:

https://github.com/spree/spree/blob/master/core/app/models/spree/return_authorization.rb#L77

GeekOnCoffee added a commit to GeekOnCoffee/spree that referenced this issue Feb 27, 2013

Revert "Allow a returned item to be re-shipped"
Based on further discussion on #2475 inspired by #2544

This reverts commit d1e64d0.

GeekOnCoffee added a commit that referenced this issue Feb 27, 2013

Revert "Allow a returned item to be re-shipped"
Based on further discussion on #2475 inspired by #2544

This reverts commit d1e64d0.

Fixes #2625
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment