Releases: rubyforgood/human-essentials
8.2.0
✨ What's New?
- Move to import maps — this was a fairly major technical change that we had to make to keep things running in the near term
- Allow partners to be approved when either invited or awaiting review
- Broadcast announcements from banks to partners (look under “Partner Agencies” for the link)
- Add requestor to confirmation and fulfillment emails
- Added a warning re the size for the file logo
- Added partner primary contact information to the distribution printout
- Superadmins (i.e. the HE team) can now edit short names — that’s the part of the URL that appears that identifies your bank
- Putting the itemized distributions and donations on the dashboard in alphabetical order
🐞 Bug Fixes
- Fixed the problem where requests were staying as “started” when the distribution was saved
- Cleaned up the distribution printout
- Removed inactive storage locations removed from drop-down
- Fixed a rounding error with the Full Market Value on the storage location page
- Preventing invalid distribution creation by limiting items to positive quantities
- Ensuring banks cannot lock partners out of all 3 request types
- Year to date distributions are now based on issued at instead of the date updated, so corrections now stay in the right year
💖 Other Changes
- Cleaning up some unused code
- Fixing more things that rely on underlying code that has a known expiration date
- Routine updates of underlying “ruby gems”
Contributors on this release include:
Ahmed Anoosh, Alicia, Alvaro Sanchez Dias, Andy Strube, Atique Akhtar, Brock Wilcox, CL Fisher, Daniel Orner, Dejan Bjeloglav, Edwin Mak, Jeb, Joe DePumpo, Kayla McEowen, Kevin Clark, Morgan Hufford, Obaid Ashfaq, Rae Stanton, Scott Steele, Shawn Mallon, Troy Coll
8.1.0
✨ What's New?
- Merged partner records - this was tech debt from when the application used to have two databases. There's now only one partner model, which will hopefully cut down on bugs and confusion when developing new features.
🐞 Bug Fixes
- Fixed reset password behavior for partner users
- Fixed resend invite behavior
- Fixed bug causing a crash when filtering for product drives
- Allow superadmin to promote users to admin
- Fix partner logic around when request types are enabled for an organization
💖 Other Changes
- Clarify "do not reply" e-mail sender
- Corrected sign in link for partners
- Wording fix for request reminder e-mail
Full Changelog: 7.1.0...8.1.0
7.1.0
This release includes updates to multiple dependencies, including
- Bump bugsnag from 6.24.2 to 6.25.0,
- Bump stimulus-rails from 1.1.1 to 1.2.1,
- Bump bullet from 7.0.3 to 7.0.4.
Our JS compressor has been changed from Uglifier to Terser to handle ES6 syntax
In addition, youtube video links in account request emails have been updated, and a bug that caused line items to not match corresponding requested items has been fixed. Other updates include improvements to the distribution form submission process, the addition of quantity-based request configuration, and updates to multiple gems.
Patch - Fix missing navbar option for Partners
7.0.1 Add back in 'My Profile' nav item for partners to set their name (#3231)
Roles & other goodies
✍️ Description
This release contains a lot of new features & many foundational changes. Most notably -- we are now using the Role
to determine authorization/access. This is going to be very impactful because we are going to be able to allow our users login as different users and have memberships to different ones in the future.
✨ What's New?
- Add the ability to 'reinvite' a partner. See the button in the partner rows for the action "Reinvite" (#3147)
- Add the ability to deactivate storage locations. (#3122)
- Allow partners to edit their names. Instead of saying "Name Not Provided" they can now add their name. (#3141)
- Allow the deactivation of kits (#3165)
- Add the ability to opt-out of child/family functionality for partners (#3072)
- Adds a button to the product drives page to give the user the ability to download a csv of product drives, filtered by date. (#3144)
- Add comments in the distribution report csv (#3156)
🐞 Bug Fixes
- Fix
fetch_latest_db
to avoid collision between local & production schemas. - Fix the incorrect product drive values (#3120)
- Change email
from
to[email protected]
to avoid having partners email the platform when they intended to message the organization (e414831)
💖 Other Changes
Cleaning & fixing
✍️ Description
This release contains many fixes and clean-ups. Unfortunately, we didn't get a chance to add any features to this release.
✨ What's New?
No new features in this release
🐞 Bug Fixes
- [Fixed] Product drives "Variety of Items" shows the number of donations with items instead.
💖 Other Changes
- Added coverband to check which parts of the application aren't being used so that we can delete them and make the repo more maintainable. (#3118)
- Removed unused JS & CSS that are deprecated
- Fixed seeding so that we don't fail when FactoryBot creates a item_cateogory that goes over the character limit restriction
Remove extra step in login by consolidating partner_user & user into singular user table.
✍️ Description
This release’s major featured change is that we’ve combined the PartnerUser && User records to a single User record. This was needed to simplify our data structure so that we don’t have to manage two separate user records for authentication/authorization.
This DOES NOT include the addition of a role base system to grant access to partner & bank resources. We are making out with just adding a partner_id
to User to manage who and who can’t access to partner.
✨ What's New?
- Consolidated the PartnerUser & User record
- Added UI changes to allow Banks to switch between bank and partner account (if they have one under the same email). An option to switch between will be underneath the dropdown on the upper right hand corner.
- Auto downcase partner emails when adding them to keep consistency. “[email protected]” will be saved as “[email protected]”
- Update naming of fields #3039
🐞 Bug Fixes
- Fix issue that caused Distribution & Donation breakdown to be the same.
- Fix issue that caused times on the Calendar view to be off.
- Updated the text in support to say we meet on Sundays and not on Saturdays.
💖 Other Changes
5.0.1 - Hotfix for accessing delayed jobs.
✍️ Description
Fixes the issue in which you cannot access /delayed_job route which mounts the delayed_job_web interface. This is particularly important to gain access to because we've noticed emails sent via workers haven't been getting sent out or being received.
✨ What's New?
- N/A
🐞 Bug Fixes
- Update /delayed_job route to depend on being logged in as a super_admin rather than another username/password
💖 Other Changes
5.0.0
✍️ Description
We are restarting the process for tagging & releasing! This is due to our realization that it wasn't transparent what or when we deploy releases to production.
Note! The jump between 4.x.x and 5.0.0 is massive since we haven't been tagging releases! This release notes WILL NOT contain every change since then. Here are the really big changes:
- Merged the two databases to a singular one for easier development and maintainability
- Introduced an integration that auto populates Github Project V2 board with support issue so our team can see issues more easily without juggling more tools!
✨ What's New?
- Updated the language for many fields to not use the language "diaper" but rather "essentials". This is important since we aren't only servicing diapers anymore! We've expanded!
🐞 Bug Fixes
- Fix grammar issue in the invitation for partners
- Prevent sending invitations to partners that haven't been invited yet on email updates. This was causing problems for some banks in that they didn't intend to send invitations yet while entering their internal records to the Human Essentials platform.
- Fix the bug that caused you to be unable to deactivate partners.
💖 Other Changes
- Updated the fetching of production data to only pull down the singular DB.
Onebase to rule them all!
✍️ Description
Alright friends... this is a very exciting release! This release includes the foundations necessary to merge the two applications Diaperbase & Partnerbase together. We've wanted this for some time to simplify development greatly.
Note - this is only adds the foundations and isn't fully released to production yet (using a feature flag). Work still needs to be done to transition partners to using this.
Here are some reasons why we are merging the two applications together:
- Managing an API between partner & diaper has been difficult. As a result, features that have been in demand but require changes in both applications do not get completed.
- New volunteers often encounter issues trying to get their development setup which requires two applications to run.
- The overhead of running two separate applications is too high and makes using hosting services like Heroku too costly.
- It is too difficult to manage two separate repositories. We've found that Diaperbase gets prioritized over partnerbase.
How does this work?
The Partnerbase application is being transplanted into the Diaperbase application. This transplanted version uses Rails 6's multiple DB feature to connect with the existing partnerbase database.
What is next?
- We'll need to move over more functionality from partnerbase into diaperbase whilst replacing API calls into service objects that communicate between databases. Issues will be created!
- Migrate the files/documents stored in the partnerbase's VM into a storage service like Azure Blob.
- Recruit partner testers to utilize the new partnerbase application hosted hosted within diaperbase.
- Once it is all done, redirect all old partnerbase traffic to the new application.
✨ What's New?
- You can now access partner data directly via active records in diaperbase. For example, the code below access the
partner
table in the Partnerbase database. We can likely use to avoid having to make a GET request.
2.7.2 :006 > Partners::Partner.last
Partners::Partner Load (1.3ms) SELECT "partners".* FROM "partners" ORDER BY "partners"."id" DESC LIMIT $1 [["LIMIT", 1]]
=> #<Partners::Partner id: 6, diaper_bank_id: 1, executive_director_name: nil, program_contact_name: nil, pick_up_name: nil, application_data: nil, diaper_partner_id: 5, partner_status: "pending", name: nil, distributor_type: nil, agency_type: nil, agency_mission: nil, address1: nil, address2: nil, city: nil, state: nil, zip_code: nil, website: nil, facebook: nil, twitter: nil, founded: nil, form_990: nil, program_name: nil, program_description: nil, program_age: nil, case_management: nil, evidence_based: nil, evidence_based_description: nil, program_client_improvement: nil, diaper_use: nil, other_diaper_use: nil, currently_provide_diapers: nil, turn_away_child_care: nil, program_address1: nil, program_address2: nil, program_city: nil, program_state: nil, program_zip_code: nil, max_serve: nil, incorporate_plan: nil, responsible_staff_position: nil, storage_space: nil, describe_storage_space: nil, trusted_pickup: nil, income_requirement_desc: nil, serve_income_circumstances: nil, income_verification: nil, internal_db: nil, maac: nil, population_black: nil, population_white: nil, population_hispanic: nil, population_asian: nil, population_american_indian: nil, population_island: nil, population_multi_racial: nil, population_other: nil, zips_served: nil, at_fpl_or_below: nil, above_1_2_times_fpl: nil, greater_2_times_fpl: nil, poverty_unknown: nil, ages_served: nil, executive_director_phone: nil, executive_director_email: nil, program_contact_phone: nil, program_contact_mobile: nil, program_contact_email: nil, pick_up_method: nil, pick_up_phone: nil, pick_up_email: nil, distribution_times: nil, new_client_times: nil, more_docs_required: nil, sources_of_funding: nil, sources_of_diapers: nil, diaper_budget: nil, diaper_funding_source: nil, created_at: "2020-03-15 18:46:26", updated_at: "2020-03-15 18:46:26", other_agency_type: nil, status_in_diaper_base: nil>
- You can login as a partnerbase user (see README for login credentials) and make a request. Only available when
Flipper.enabled?(:onebase) == true
🐞 Bug Fixes
N/A
💖 Other Changes
- I've updated Partnerbase to utilize a Azure Postgres instance instead of relying on the VM's postgres