--- lib/plan/planView.php.orig 2014-09-28 01:08:02.000000000 +0900 +++ lib/plan/planView.php 2014-11-05 16:48:25.000000000 +0900 @@ -51,19 +51,24 @@ // Get rights for each test plan foreach($rightSet as $target) { + // DEV NOTE - CRITIC + // I've made a theorically good performance choice to + // assign to $roleObj a reference to different roleObj + // UNFORTUNATELLY this choice was responsible to destroy point object + // since second LOOP $roleObj = null; if($gui->tplans[$idk]['has_role'] > 0) { - $roleObj = &$args->user->tplanRoles[$gui->tplans[$idk]['has_role']]; + $roleObj = $args->user->tplanRoles[$gui->tplans[$idk]['has_role']]; } else if (!is_null($args->user->tprojectRoles)) { - $roleObj = &$args->user->tprojectRoles[$args->tproject_id]; + $roleObj = $args->user->tprojectRoles[$args->tproject_id]; } if(is_null($roleObj)) { - $roleObj = &$args->user->globalRole; + $roleObj = $args->user->globalRole; } $gui->tplans[$idk]['rights'][$target] = $roleObj->hasRight($target); } @@ -114,4 +119,4 @@ function checkRights(&$db,&$user) { return $user->hasRight($db,'mgt_testplan_create'); -} \ No newline at end of file +}