* TestLink Open Source Project - http://testlink.sourceforge.net/ * This script is distributed under the GNU General Public License 2 or later. * * @filesource execHistory.php * **/ require_once '../../config.inc.php'; require_once 'common.php'; require_once "web_editor.php"; testlinkInitPage($db); $templateCfg = templateConfiguration(); $smarty = new TLSmarty(); $tcase_mgr = new testcase($db); $args = init_args(); $gui = initializeGui($args); $gui->execSet = $tcase_mgr->getExecutionSet($args->tcase_id); if (!is_null($gui->execSet)) { $gui->execSet = testcase::addExecIcons($gui->execSet, $smarty->tlImages); } $node['basic'] = $tcase_mgr->tree_manager->get_node_hierarchy_info($args->tcase_id); $node['specific'] = $tcase_mgr->getExternalID($args->tcase_id); $idCard = $node['specific'][0] . ' : ' . $node['basic']['name']; $gui->warning_msg = !is_null($gui->execSet) ? '' : lang_get('tcase_never_executed'); $gui->user_is_admin = $_SESSION['currentUser']->globalRole->name == 'admin' ? true : false; if (!is_null($gui->execSet)) { $gui->execPlatformSet = $tcase_mgr->getExecutedPlatforms($args->tcase_id); // get issue tracker config and object to manage TestLink - BTS integration $its = null; $tproject_mgr = new testproject($db); $info = $tproject_mgr->get_by_id($gui->tproject_id); if ($info['issue_tracker_enabled']) {
// getExecutionSet() consider only executions written to DB. // we can filter out execution that belongs to test plans / test project current user // has no right to access // does this means we need to get also for each test project/test plan present // in result set it's public/private status // // Need to get all test plans user is able to access. $testPlanSet = (array) $args->user->getAccessibleTestPlans($db, $gui->tproject_id, null, array('active' => $args->onlyActiveTestPlans)); $gui->grants = new stdClass(); $gui->grants->exec_edit_notes = null; $filters['testplan_id'] = null; foreach ($testPlanSet as $rx) { $filters['testplan_id'][] = $rx['id']; $gui->grants->exec_edit_notes[$rx['id']] = $args->user->hasRight($db, 'exec_edit_notes', $gui->tproject_id, $rx['id']); } $gui->execSet = $tcase_mgr->getExecutionSet($args->tcase_id, null, $filters); $gui->warning_msg = !is_null($gui->execSet) ? '' : lang_get('tcase_never_executed'); $gui->user_is_admin = $args->user->globalRole->name == 'admin' ? true : false; $gui->execPlatformSet = null; $gui->cfexec = null; $gui->attachments = null; if (!is_null($gui->execSet)) { $gui->execPlatformSet = $tcase_mgr->getExecutedPlatforms($args->tcase_id); // get issue tracker config and object to manage TestLink - BTS integration $its = null; $tproject_mgr = new testproject($db); $info = $tproject_mgr->get_by_id($gui->tproject_id); if ($info['issue_tracker_enabled']) { $gui->bugs = getIssues($db, $gui->execSet, $gui->tproject_id); } // get custom fields brute force => do not check if this call is needed