'pm_admin' => array(0, 1),
'forum_admin' => array(0, 1),
- 'tracker' => array(0, 1, 3, 5, 7),
+ 'tracker' => array(0, 1, 9, 11, 13, 15),
'pm' => array(0, 1, 3, 5, 7),
'forum' => array(0, 1, 2, 3, 4),
- 'new_tracker' => array(0, 1, 3, 5, 7),
+ 'new_tracker' => array(0, 1, 9, 11, 13, 15),
'new_pm' => array(0, 1, 3, 5, 7),
'new_forum' => array(0, 1, 2, 3, 4),
'docman' => array (0, 1, 2, 3, 4),
'frs' => array (0, 1, 2, 3),
- 'webcal' => array(0, 1, 2),
+// 'webcal' => array(0, 1, 2),
);
// Global permissions
'forum_admin' => 1,
'new_forum' => 3,
'tracker_admin' => 1,
- 'new_tracker' => 7,
+ 'new_tracker' => 15,
'pm_admin' => 1,
'new_pm' => 7,
'webcal' => 2,
'forum_admin' => 1,
'new_forum' => 3,
'tracker_admin' => 1,
- 'new_tracker' => 7,
+ 'new_tracker' => 15,
'pm_admin' => 1,
'new_pm' => 7,
'webcal' => 2,
'scm' => 2,
'docman' => 2,
'new_forum' => 3,
- 'new_tracker' => 3,
+ 'new_tracker' => 11,
'new_pm' => 3,
'webcal' => 2,
),
'frs' => 2,
'docman' => 4,
'new_forum' => 3,
- 'new_tracker' => 1,
+ 'new_tracker' => 9,
'new_pm' => 1,
'webcal' => 2,
),
'docman' => 1,
'new_forum' => 3,
'tracker_admin' => 1,
- 'new_tracker' => 3,
+ 'new_tracker' => 11,
'pm_admin' => 1,
'new_pm' => 7,
'webcal' => 2,
}
function linkProject ($project) { // From the PFO spec
+ global $SYS;
$hp = $this->getHomeProject();
if ($hp != NULL && $hp->getID() == $project->getID()) {
$this->setError(_("Can't link to home project"));
return false;
}
- return true;
+ $this->normalizeData();
+
+ foreach ($this->getUsers() as $u) {
+ if (!$SYS->sysCheckCreateUser($u->getID())) {
+ $this->setError($SYS->getErrorMessage());
+ return false;
+ }
+ }
+
+ return true ;
}
function unlinkProject($project) { // From the PFO spec
+ global $SYS;
$hp = $this->getHomeProject();
if ($hp != NULL && $hp->getID() == $project->getID()) {
$this->setError (_("Can't unlink from home project"));
$this->removeObsoleteSettings ();
+ foreach ($this->getUsers() as $u) {
+ if (!$SYS->sysCheckCreateUser($u->getID())) {
+ $this->setError($SYS->getErrorMessage());
+ return false;
+ }
+ }
+
return true ;
}
//
// Build an associative array of these key values + localized description
//
- $role_vals[$section][$this->role_values[$section][$i]]=$rbac_permission_names["$section".$this->role_values[$section][$i]];
+ $role_vals[$section][$this->role_values[$section][$i]] =
+ util_ifsetor($rbac_permission_names["$section".$this->role_values[$section][$i]],
+ _('UNKNOWN (internal error, report bug to FusionForge)'));
}
}
return $role_vals[$section];
case 'manager':
return (($value & 4) != 0) ;
break ;
+ case 'submit':
+ return (($value & 8) != 0) ;
+ break ;
+ /*
+ * bit4 (value & 16) is reserved
+ * for tracker item vote from Evolvis
+ */
}
break ;
foreach ($data as $sect => $refs) {
foreach ($refs as $refid => $value) {
$this->setSetting ($sect, $refid, $value) ;
- if ($sect == 'scm') {
- foreach ($this->getUsers() as $u) {
- if (!$SYS->sysGroupCheckUser($refid,$u->getID())) {
- $this->setError($SYS->getErrorMessage());
- db_rollback();
- return false;
- }
- }
- }
}
}
db_commit();
$this->fetchData($this->getID());
+
+ foreach ($this->getUsers() as $u) {
+ if (!$SYS->sysCheckCreateUser($u->getID())) {
+ $this->setError($SYS->getErrorMessage());
+ return false;
+ }
+ }
+
return true;
}
'forum')) ;
db_commit () ;
+ $this->fetchData($this->getID());
return true ;
}