function initializeGui(&$dbHandler, $argsObj, &$tplanMgr, &$tcaseMgr)
{
    $platform_mgr = new tlPlatform($dbHandler, $argsObj->tproject_id);
    $tcase_cfg = config_get('testcase_cfg');
    $gui = new stdClass();
    $gui->platforms = $platform_mgr->getLinkedToTestplanAsMap($argsObj->tplan_id);
    $gui->usePlatforms = $platform_mgr->platformsActiveForTestplan($argsObj->tplan_id);
    $gui->bulk_platforms = $platform_mgr->getLinkedToTestplanAsMap($argsObj->tplan_id);
    $gui->bulk_platforms[0] = lang_get("all_platforms");
    ksort($gui->bulk_platforms);
    $gui->send_mail = $argsObj->send_mail;
    $gui->send_mail_checked = "";
    if ($gui->send_mail) {
        $gui->send_mail_checked = ' checked="checked" ';
    }
    $gui->glueChar = $tcase_cfg->glue_character;
    if ($argsObj->level != 'testproject') {
        $gui->testCasePrefix = $tcaseMgr->tproject_mgr->getTestCasePrefix($argsObj->tproject_id);
        $gui->testCasePrefix .= $tcase_cfg->glue_character;
        $gui->keywordsFilterType = $argsObj->keywordsFilterType;
        $gui->build_id = $argsObj->build_id;
        $gui->tplan_id = $argsObj->tplan_id;
        $tplan_info = $tplanMgr->get_by_id($argsObj->tplan_id);
        $gui->testPlanName = $tplan_info['name'];
        $build_info = $tplanMgr->get_build_by_id($argsObj->tplan_id, $argsObj->build_id);
        $gui->buildName = $build_info['name'];
        $gui->main_descr = sprintf(lang_get('title_tc_exec_assignment'), $gui->buildName, $gui->testPlanName);
        $tproject_mgr = new testproject($dbHandler);
        $tproject_info = $tproject_mgr->get_by_id($argsObj->tproject_id);
        $gui->all_users = tlUser::getAll($dbHandler, null, "id", null);
        $gui->users = getUsersForHtmlOptions($dbHandler, null, null, null, $gui->all_users);
        $gui->testers = getTestersForHtmlOptions($dbHandler, $argsObj->tplan_id, $tproject_info, $gui->all_users);
    }
    return $gui;
}
Beispiel #2
0
/**
 * Get info about user(s) role at test project level,
 * with indication about the nature of role: inherited or assigned.
 * 
 * To get a user role we consider a 3 layer model:
 *          layer 1 - user           <--- uplayer
 *          layer 2 - test project   <--- in this fuction we are interested in this level.
 *          layer 3 - test plan
 * 
 * args : $tproject_id
 *        [$user_id]
 * 
 * @return array map with effetive_role in context ($tproject_id)
 *          key: user_id 
 *          value: map with keys:
 *                 login                (from users table - useful for debug)
 *                 user_role_id         (from users table - useful for debug)
 *                 uplayer_role_id      (always = user_role_id)
 *                 uplayer_is_inherited
 *                 effective_role_id  user role for test project
 *                 is_inherited
 */
function get_tproject_effective_role(&$db, $tproject, $user_id = null, $users = null)
{
    $effective_role = array();
    $tproject_id = $tproject['id'];
    if (!is_null($user_id)) {
        $users = tlUser::getByIDs($db, (array) $user_id);
    } else {
        if (is_null($users)) {
            $users = tlUser::getAll($db);
        }
    }
    if ($users) {
        foreach ($users as $id => $user) {
            // manage admin exception
            $isInherited = 1;
            $effectiveRoleID = $user->globalRoleID;
            $effectiveRole = $user->globalRole;
            if ($user->globalRoleID != TL_ROLES_ADMIN && !$tproject['is_public']) {
                $isInherited = $tproject['is_public'];
                $effectiveRoleID = TL_ROLES_NO_RIGHTS;
                $effectiveRole = '<no rights>';
            }
            if (isset($user->tprojectRoles[$tproject_id])) {
                $isInherited = 0;
                $effectiveRoleID = $user->tprojectRoles[$tproject_id]->dbID;
                $effectiveRole = $user->tprojectRoles[$tproject_id];
            }
            $effective_role[$id] = array('login' => $user->login, 'user' => $user, 'user_role_id' => $user->globalRoleID, 'uplayer_role_id' => $user->globalRoleID, 'uplayer_is_inherited' => 0, 'effective_role_id' => $effectiveRoleID, 'effective_role' => $effectiveRole, 'is_inherited' => $isInherited);
        }
    }
    return $effective_role;
}
        $target->testprojectID = $args->testprojectID;
        $featureMgr =& $tplanMgr;
        break;
}
if ($args->featureID && $args->doUpdate && $featureMgr) {
    if (checkRightsForUpdate($db, $args->user, $args->testprojectID, $args->featureType, $args->featureID)) {
        doUpdate($db, $args, $featureMgr);
        if ($gui->user_feedback == '') {
            $gui->user_feedback = $gui->roles_updated;
        }
    }
}
// --------------------------------------------------------------------------
// Important:
// Must be done here after having done update, to get current information
$gui->users = tlUser::getAll($db, "WHERE active=1", null, null, tlUser::TLOBJ_O_GET_DETAIL_MINIMUM);
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->testprojectID = $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;
Beispiel #4
0
/**
 * Get info about user(s) role at test project level,
 * with indication about the nature of role: inherited or assigned.
 * 
 * To get a user role we consider a 3 layer model:
 *          layer 1 - user           <--- uplayer
 *          layer 2 - test project   <--- in this fuction we are interested in this level.
 *          layer 3 - test plan
 * 
 * args : $tproject_id
 *        [$user_id]
 * 
 * @return array map with effetive_role in context ($tproject_id)
 *          key: user_id 
 *          value: map with keys:
 *                 login                (from users table - useful for debug)
 *                 user_role_id         (from users table - useful for debug)
 *                 uplayer_role_id      (always = user_role_id)
 *                 uplayer_is_inherited
 *                 effective_role_id  user role for test project
 *                 is_inherited
 */
function get_tproject_effective_role(&$db, $tproject_id, $user_id = null, $users = null)
{
    $effective_role = array();
    if (!is_null($user_id)) {
        $users = tlUser::getByIDs($db, (array) $user_id);
    } else {
        if (is_null($users)) {
            $users = tlUser::getAll($db);
        }
    }
    if ($users) {
        foreach ($users as $id => $user) {
            $isInherited = 1;
            $effectiveRoleID = $user->globalRoleID;
            $effectiveRole = $user->globalRole;
            if (isset($user->tprojectRoles[$tproject_id])) {
                $isInherited = 0;
                $effectiveRoleID = $user->tprojectRoles[$tproject_id]->dbID;
                $effectiveRole = $user->tprojectRoles[$tproject_id];
            }
            $effective_role[$id] = array('login' => $user->login, 'user' => $user, 'user_role_id' => $user->globalRoleID, 'uplayer_role_id' => $user->globalRoleID, 'uplayer_is_inherited' => 0, 'effective_role_id' => $effectiveRoleID, 'effective_role' => $effectiveRole, 'is_inherited' => $isInherited);
        }
    }
    return $effective_role;
}
Beispiel #5
0
/**
 * 
 *
 */
function initializeGui(&$dbHandler, &$argsObj)
{
    $gui = new stdClass();
    $gui->logLevels = array(tlLogger::AUDIT => lang_get("log_level_AUDIT"), tlLogger::ERROR => lang_get("log_level_ERROR"), tlLogger::WARNING => lang_get("log_level_WARNING"), tlLogger::INFO => lang_get("log_level_INFO"), tlLogger::DEBUG => lang_get("log_level_DEBUG"));
    $gui->allusers = tlUser::getAll($dbHandler);
    // THIS IS AN OVERKILL because get ALL USER OBJECTS
    $gui->testers = getUsersForHtmlOptions($dbHandler, null, null, true, $gui->allusers);
    $gui->users = getUsersForHtmlOptions($dbHandler);
    $gui->users[0] = false;
    $gui->startDate = $argsObj->startDate;
    $gui->endDate = $argsObj->endDate;
    $gui->object_id = $argsObj->object_id;
    $gui->object_type = $argsObj->object_type;
    $gui->selectedLogLevels = $argsObj->logLevel ? array_values($argsObj->logLevel) : array();
    $gui->selectedTesters = $argsObj->testers ? array_values($argsObj->testers) : array();
    // $gui->canDelete = has_rights($db,"events_mgt") ? 1 : 0;
    $gui->canDelete = $argsObj->currentUser->hasRight($dbHandler, "events_mgt");
    $gui->warning_msg = "";
    $gui->tableSet = null;
    return $gui;
}
Beispiel #6
0
function getUsersForHtmlOptions(&$db, $whereClause = null, $additional_users = null, $active_filter = null, $users = null, $opt = null)
{
    $users_map = null;
    if (!$users) {
        $sqlWhere = $whereClause;
        if (!is_null($active_filter)) {
            $whereClause .= ' AND active =' . ($active_filter > 0 ? 1 : 0) . ' ';
        }
        $users = tlUser::getAll($db, $sqlWhere, "id", null, tlUser::TLOBJ_O_GET_DETAIL_MINIMUM);
    }
    return buildUserMap($users, !is_null($additional_users), $additional_users, $opt);
}
Beispiel #7
0
function getUsersForHtmlOptions(&$db, $whereClause = null, $additional_users = null, $active_filter = null, $users = null)
{
    $users_map = null;
    if (!$users) {
        $sqlWhere = $whereClause;
        if (!is_null($active_filter)) {
            $whereClause .= ' AND active =' . ($active_filter > 0 ? 1 : 0) . ' ';
        }
        $users = tlUser::getAll($db, $sqlWhere, "id", null, tlUser::TLOBJ_O_GET_DETAIL_MINIMUM);
    }
    //$the_users = $users;
    // if ($users)
    // {
    // 	if(!is_null($active_filter))
    // 	{
    // 		$the_users = array();
    // 		foreach($users as $id => $user)
    // 		{
    // 			if($user->isActive == $active_filter)
    // 			{
    // 				$the_users[$id] = $users[$id];
    // 			}
    // 		}
    // 	}
    // }
    return buildUserMap($users, !is_null($additional_users), $additional_users);
}