From 7651e88d4c7444a169cc05c9a1abf58a35bc2325 Mon Sep 17 00:00:00 2001 From: Benn Oshrin Date: Thu, 18 Dec 2025 07:23:22 -0500 Subject: [PATCH] Fix Primary Name error (CFM-494) --- app/resources/locales/en_US/field.po | 3 +++ app/src/Model/Table/PeopleTable.php | 6 +++++- app/templates/People/fields.inc | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/resources/locales/en_US/field.po b/app/resources/locales/en_US/field.po index ed37ca930..175b4335d 100644 --- a/app/resources/locales/en_US/field.po +++ b/app/resources/locales/en_US/field.po @@ -848,6 +848,9 @@ msgstr "Subject (Group)" msgid "Notifications.subject_person_id" msgstr "Subject (Person)" +msgid "People.name.type_id" +msgstr "Name Type" + msgid "Petitions.enrollee_email" msgstr "Enrollee Email Address" diff --git a/app/src/Model/Table/PeopleTable.php b/app/src/Model/Table/PeopleTable.php index 4059c7129..ca744c98e 100644 --- a/app/src/Model/Table/PeopleTable.php +++ b/app/src/Model/Table/PeopleTable.php @@ -407,7 +407,11 @@ public function findIndexed(Query $query): Query { public function generateDisplayField(Person $entity): string { if(empty($entity->primary_name)) { - throw new \InvalidArgumentException(__d('error', 'Names.primary_name')); + // Adding a new Person manually will generate an empty Person entity (with no Primary Name), + // which the Breadcrumbs logic (more specifically entityAndActionToTitle) will eventually + // pass here. + + return __d('controller', 'People', [1]); } return $entity->primary_name->full_name; diff --git a/app/templates/People/fields.inc b/app/templates/People/fields.inc index a7b5de66d..60f5d1849 100644 --- a/app/templates/People/fields.inc +++ b/app/templates/People/fields.inc @@ -43,6 +43,7 @@ if($vv_action == 'add') { $fields['names.0.type_id'] = [ 'default' => $vv_default_name_type, + 'fieldLabel' => __d('field', 'People.name.type_id'), 'required' => true, 'fieldType' => 'string' ];