Requested Changes + New Lil Features#200
Conversation
Add a shippingCostPaidBySsf flag to orders (migration + entity + bulk tracking DTO) and surface it through manufacturer donation details and pantry stats. SSF-paid shipping is now excluded from totalShippingCost and reported separately as totalShippingCostPaidBySsf. Also adds the foodRescueLbs pantry stat. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add foodManufacturerId to CreateDonationDto and pass it from the new donation and resubmit donation forms. Also tweaks the fair-market-value column header copy on the new donation form. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Display the recurring-reminders indicator and the list of upcoming reminder email dates for recurring donations in the donation details modal. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Route pending pantry applications to PANTRY_APPLICATION_DETAILS (keyed by applicationId) instead of PANTRY_MANAGEMENT_DETAILS, which expected a pantryId and was being given an application id. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add Role.ADMIN to the /volunteers/:id/pantries endpoint so admins can read a volunteer's assigned pantries. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
c735f05 to
b621dd7
Compare
dburkhart07
left a comment
There was a problem hiding this comment.
3 small things. also getting some errors with closed donations in the adminOrderManagement page i think. since theres a lot of changes here, can you merge main so that we can smoke test all these pages in full?
- Remove foodManufacturerId from CreateDonationDto and its create-endpoint CheckOwnership. donations.service.create resolves the manufacturer from the authenticated user (req.user.id), so the body id and the ownership check were dead weight; @roles(FOODMANUFACTURER) already gates it. Also collapses a duplicate @roles decorator on the create handler. - Drop foodManufacturerId from the frontend CreateDonationDto type and the new/resubmit donation forms and their container props. - Replace the read-only "Make Donation Recurring Reminders" checkbox in the donation details modal with a bold "Recurring Donation" label. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # apps/frontend/src/components/forms/donationDetailsModal.tsx # apps/frontend/src/components/forms/newDonationFormModal.tsx
Follows the DTO field removal so donations.service.spec compiles. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Prettier cleanup of the over-indented recurrence lines left behind by dropping foodManufacturerId from CreateDonationDto. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
dburkhart07
left a comment
There was a problem hiding this comment.
few things. see slack as well for other comments
| application.type === 'pantry' | ||
| ? ROUTES.PANTRY_MANAGEMENT_DETAILS.replace( | ||
| ':pantryId', | ||
| ? ROUTES.PANTRY_APPLICATION_DETAILS.replace( |
There was a problem hiding this comment.
just putting this here, i think justin is going to fix this bug in his pr
| @@ -253,209 +265,219 @@ const RequestManagement: React.FC<RequestManagementProps> = ({ | |||
| Sort | |||
There was a problem hiding this comment.
imo, this and the filter buttons shouldnt be available in the empty state i think. i know this is another big ask, but can we make sure this applies to all the other pages with certain filters/searches?
| })); | ||
| }; | ||
|
|
||
| const handleSubmit = async () => { |
There was a problem hiding this comment.
bug i noticed: if we have a shipping cost filled in and a tracking link not filled in, and we go into the form and swap the 2 (fill in a tracking link, but remove the shipping cost), the order goes away. we should make it so that any change at all is updated.
| orderFormData[order.orderId]; | ||
| const originalTracking = order.trackingLink ?? ''; | ||
| const originalCost = order.shippingCost?.toString() ?? ''; | ||
| // The paid-by-SSF flag is only meaningful alongside a shipping cost, |
There was a problem hiding this comment.
in this case, i feel like we should disable this checkbox until shipping cost has a value
ℹ️ Issue
SSF-236
📝 Description
Changes:
Admin Donation Stats Page wording:
Admin Donation Management
Updated Wording:

FM Confirm Delivery Action Modal - new boolean checkbox determines if shipping cost was paid by SSF


Admin Dashboard Applications Bug:
FM Submit Donation Bug:
Login & Sign up Page:
Pantry/FM Application Form:
remove last checkbox: "By submitting this form, you agree to receive automated emails..."
auth gated GET /volunteers/:id/pantries to also allow ADMIN
✔️ Verification
🏕️ (Optional) Future Work / Notes