diff --git a/app/src/Command/SetupCommand.php b/app/src/Command/SetupCommand.php index 2d9f6ecf7..3cc8bbfeb 100644 --- a/app/src/Command/SetupCommand.php +++ b/app/src/Command/SetupCommand.php @@ -67,10 +67,9 @@ public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionPar /** * Execute the Setup Command. * - * @param Arguments $args Command Arguments - * @param ConsoleIo $io Console IO - * * @since COmanage Registry v5.0.0 + * @param Arguments $args Command Arguments + * @param ConsoleIo $io Console IO */ public function execute(Arguments $args, ConsoleIo $io) @@ -107,8 +106,19 @@ public function execute(Arguments $args, ConsoleIo $io) $username = $io->ask(__d('command', 'opt.admin-username')); } + // Setup the COmanage CO $coTable = $this->getTableLocator()->get('Cos'); + $io->out(__d('command', 'se.db.co')); + + $co_id = $coTable->setupCOmanageCO(); + + if(is_null($co_id)) { + throw new \RuntimeException('setup.co.comanage'); + } + + $io->out(__d('command', 'se.db.co.done', [$co_id])); + // Add the first CMP Administrator $io->out(__d('command', 'se.db.cmpadmin')); diff --git a/app/src/Lib/Traits/PrimaryLinkTrait.php b/app/src/Lib/Traits/PrimaryLinkTrait.php index 579961177..ec52aa6ca 100644 --- a/app/src/Lib/Traits/PrimaryLinkTrait.php +++ b/app/src/Lib/Traits/PrimaryLinkTrait.php @@ -341,11 +341,14 @@ public function lookupPersonId($entity): ?int { return $linkEntity->person_id; } else { // Our parent link does not directly point to Person, so try recursing - // on our parent table + // on our parent table, though we might also not have a parent that points + // to a Person (eg Group -> Co). $LinkTable = TableRegistry::getTableLocator()->get($linkEntity->getSource()); - - return $LinkTable->lookupPersonId($linkEntity); + + if(method_exists($LinkTable, "lookupPersonId")) { + return $LinkTable->lookupPersonId($linkEntity); + } } }