$members = $this->getUsers (true);
foreach ($members as $member) {
- $user_id = $member->getID();
-
- if (!$SYS->sysCheckCreateGroup($this->getID())){
- $this->setError($SYS->getErrorMessage());
- db_rollback();
- return false;
- }
- if (!$SYS->sysCheckCreateUser($user_id)) {
- $this->setError($SYS->getErrorMessage());
- db_rollback();
- return false;
+ $roles = array();
+ foreach (RBACEngine::getInstance()->getAvailableRolesForUser ($member) as $role) {
+ if ($role->getHomeProject() && $role->getHomeProject()->getID() == $this->getID()) {
+ $roles[] = $role;
+ }
}
- if (!$SYS->sysGroupCheckUser($this->getID(),$user_id)) {
- $this->setError($SYS->getErrorMessage());
- db_rollback();
- return false;
+ foreach ($roles as $role) {
+ if (!$this->addUser($member->getUnixName(),$role->getID())) {
+ return false;
+ }
}
+
}
return true;