No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
[COMPLETE] Create new annual inventory auditing tool
rubyforgood
Ruby, HTML, CSS, JavaScript, CoffeeScript, Shell, Dockerfile
**This issue is complete and has been re-opened pending gitcoin resolution**
# Summary
Diaperbase is a digitized reflection of a physical inventory. While we do take measures to maintain the integrity and accuracy of the data, mistakes can be happen (either on our end or theirs) and the diaperbanks need a means to reconcile what they have in physical space (ie. their storage locations) with what they know about in the digital space (ie. in Diaperbase).
This is a :new: tool, and will require a little bit extra beyond just the feature (it will need to be added to a menu heading that does not yet exist, and some permissions may need to be declared).
# Desired Workflow
*(these steps can, and probably should, be replicated as feature specs)*
- [ ] All functions for Auditing are to be performed by the **Organization Admin**. (This may change later, but for now, this is what we want)
- [ ] The signed-in Organization Admin should go to a section of the site for **Reporting & Auditing**. This tool is for **Annual Audit** specifically.
- [ ] Within that section, the user will select a storage location to audit. With the location selected, prompt the user for `line_items` (cf. `Adjustments#new`). This should allow them to enter things by Barcode or by manually typing a quantity and selecting from an `Item` list.
- [ ] The user is expected to enter **all** of their inventory, so make sure that expectation is clear (we have no way of knowing whether or not they've done anything).
- [ ] The user should be able to save an in progress Audit, and resume an incomplete one (this is expected to be a lengthy process).
- [ ] When the user clicks on the submit button to complete the Audit, they should be prompted with a `confirm` dialog, since the process shouldn't be reversed once it gets to this point.
- [ ] The submitted Audit should present the user with a differential between what was reported and what is known. At this point, the Audit has now been submitted, but is not yet completed.
- [ ] After the user has reviewed this, they can click a final button ("Finalize"?) which will submit the differential and create an `Adjustment` for the differential. The `Adjustment` should include a comment remarking that it was created automatically through the Auditing process.
- [ ] Once an Audit has been finalized, it should be immutable.
- [ ] The user should be able to review all of their audits in any stage of the process
- [ ] The user should be able to delete any Audit that has not yet been finalized.
## Expected Model Changes
- A new `Audit` model will need to be created
- [ ] The `Audit` model should belong to an organization (it will have many audits), but also have a reference to the user that created it
- [ ] The `Audit` model should only have one `Adjustment` (no inverse association)
- [ ] The `Audit` model will need its state tracked -- use your discretion on how to implement this, but I don't think we need to add a gem for this...yet
- [ ] The `Audit` model should mediate its `Item` associations via its associated `Adjustment` (don't attach items directly to the `Audit`; that'll be redundant)
## Expected Controller Changes
- [ ] An `AuditsController` will need to be created, use your judgement about what actions to create for it
- Any XHR modifications to the `Adjustment` that's in-progress should be done against the `AdjustmentsController`
## Expected View / UI Changes
N.B. Please be sure to refer to `/app/helpers/ui_helper.rb` and the [Styleguide Wiki](https://github.com/rubyforgood/diaper/wiki/Styleguide) when building your views. The `UiHelper` will ensure consistent UI across the site.
- [ ] Create a new navigation section in the standard nav for "Reporting & Auditing", give that menu item the `fa-tasks` icon, if that's not already in use
- [ ] Create a submenu item for this tool, called "Annual Audit"
- [ ] New views for this resource will need to be created, as needed
## Expected Routing changes
- It might make sense to nest an `Adjustment` resource under the `Audit`, that's probably fine -- your call
# Criteria for Completion
- The feature works as described by the desired workflow, above
- There is test coverage for each of the items marked with checkboxes
- The test suite passes
- Rubocop passes (running `rubocop -a` is totally fine and will save you lots of time :) )
# Reference / History
This is a clean up of #266
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (π°), learn (π), and meet (π¬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save