/** * Finds all admins who are not assigned with domain. * * Finds all admins and iterate through then making an array of 'id' => 'username' * If admin inactive username will be append by '(inactive)' then we iterate * through domain admins and removing all array elements which id is already in domain admins list. * * @param \Entities\Domain $domain Domain to look for admins * @retun array */ public function getNotAssignedForDomain($domain) { $adminNames = []; foreach ($this->findBy(["super" => false]) as $admin) { $adminNames[$admin->getId()] = $admin->getActive() ? $admin->getUsername() : $admin->getUsername() . " (inactive)"; } foreach ($domain->getAdmins() as $admin) { if (isset($adminNames[$admin->getId()])) { unset($adminNames[$admin->getId()]); } } return $adminNames; }
/** * {@inheritDoc} */ public function getAdmins() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAdmins', array()); return parent::getAdmins(); }