Example #1
0
 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();
     }
 }
Example #4
0
 /**
  *  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;
             }
         }
     }
 }