rubyforgood / human-essentials

Human Essentials is an inventory management system for diaper, incontinence, and period-supply banks. It supports them in distributing to partners, tracking inventory, and reporting stats and analytics.
https://humanessentials.app
MIT License
446 stars 469 forks source link

[PACKS] #11: Add ability to print all outstanding requests as pick-lists #4406

Open cielf opened 3 months ago

cielf commented 3 months ago

Summary

Add the ability for org users to print all the outstanding requests in a form suitable for pick lists

Details

Editors note: This is a rework of issue 4137 to include packs with some formatting changes. (4137 went stale and has been closed in favour of this).

Print all the requests with the status "pending" or "started" (i.e. that have not yet been fulfilled) This is an addendum to the overall "pack" effort -- We could put it in before, but we'd just have to change it!

Put this as a button on the request list "Print unfulfilled as pick-list"

The pick list will have a new page for each request

Make the format for this page similar to the distribution printout format, Do not include the value/item and in-kind value columns

Hide the unit column if the organization does not use any custom request units.

Also include a column of boxes for the picker to check off when they pick the item, and a column of space for them to record differences / comments.

Image

N.B.

All of the changes for PACKS must be implemented behind a flipper flag "enable_packs". That being said, some of this could be released without packs, if we can work it out so the packs pieces are still behind the flag.

1/ Flipper works by enabling or disabling a tag (for the PACKS issues, that is enable_packs) 2/ Here is a code snippet illustrating how to use it in your code, with enable_packs as the example tag: if Flipper.enabled?(:enable_packs) // do the thing we are guarding with the tag end 3/ How to check out if it works manually (with the example tag: enable_packs ): You have to enable the flipper tag on your localhost (note - the tag is stored in your db, so if you reset your db you have to do it again)

localhost:3000/flipper

userid: admin password: password Sign In

Click: Add feature enable_packs Click: Add feature

Click: Fully enable

To set it back (to check that your nifty changes haven’t broken anything when the flag is off) Sign in as above: click on “enable_packs” click “Delete” type enable_packs in the “Are you sure” dialog and click ok

Note 1:

Someday we might like to provide an online form for folks to fill in as they pick the requests. However, some storage locations are not WiFi enabled, so this will be useful even when we get that.

Note 2: Things that we asked the stakeholders

-- do we need to have a "pick the requests you are going to fulfill" feature, or will "all pending" work just fine?

2023-11-01 -- Stakeholder meeting

Criteria for completion

norrismei commented 1 month ago

Hi @cielf can I work on this issue next?

cielf commented 1 month ago

Sure!

github-actions[bot] commented 3 weeks ago

This issue is marked as stale due to no activity within 30 days. If no further activity is detected within 7 days, it will be unassigned.

github-actions[bot] commented 2 weeks ago

Automatically unassigned after 7 days of inactivity.