From b7d403dd6ea8d2cb8b121acc81b847ce29354b8f Mon Sep 17 00:00:00 2001 From: Benn Oshrin Date: Sat, 27 Sep 2025 09:11:47 -0400 Subject: [PATCH] Fix add Group Member noise (NOJIRA) --- app/src/Model/Table/GroupMembersTable.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/Model/Table/GroupMembersTable.php b/app/src/Model/Table/GroupMembersTable.php index 6dbc9a499..b93b08967 100644 --- a/app/src/Model/Table/GroupMembersTable.php +++ b/app/src/Model/Table/GroupMembersTable.php @@ -188,10 +188,17 @@ public function buildRules(RulesChecker $rules): RulesChecker { * @return string Display field */ - public function generateDisplayField(GroupMember $entity): string { - // Pull the group and person information to build a more useful display string - - return __d('field', 'group_membership', [$entity->person->primary_name->full_name, $entity->group->name]); + public function generateDisplayField(GroupMember $entity): ?string { + // Pull the group and person information to build a more useful display string. + // Note because there is no setAddContains() (this is probably the only place + // where it would be useful if it were even conceptually a thing) we can't assume + // we have any entity information here. + + if(!empty($entity->person->primary_name)) { + return __d('field', 'group_membership', [$entity->person->primary_name->full_name, $entity->group->name]); + } + + return null; } /** @@ -575,6 +582,10 @@ public function saveAttributeCollectorPetitionAttributes(int $personId, array $f $member[$fld->enrollment_attribute->attribute] = $fld->value; } + if(!isset($member['group_id'])) { + return null; + } + return $this->saveOrFail($this->newEntity($member)); } } \ No newline at end of file