Skip to content

Conversation

@ealeksandrov
Copy link
Contributor

@ealeksandrov ealeksandrov commented Jan 18, 2023

Closes: #8520

Description

This PR adds status selector for bulk editing on Products List. Networking action is connected, loading, success and error states implemented.

How

UI is based on BulkUpdatePriceViewController that is used for bulk variations update. PriceInputViewController is mostly the same, but stripped of networking actions and variation logic. In future we can unify them by adding some coordinator/subclass for variations.

Testing

  1. Build and run the app in debug/alpha mode.
  2. On the products list tap the "multi-select" icon in the navbar.
  3. Select a few products from the list.
  4. Tap "Bulk update" in the bottom toolbar.
  5. Tap "Update price".
  6. Confirm that correct price is described in footer only if all selected products have the same status.
  7. Confirm that "Apply" button is disabled for empty price.
  8. Confirm that "Apply" button is enabled when price is entered.
  9. Enter a price that is less than sale price of one of the selected products.
  10. Tap "Apply". Observe immediate validation error notice.
  11. Enter a valid price (greater than any of sale prices).
  12. Tap "Apply". Observe loading state and success message.
  13. Confirm products are updated in the list.

Video

Simulator.mp4

  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

@ealeksandrov ealeksandrov added feature: product list Related to the product list. status: feature-flagged Behind a feature flag. Milestone is not strongly held. labels Jan 18, 2023
@ealeksandrov ealeksandrov added this to the 12.0 milestone Jan 18, 2023
@peril-woocommerce
Copy link

peril-woocommerce bot commented Jan 18, 2023

Warnings
⚠️ This PR is assigned to a milestone which is closing in less than 2 days Please, make sure to get it merged by then or assign it to a later expiring milestone

Generated by 🚫 dangerJS

@wpmobilebot
Copy link
Collaborator

You can test the changes from this Pull Request by:
  • Clicking here or scanning the QR code below to access App Center
  • Then installing the build number pr8691-02eb646 on your iPhone

If you need access to App Center, please ask a maintainer to add you.

Copy link
Contributor

@Ecarrion Ecarrion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR was a bit big but the changes were straightforward and easy to review!

One thing I noted is that variations prices can't be bulk updated, how do we plan to handle that scenario?

@ealeksandrov
Copy link
Contributor Author

Thanks, I agree that it could be split into more manageable parts 😅

One thing I noted is that variations prices can't be bulk updated, how do we plan to handle that scenario?

We have #8577, I'll add it before releasing the feature.

@ealeksandrov ealeksandrov merged commit b880467 into trunk Jan 19, 2023
@ealeksandrov ealeksandrov deleted the issue/8520-price-picker branch January 19, 2023 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: product list Related to the product list. status: feature-flagged Behind a feature flag. Milestone is not strongly held.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bulk Editing: Support products price update

4 participants