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; }
/** * 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;
/** * 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; }
/** * * */ 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; }
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); }
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); }