public function testGetSubpanelQueryReturnsArray() { // Load up the relationship if (!$this->user1->load_relationship('reportees')) { // The relationship did not load, I'm guessing it doesn't exist $this->fail('Could not find a relationship named: reportees'); } $linkQueryParts = $this->user1->reportees->getSubpanelQuery(array('return_as_array' => true)); $this->assertTrue(is_array($linkQueryParts)); }
/** * Gets the role set of the given user * * @param User $user * @return ACLRoleSet|null */ protected function getRoleSet(User $user) { if ($user->load_relationship('acl_role_sets')) { $roleSets = $user->acl_role_sets->getBeans(); return array_shift($roleSets); } return null; }
/** * Registers current ACL role set of the user * * @param User $user */ public function registerAclRoleSet(User $user) { $user->load_relationship('acl_role_sets'); $previousRoleSet = $this->getUserRoleSet($user); $roles = $this->getUserRoles($user); if ($roles) { $currentRoleSet = $this->getRoleSetByRoles($roles); $user->acl_role_sets->add($currentRoleSet); } else { $user->acl_role_sets->delete($user->id); } if ($previousRoleSet) { $previousRoleSet->cleanUp(); } }
/** * Create a user in the seed data. */ function _create_seed_user($id, $last_name, $first_name, $user_name, $title, $is_admin, $reports_to, $reports_to_name, $email) { $u = new User(); $u->id = $id; $u->new_with_id = true; $u->last_name = $last_name; $u->first_name = $first_name; $u->user_name = $user_name; $u->title = $title; $u->status = 'Active'; $u->employee_status = 'Active'; $u->is_admin = $is_admin; $u->is_group = 0; //$u->user_password = $u->encrypt_password($user_name); $u->user_hash = User::getPasswordHash($user_name); $u->reports_to_id = $reports_to; $u->reports_to_name = $reports_to_name; //$u->email1 = $email; $u->emailAddress->addAddress($email, true); $u->emailAddress->addAddress("reply." . $email, false, true); $u->emailAddress->addAddress("alias." . $email); // bug 15371 tyoung set a user preference so that Users/DetailView.php can find something without repeatedly querying the db in vain $u->setPreference('max_tabs', '7'); $u->savePreferencesToDB(); $u->picture = $this->_copy_user_image($id); $u->save(); if ($id == "seed_jim_id") { // add to Sales Administrator Role $acl_roles = new ACLRole(); $arrRoles = $acl_roles->getAllRoles(true); foreach ($arrRoles as $role) { if ($role['name'] == "Sales Administrator") { $u->load_relationship('aclroles'); $u->aclroles->add($role['id']); // re-save user manually. otherwise the relation to role set will not be saved // because One2MBeanRelationship::add() doesn't call SugarRelationship::addToResaveList() // in workflow and during installation $u->save(); break; } } } }