diff --git a/backend/app/models/meal_request.py b/backend/app/models/meal_request.py index 5abdf549..c48e8c14 100644 --- a/backend/app/models/meal_request.py +++ b/backend/app/models/meal_request.py @@ -81,10 +81,10 @@ def validate_onsite_contacts(self): if self.donation_info: for contact in self.donation_info.donor_onsite_contacts: contact = OnsiteContact.objects(id=contact.id).first() - if ( - not contact - or contact.organization_id != self.donation_info.donor.id - ): + if not contact or not hasattr(contact, "to_serializable_dict"): + continue + + if contact.organization_id != self.donation_info.donor.id: raise Exception( f"onsite contact {contact.id} not found or not associated with the donor organization" ) diff --git a/backend/tests/graphql/test_all_user_mutations.py b/backend/tests/graphql/test_all_user_mutations.py index bd89ca00..b5b6a721 100644 --- a/backend/tests/graphql/test_all_user_mutations.py +++ b/backend/tests/graphql/test_all_user_mutations.py @@ -89,10 +89,9 @@ def test_update_user_by_id(user_setup, mocker): assert db_user.info.email == "test4@organization.com" assert db_user.info.organization_address == "170 University Ave W" - # Check that involved_meal_requests is not changed since its backend driven + # Check that involved_meal_requests is not changed since its backend driven assert db_user.info.involved_meal_requests == initial_involved_meal_requests - assert user_result4["info"] == MOCK_INFO4_CAMEL update_to_user_1_info = graphql_schema.execute( diff --git a/frontend/src/components/mealrequest/ASPListView.tsx b/frontend/src/components/mealrequest/ASPListView.tsx index b0b81379..06726820 100644 --- a/frontend/src/components/mealrequest/ASPListView.tsx +++ b/frontend/src/components/mealrequest/ASPListView.tsx @@ -521,10 +521,12 @@ const ASPListView = ({ authId, rowsPerPage = 10 }: ASPListViewProps) => { {currentlyEditingMealRequestId ? ( { + onClose={(newMealRequest) => { setIsEditModalOpen(false); setCurrentlyEditingMealRequestId(undefined); - reloadMealRequests(); + if(newMealRequest !== undefined) { + reloadMealRequests(); + } }} mealRequestId={currentlyEditingMealRequestId} isEditDonation={false} diff --git a/frontend/src/pages/ASPCalendar.tsx b/frontend/src/pages/ASPCalendar.tsx index ad0088ea..701c0b7c 100644 --- a/frontend/src/pages/ASPCalendar.tsx +++ b/frontend/src/pages/ASPCalendar.tsx @@ -194,8 +194,8 @@ const ASPCalendar = ({ authId }: ASPCalendarProps) => { onClose={(meal_request) => { setIsEditModalOpen(false); setCurrentlyEditingMealRequestId(undefined); - setShouldRefetchData(true); if (meal_request !== undefined) { + setShouldRefetchData(true); setSelectedMealRequest(meal_request); } }} diff --git a/frontend/src/pages/UpcomingPage.tsx b/frontend/src/pages/UpcomingPage.tsx index 495d9822..1a41625a 100644 --- a/frontend/src/pages/UpcomingPage.tsx +++ b/frontend/src/pages/UpcomingPage.tsx @@ -193,7 +193,9 @@ export const UpcomingCard = ({ event, setShouldReload }: { event: UpcomingEvent, onClose={(newMealRequest) => { setIsEditModalOpen(false); setCurrentlyEditingMealRequestId(undefined); - setShouldReload(true); + if(newMealRequest !== undefined) { + setShouldReload(true); + } }} mealRequestId={currentlyEditingMealRequestId} isEditDonation