Example #1
0
 * 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