[evolvis-commits] r6533: Merged from upstream 4.8 branch

Roland Mas lolando at debian.org
Wed Apr 14 14:24:22 CEST 2010


Author: Roland Mas <lolando at debian.org>
Date: 2010-04-14 14:24:21 +0200 (Wed, 14 Apr 2010)
New Revision: 6533

Modified:
   trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroup.class.php
   trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroupFactory.class.php
Log:
Merged from upstream 4.8 branch

Modified: trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroup.class.php
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroup.class.php	2010-04-14 12:24:14 UTC (rev 6532)
+++ trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroup.class.php	2010-04-14 12:24:21 UTC (rev 6533)
@@ -166,6 +166,24 @@
 		$this->group_project_id=db_insertid($result,'project_group_list','group_project_id');
 		$this->fetchData($this->group_project_id);
 
+		$roles_group = $this->Group->getRolesId();
+		for ($i=0; $i<sizeof($roles_group); $i++) {
+			// set the permission for the role's group 
+			$role = new Role($this);
+			$role_name = db_query_params ('SELECT role_name from role where role_id = $1', array($roles_group[$i]));
+			$role_name = db_fetch_array($role_name);
+			$role_setting_res = db_query_params ('INSERT INTO role_setting (role_id,section_name,ref_id,value) VALUES ($1,$2,$3,$4)',
+						array ($roles_group[$i],
+						       'pm',
+						       $this->group_project_id,
+						       $role->defaults[$role_name['role_name']]['pm'])) ;
+			if (!$role_setting_res) {
+				db_rollback();
+				$this->setError('Error: Role setting for tasks id ' . $this->group_forum_id . ' for groud id ' . $this->Group->getID() . ' ' .db_error());
+				return false;
+			}
+		}
+
 		db_commit();
 
 		$this->Group->normalizeAllRoles () ;
@@ -513,6 +531,16 @@
                         return false;
                 }
 
+		$res = db_query_params ('DELETE FROM role_setting WHERE section_name=$1 AND ref_id=$2',
+				 array ('pm',
+				 $this->getID())) ;
+
+                if (!$res)
+                {
+                        $this->setError('DATABASE '.db_error());
+                        return false;
+                }
+
 		db_commit();
 
 		$this->Group->normalizeAllRoles () ;

Modified: trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroupFactory.class.php
===================================================================
--- trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroupFactory.class.php	2010-04-14 12:24:14 UTC (rev 6532)
+++ trunk/gforge_base/evolvisforge/gforge/common/pm/ProjectGroupFactory.class.php	2010-04-14 12:24:21 UTC (rev 6533)
@@ -96,8 +96,8 @@
 	WHERE group_id=$1 AND is_public<3
 	  AND group_project_id IN (SELECT role_setting.ref_id
 			           FROM role_setting, user_group
-				   WHERE role_setting.value::integer >= 0
-                                     AND role_setting.section_name = $2
+                                   WHERE role_setting.section_name = $2
+				     AND role_setting.value::integer >= 0
                                      AND role_setting.ref_id=project_group_list_vw.group_project_id
 				     AND user_group.role_id = role_setting.role_id
 				     AND user_group.user_id=$3)




More information about the evolvis-commits mailing list