woocommerce-ios icon indicating copy to clipboard operation
woocommerce-ios copied to clipboard

Order Details: refunded products are not tappable

Open jaclync opened this issue 4 years ago • 1 comments

h/t to @AmandaRiu for noticing this issue!

Describe the bug

In Order Details > Refunded Products, the products in the list are not tappable like in order details and other places in the app.

To Reproduce Steps to reproduce the behavior:

Prerequisite: the site has an order that has at least one refunded product.

  • Go to the orders tab
  • Tap on an order that has at least one refunded product
  • Under "REFUNDED PRODUCTS" section, tap on the "# item(s)" row
  • Tap on any product row --> it's no-op

Screenshots

Expected behavior Tapping on a refunded product should open readonly product/variation details like in order details.

Isolating the problem (mark completed items with an [x]):

  • [ ] I have deactivated other plugins and confirmed this bug occurs when only WooCommerce plugin is active.
  • [ ] This bug happens with a default WordPress theme active, or Storefront.
  • [x] I can reproduce this bug consistently using the steps above.

Mobile Environment Please include:

  • Device: any
  • iOS version: any
  • WooCommerce iOS version: any

jaclync avatar Oct 21 '20 07:10 jaclync

Some debugging:

From what I gather this seems to come from the difference between how we load the List of products versus the List of refunded products in the Order details screen:

1 - Products: In the OrderDetailsViewModel, when we tap on any of the products of an Order, tableView(_:didSelectRowAt:) is called and ProductLoaderViewController is pushed as the navigation controller with the product details as read-only.

2 - Refunded Products: In this case, all refunded products appear under an unique row (rather than separately), when tableView(_:didSelectRowAt:) is triggered we push RefundedProductsViewController instead as navigation controller, and in here or its ViewModel we don't check again for tableView(_:didSelectRowAt:) so we're not telling the delegate when a row is selected in this screen.

iamgabrielma avatar Jun 23 '22 10:06 iamgabrielma