Пример #1
0
        $assignRolesFor = $args->featureType;
        $target->tproject_id = $args->tproject_id;
        $target->tplan_id = $args->tplan_id;
        $featureMgr =& $tplanMgr;
        break;
}
if ($args->featureID && $args->doUpdate && $featureMgr) {
    if (checkRightsForUpdate($db, $args->user, $args->tproject_id, $args->featureType, $args->featureID)) {
        doUpdate($db, $args, $featureMgr);
        $gui->user_feedback = $gui->user_feedback == '' ? $gui->roles_updated : $gui->user_feedback;
    }
}
// --------------------------------------------------------------------------
// Important:
// Must be done here after having done update, to get current information
$gui->users = tlUser::getUserSet($db, array('where' => 'WHERE active=1'));
checkSessionValid($db);
$args->user = $_SESSION['currentUser'];
// --------------------------------------------------------------------------
switch ($assignRolesFor) {
    case 'testproject':
        $info = getTestProjectEffectiveRoles($db, $tprojectMgr, $args, $gui->users);
        list($gui->userFeatureRoles, $gui->features, $gui->featureID) = $info;
        $target->tproject_id = $gui->featureID;
        break;
    case 'testplan':
        $info = getTestPlanEffectiveRoles($db, $tplanMgr, $tprojectMgr, $args, $gui->users);
        if (is_null($info)) {
            $gui->user_feedback = lang_get('no_test_plans_available');
        }
        list($gui->userFeatureRoles, $gui->features, $gui->featureID) = $info;
Пример #2
0
 static function getTestersForHtmlOptions(&$dbHandler, $tplan, $tproject, $users = null, $testers2add = null, $activeStatus = 'active')
 {
     $orOperand = false;
     $activeTarget = 1;
     $gaOpt['where'] = ' ';
     switch ($activeStatus) {
         case 'any':
             $orOperand = true;
             $gaOpt['where'] = ' ';
             break;
         case 'inactive':
             $gaOpt['where'] = ' WHERE active = 0 ';
             $activeTarget = 0;
             break;
         case 'active':
         default:
             $gaOpt['where'] = ' WHERE active = 1 ';
             $activeTarget = 1;
             break;
     }
     if (!$users) {
         $gaOpt = array();
         $gaOpt['detailLevel'] = tlUser::TLOBJ_O_GET_DETAIL_MINIMUM;
         $users = tlUser::getUserSet($dbHandler, $gaOpt);
     }
     $users_roles = tlUser::getTestPlanEffectiveRoleForUserSet($tplan, $tproject, $users);
     $userFilter = array();
     foreach ($users_roles as $keyUserID => $roleInfo) {
         // Assign test case to test project fails for PRIVATE TEST PROJECT (tested with admin user)
         if (is_object($roleInfo['effective_role'])) {
             // Because we can receive users from outside, we do noy know if the set is
             // in line with the $activeStatus argument.
             // That's why we do (what can be seems a superfluos) a check on isActive;
             if ($roleInfo['effective_role']->hasRight('testplan_execute') && ($orOperand || $roleInfo['user']->isActive == $activeTarget)) {
                 $userFilter[$keyUserID] = $roleInfo['user'];
             }
         }
     }
     return tlUser::buildUserMap($userFilter, true, $testers2add);
 }