Recently, me and @jszymanska have been working on devising expected behavior for a situation in which the fill quantity for all line items in an order that is being fulfilled is 0. Some discussion took place on during the last Backlog Grooming meeting but still, there is some uncertainty as to the expected behavior. The ticket which concerns this issue is available at https://openlmis.atlassian.net/browse/OLMIS-4556?oldIssueView=true. Currently, it is possible to confirm such a shipment, upon which an empty Proof of Delivery is created.
I managed to come up with the following solution:
During order fulfillment (i.e. on the “View Shipment” screen), after entering 0 as fill quantity for all line items, when trying to confirm the shipment, the shipment shouldn’t be confirmed. Instead, a notification that shipment confirmation had failed should occur, along with a modal with an error message stating that at least one item should have fill quantity over zero.
The “Fulfill Orders” screen’s appearance should be changed in such a way that it would be similar e.g. to the “Manage PoDs” screen; i.e. the “Fulfill” and “Annul” buttons would be available next to each order on the list. By choosing the “Annul” option, it would be possible to get rid of a shipment that we wouldn’t want to or be able to fulfill. After confirming the annulment, the order’s status would change to “ANNULLED”. The “Fulfill” button would have the same effect as the “Continue Fulfillment” / “Start Fulfillment” buttons have now – it would take the user to the “View Shipment” screen, where they would be able to fulfill the order.
An alternative version of the second part of the proposed solution would be to add the “Annul” button to the action bar on the “View Shipment” screen, yet I think that the preferable option would be the first one, as it would be more intuitive and user-friendly because we already have similarly-looking and working screens. I also think that the annulment option shouldn’t be hidden but available on the screen with all orders to fulfill.
What do you think about the proposed solution? Do you have any suggestions? I would be grateful for feedback.