Exemplo n.º 1
0
 *
**/
require '../../config.inc.php';
require_once 'common.php';
require_once 'exttable.class.php';
testlinkInitPage($db, false, false, "checkRights");
$templateCfg = templateConfiguration();
$args = init_args();
$gui = new stdClass();
$gui->tproject_name = $args->tproject_name;
$gui->show_only_active = $args->show_only_active;
$gui->warning_msg = '';
list($gui->tplan_metrics, $gui->show_platforms) = getMetrics($db, $args);
if (count($gui->tplan_metrics) > 0) {
    // Create column headers
    $columns = getColumnsDefinition($gui->show_platforms);
    // Extract the relevant data and build a matrix
    $matrixData = array();
    foreach ($gui->tplan_metrics as $tplan_metrics) {
        foreach ($tplan_metrics as $platform_metric) {
            $rowData = array();
            $rowData[] = strip_tags($platform_metric['tplan_name']);
            if ($gui->show_platforms) {
                $rowData[] = strip_tags($platform_metric['platform_name']);
            }
            $rowData[] = $platform_metric['total'];
            $rowData[] = $platform_metric['active'];
            $rowData[] = $platform_metric['executed'];
            //to be able to properly sort by percentage add html comment
            //show percentage for platforms/testplan with no executed test cases as 0
            $executed_vs_active_string = "<!-- 0 -->0";
Exemplo n.º 2
0
        $map_statuscode_css[$code]['translation'] = lang_get($label);
        $map_statuscode_css[$code]['css_class'] = $map_code_status[$code] . '_text';
    }
}
// Get all test cases created by user in the current project
$options = new stdClass();
$options->mode = 'full_path';
$gui->resultSet = $tcase_mgr->get_created_per_user($args->tproject_id, $args->tplan_id, $options);
if ($doIt = !is_null($gui->resultSet)) {
    $tables = tlObjectWithDB::getDBTables(array('nodes_hierarchy'));
    $tplanSet = array_keys($gui->resultSet);
    $sql = "SELECT name,id FROM {$tables['nodes_hierarchy']} " . "WHERE id IN (" . implode(',', $tplanSet) . ")";
    $gui->tplanNames = $db->fetchRowsIntoMap($sql, 'id');
    $optColumns = array('priority' => $args->priority_enabled);
    foreach ($gui->resultSet as $tplan_id => $tcase_set) {
        list($columns, $sortByColumn) = getColumnsDefinition($optColumns);
        $rows = array();
        foreach ($tcase_set as $tcase_platform) {
            foreach ($tcase_platform as $tcase) {
                $current_row = array();
                $tcase_id = $tcase['testcase_id'];
                $tcversion_id = $tcase['tcversion_id'];
                $current_row[] = htmlspecialchars($tcase['login']);
                $current_row[] = htmlspecialchars($tcase['tcase_full_path']);
                // create linked icons
                $exec_history_link = "<a href=\"javascript:openExecHistoryWindow({$tcase_id});\">" . "<img title=\"{$l18n['execution_history']}\" src=\"{$history_img}\" /></a> ";
                $edit_link = "<a href=\"javascript:openTCEditWindow({$gui->tproject_id},{$tcase_id});\">" . "<img title=\"{$l18n['design']}\" src=\"{$edit_img}\" /></a> ";
                $current_row[] = "<!-- " . sprintf("%010d", $tcase['tc_external_id']) . " -->" . $exec_history_link . $edit_link . htmlspecialchars($tcase['prefix']) . $gui->glueChar . $tcase['tc_external_id'] . " : " . htmlspecialchars($tcase['name']) . sprintf($l18n['tcversion_indicator'], $tcase['version']);
                if ($args->priority_enabled) {
                    //BUGID 4418 - clean up priority usage
                    $current_row[] = "<!-- " . $tcase['priority'] . " -->" . $priority[priority_to_level($tcase['priority'])];
Exemplo n.º 3
0
            $testcase_bugs[$tc_id] = array($suiteName, $tc_name, array());
        }
        foreach ($bug_urls as $url) {
            if (!in_array($url, $testcase_bugs[$tc_id][2])) {
                $testcase_bugs[$tc_id][2][] = $url;
            }
        }
    }
}
foreach ($testcase_bugs as &$row) {
    $row[2] = implode("<br/>", $row[2]);
}
$arrData = array_values($testcase_bugs);
if (count($arrData) > 0) {
    // Create column headers
    $columns = getColumnsDefinition();
    // Extract the relevant data and build a matrix
    $matrixData = array();
    foreach ($arrData as $bugs) {
        $rowData = array();
        $rowData[] = $bugs[0];
        $rowData[] = $bugs[1];
        $rowData[] = $bugs[2];
        $matrixData[] = $rowData;
    }
    $table = new tlExtTable($columns, $matrixData, 'tl_table_bugs_per_test_case');
    $table->setGroupByColumnName(lang_get('title_test_suite_name'));
    $table->setSortByColumnName(lang_get('title_test_case_title'));
    $table->sortDirection = 'ASC';
    $table->showToolbar = true;
    $table->toolbarExpandCollapseGroupsButton = true;
function initializeGuiForResult(&$dbHandler, $argsObj, &$guiObj)
{
    $rcfg = config_get('results');
    $map_status_code = $rcfg['status_code'];
    $map_code_status = $rcfg['code_status'];
    $map_status_label = $rcfg['status_label'];
    $map_statuscode_css = array();
    foreach ($map_code_status as $code => $status) {
        if (isset($map_status_label[$status])) {
            $label = $map_status_label[$status];
            $map_statuscode_css[$code] = array();
            $map_statuscode_css[$code]['translation'] = lang_get($label);
            $map_statuscode_css[$code]['css_class'] = $map_code_status[$code] . '_text';
        }
    }
    $options = array();
    // convert starttime to iso format for database usage
    $dateFormat = config_get('date_format');
    $k2l = array('selected_start_date' => 'startTime', 'selected_end_date' => 'endTime');
    foreach ($k2l as $in => $opt) {
        if (isset($argsObj->{$in}) && sizeof($argsObj->{$in}) > 0) {
            $dd = split_localized_date(current($argsObj->{$in}), $dateFormat);
            if ($dd != null) {
                $options[$opt] = $dd['year'] . "-" . $dd['month'] . "-" . $dd['day'];
            }
        }
    }
    $options['startTime'] .= " " . (isset($argsObj->start_Hour) ? $argsObj->start_Hour : "00") . ":00:00";
    $options['endTime'] .= " " . (isset($argsObj->end_Hour) ? $argsObj->end_Hour : "00") . ":59:59";
    $mgr = new testproject($dbHandler);
    $guiObj->resultSet = $mgr->getTestCasesCreatedByUser($argsObj->tproject_id, $argsObj->user_id, $options);
    if (!is_null($guiObj->resultSet)) {
        // test case can exist multiple times, due to versions
        $rows = array();
        foreach ($guiObj->resultSet as $idx => $itemInfo) {
            list($columns, $sortByColumn) = getColumnsDefinition();
            foreach ($itemInfo as $tcase) {
                $current_row = array();
                $tcase_id = $tcase['tcase_id'];
                $tcversion_id = $tcase['tcversion_id'];
                $current_row[] = htmlspecialchars($tcase['login']);
                $current_row[] = htmlspecialchars($tcase['path']);
                // Create linked icons
                $edit_link = "<a href=\"javascript:openTCEditWindow({$tcase_id},{$tcversion_id});\">" . "<img title=\"{$guiObj->l18n['design']}\" src=\"{$guiObj->images['edit']}\" /></a> ";
                $current_row[] = "<!-- " . sprintf("%010d", $tcase['external_id']) . " -->" . $edit_link . htmlspecialchars($tcase['external_id']) . " : " . htmlspecialchars($tcase['tcase_name']) . sprintf($guiObj->l18n['tcversion_indicator'], $tcase['version']);
                $current_row[] = $tcase['importance'];
                $current_row[] = $tcase['creation_ts'];
                $current_row[] = $tcase['modification_ts'];
                $rows[] = $current_row;
            }
        }
        // Different table ID for different reports:
        $table_id = "tl_table_tc_created_per_user_";
        // Add test plan ID to table ID
        $table_id .= $guiObj->tproject_id;
        $matrix = new tlExtTable($columns, $rows, $table_id);
        $matrix->title = $guiObj->l18n['testproject'] . ": " . htmlspecialchars($guiObj->tproject_name);
        //
        // @TODO how this work ?
        // $matrix->addCustomBehaviour(arg1, arg2)
        // arg1: type that can be user defined, here we use 'importance'.
        // arg2: array with methods
        //       'render' => javascript render method (has to be present on inc_ext_table.tpl).
        //       'filter' => piece of name used on several files
        //                   1. on exttable.class.php is used on buildColumns() to call build{piece}FilterOptions()
        //                   2. on ext_extensions a method named Ext.ux.grid.filter.{piece}Filter
        //                      has to exists or rendering will fail
        //
        $matrix->addCustomBehaviour('importance', array('render' => 'importanceRenderer', 'filter' => 'Importance'));
        // Default grouping by first column, which is user for overview, build otherwise
        $matrix->setGroupByColumnName(lang_get($columns[0]['title_key']));
        // Define toolbar
        $matrix->showToolbar = true;
        $matrix->toolbarExpandCollapseGroupsButton = true;
        $matrix->toolbarShowAllColumnsButton = true;
        // TICKET 5562: Test Cases created per User - toolbar refresh button breaks filter behaivour
        $matrix->toolbarDefaultStateButton = false;
        $matrix->toolbarRefreshButton = false;
        $matrix->setSortByColumnName($sortByColumn);
        $matrix->sortDirection = 'DESC';
        $guiObj->tableSet[$guiObj->tproject_id] = $matrix;
    }
}
Exemplo n.º 5
0
$options = new stdClass();
$options->mode = 'full_path';
$filters = initFilters($args);
$tplan_param = $args->tplan_id ? array($args->tplan_id) : testcase::ALL_TESTPLANS;
$tcase_mgr = new testcase($db);
$gui->resultSet = $tcase_mgr->get_assigned_to_user($args->user_id, $args->tproject_id, $tplan_param, $options, $filters);
$doIt = !is_null($gui->resultSet);
if ($doIt) {
    $tables = tlObjectWithDB::getDBTables(array('nodes_hierarchy'));
    $tplanSet = array_keys($gui->resultSet);
    $sql = "SELECT name,id FROM {$tables['nodes_hierarchy']} " . "WHERE id IN (" . implode(',', $tplanSet) . ")";
    $gui->tplanNames = $db->fetchRowsIntoMap($sql, 'id');
    $optColumns = array('user' => $args->show_user_column, 'priority' => $args->priority_enabled);
    $whoiam = $args->show_all_users ? 'tcAssignedToUser' : 'tcAssignedToMe';
    foreach ($gui->resultSet as $tplan_id => $tcase_set) {
        list($columns, $sortByColumn, $show_platforms) = getColumnsDefinition($db, $tplan_id, $optColumns);
        $rows = array();
        foreach ($tcase_set as $tcase_platform) {
            foreach ($tcase_platform as $tcase) {
                $current_row = array();
                $tcase_id = $tcase['testcase_id'];
                $tcversion_id = $tcase['tcversion_id'];
                if ($args->show_user_column) {
                    $current_row[] = htmlspecialchars($args->userSet[$tcase['user_id']]['login']);
                }
                $current_row[] = htmlspecialchars($tcase['build_name']);
                $current_row[] = htmlspecialchars($tcase['tcase_full_path']);
                // create linked icons
                $exec_history_link = "<a href=\"javascript:openExecHistoryWindow({$tcase_id});\">" . "<img title=\"{$gui->l18n['execution_history']}\" src=\"{$imgSet['history_small']}\" /></a> ";
                $exec_link = "<a href=\"javascript:openExecutionWindow(" . "{$tcase_id},{$tcversion_id},{$tcase['build_id']}," . "{$tcase['testplan_id']},{$tcase['platform_id']},'{$whoiam}');\">" . "<img title=\"{$gui->l18n['execution']}\" src=\"{$imgSet['exec_icon']}\" /></a> ";
                $edit_link = "<a href=\"javascript:openTCEditWindow({$tcase_id});\">" . "<img title=\"{$gui->l18n['design']}\" src=\"{$imgSet['edit_icon']}\" /></a> ";
Exemplo n.º 6
0
$gui = new stdClass();
$gui->freeTestCases = $tproject_mgr->getFreeTestCases($args->tproject_id);
$gui->path_info = null;
$gui->tableSet = null;
if (!is_null($gui->freeTestCases['items'])) {
    if ($gui->freeTestCases['allfree']) {
        // has no sense display all test cases => display just message.
        $msg_key = 'all_testcases_are_free';
    } else {
        $msg_key = '';
        $tcasePrefix = $tproject_mgr->getTestCasePrefix($args->tproject_id) . $tcase_cfg->glue_character;
        $tcaseSet = array_keys($gui->freeTestCases['items']);
        $options = array('output_format' => 'path_as_string');
        $tsuites = $tproject_mgr->tree_manager->get_full_path_verbose($tcaseSet, $options);
        $titleSeperator = config_get('gui_title_separator_1');
        $columns = getColumnsDefinition($priorityMgmtEnabled);
        // Extract the relevant data and build a matrix
        $matrixData = array();
        $impCfg = config_get('importance');
        $impCodeVerbose = array_flip($impCfg['verbose_code']);
        foreach ($impCfg['verbose_label'] as $verbose => $lblkey) {
            $impCodeLabel[$impCfg['verbose_code'][$verbose]] = lang_get($lblkey);
        }
        foreach ($gui->freeTestCases['items'] as $tcases) {
            $rowData = array();
            $rowData[] = strip_tags($tsuites[$tcases['id']]);
            //build test case link
            $edit_link = "<a href=\"javascript:openTCEditWindow({$gui->tproject_id},{$tcases['id']});\">" . "<img title=\"{$edit_label}\" src=\"{$edit_img}\" /></a> ";
            $tcaseName = $tcasePrefix . $tcases['tc_external_id'] . $titleSeperator . strip_tags($tcases['name']);
            $tcLink = "<!-- " . sprintf("%010d", $tcases['tc_external_id']) . " -->" . $edit_link . $tcaseName;
            $rowData[] = $tcLink;
Exemplo n.º 7
0
// BUGID 3647
if ($args->build_id) {
    $filters['build_id'] = $args->build_id;
}
$tplan_param = $args->tplan_id ? array($args->tplan_id) : testcase::ALL_TESTPLANS;
$gui->resultSet = $tcase_mgr->get_assigned_to_user($args->user_id, $args->tproject_id, $tplan_param, $options, $filters);
$doIt = !is_null($gui->resultSet);
if ($doIt) {
    $tables = tlObjectWithDB::getDBTables(array('nodes_hierarchy'));
    $tplanSet = array_keys($gui->resultSet);
    $sql = "SELECT name,id FROM {$tables['nodes_hierarchy']} " . "WHERE id IN (" . implode(',', $tplanSet) . ")";
    $gui->tplanNames = $db->fetchRowsIntoMap($sql, 'id');
    $optColumns = array('user' => $args->show_user_column, 'priority' => $args->priority_enabled);
    foreach ($gui->resultSet as $tplan_id => $tcase_set) {
        $show_platforms = !is_null($tplan_mgr->getPlatforms($tplan_id));
        list($columns, $sortByColumn) = getColumnsDefinition($optColumns, $show_platforms);
        $rows = array();
        foreach ($tcase_set as $tcase_platform) {
            foreach ($tcase_platform as $tcase) {
                $current_row = array();
                $tcase_id = $tcase['testcase_id'];
                $tcversion_id = $tcase['tcversion_id'];
                if ($args->show_user_column) {
                    $current_row[] = htmlspecialchars($names[$tcase['user_id']]['login']);
                }
                $current_row[] = htmlspecialchars($tcase['build_name']);
                $current_row[] = htmlspecialchars($tcase['tcase_full_path']);
                $current_row[] = "<a href=\"lib/testcases/archiveData.php?edit=testcase&id={$tcase_id}\" " . " title=\"{$l18n['goto_testspec']}\">" . htmlspecialchars($tcase['prefix']) . $gui->glueChar . $tcase['tc_external_id'] . ":" . htmlspecialchars($tcase['name']) . sprintf($l18n['tcversion_indicator'], $tcase['version']) . "</a>";
                if ($show_platforms) {
                    $current_row[] = htmlspecialchars($tcase['platform_name']);
                }
Exemplo n.º 8
0
require_once "common.php";
require_once 'exttable.class.php';
testlinkInitPage($db, false, false, "checkRights");
$templateCfg = templateConfiguration();
$charset = config_get('charset');
$labels = init_labels(array('design' => null, 'execution' => null, 'no_linked_tc_cf' => null));
$exec_img = TL_THEME_IMG_DIR . "exec_icon.png";
$edit_img = TL_THEME_IMG_DIR . "edit_icon.png";
$tcase_mgr = new testcase($db);
$args = init_args($db);
$gui = initializeGui($db, $args);
if ($args->doIt) {
    // Get executions with custom field values
    buildResultSet($db, $gui, $args->tproject_id, $args->tplan_id);
    // Create column headers
    $columns = getColumnsDefinition($args->showPlatforms, $gui->cfields);
    // Extract the relevant data and build a matrix
    $matrixData = array();
    foreach ($gui->resultSet as $item) {
        $rowData = array();
        // Get test suite path
        $dummy = $tcase_mgr->getPathLayered(array($item['tcase_id']));
        $dummy = end($dummy);
        $rowData[] = $dummy['value'];
        // create linked icons
        $exec_link = "<a href=\"javascript:openExecutionWindow(" . "{$item['tcase_id']}, {$item['tcversion_id']}, {$item['builds_id']}, " . "{$args->tplan_id}, {$item['platform_id']});\">" . "<img title=\"{$labels['execution']}\" src=\"{$exec_img}\" /></a> ";
        $edit_link = "<a href=\"javascript:openTCEditWindow({$item['tcase_id']});\">" . "<img title=\"{$labels['design']}\" src=\"{$edit_img}\" /></a> ";
        $tcaseName = buildExternalIdString($gui->tcasePrefix, $item['tc_external_id']) . ' : ' . $item['tcase_name'];
        $tcLink = $exec_link . $edit_link . $tcaseName;
        $rowData[] = $tcLink;
        //$rowData[] = '<a href="lib/testcases/archiveData.php?edit=testcase&id=' . $item['tcase_id'] . '">' .
/**
* initialize Gui
*/
function initializeGui(&$db, &$args, $dateFormat)
{
    $gui = new stdClass();
    $gui->glueChar = config_get('testcase_cfg')->glue_character;
    $gui->tproject_id = $args->tproject_id;
    $gui->tproject_name = $args->tproject_name;
    $gui->warning_msg = '';
    $gui->tableSet = null;
    $history_img = TL_THEME_IMG_DIR . "history_small.png";
    $exec_img = TL_THEME_IMG_DIR . "exec_icon.png";
    $edit_img = TL_THEME_IMG_DIR . "edit_icon.png";
    $l18n = init_labels(array('tcversion_indicator' => null, 'goto_testspec' => null, 'version' => null, 'testplan' => null, 'assigned_tc_overview' => null, 'testcases_created_per_user' => null, 'design' => null, 'execution' => null, 'execution_history' => null, 'low_priority' => null, 'medium_priority' => null, 'high_priority' => null));
    $gui->pageTitle = sprintf($l18n['testcases_created_per_user'], $gui->tproject_name);
    $results_config = config_get('results');
    $map_status_code = $results_config['status_code'];
    $map_code_status = $results_config['code_status'];
    $map_status_label = $results_config['status_label'];
    $map_statuscode_css = array();
    foreach ($map_code_status as $code => $status) {
        if (isset($map_status_label[$status])) {
            $label = $map_status_label[$status];
            $map_statuscode_css[$code] = array();
            $map_statuscode_css[$code]['translation'] = lang_get($label);
            $map_statuscode_css[$code]['css_class'] = $map_code_status[$code] . '_text';
        }
    }
    $options = new stdClass();
    // convert starttime to iso format for database usage
    if (isset($args->selected_start_date) && sizeof($args->selected_start_date) > 0) {
        $date_array = split_localized_date($args->selected_start_date[0], $dateFormat);
        if ($date_array != null) {
            // set date in iso format
            $options->startTime = $date_array['year'] . "-" . $date_array['month'] . "-" . $date_array['day'];
        }
    }
    // convert starttime to iso format for database usage
    if (isset($args->selected_end_date) && sizeof($args->selected_end_date) > 0) {
        $date_array = split_localized_date($args->selected_end_date[0], $dateFormat);
        if ($date_array != null) {
            // set date in iso format
            $options->endTime = $date_array['year'] . "-" . $date_array['month'] . "-" . $date_array['day'];
        }
    }
    $start_hour = isset($args->start_Hour) ? $args->start_Hour : "00";
    $options->startTime = $options->startTime . " " . $start_hour . ":00:00";
    $end_hour = isset($args->end_Hour) ? $args->end_Hour : "00";
    $options->endTime = $options->endTime . " " . $end_hour . ":59:59";
    $options->mode = 'full_path';
    // TBD: remove it
    $options->tplan_id = $args->tplan_id;
    // used to retrieve test cases from
    $tcase_mgr = new testcase($db);
    $gui->resultSet = $tcase_mgr->get_created_per_user($args->user_id, $args->tproject_id, $options);
    if (!is_null($gui->resultSet)) {
        $tables = tlObjectWithDB::getDBTables(array('nodes_hierarchy'));
        $tplanSet = array_keys($gui->resultSet);
        $sql = "SELECT name,id FROM {$tables['nodes_hierarchy']} " . "WHERE id IN (" . implode(',', $tplanSet) . ")";
        $gui->tplanNames = $db->fetchRowsIntoMap($sql, 'id');
        $optColumns = array('priority' => $args->priority_enabled);
        // For each test case set under a test plan ID, create the rows and columns
        foreach ($gui->resultSet as $tplan_id => $tcase_set) {
            list($columns, $sortByColumn) = getColumnsDefinition($optColumns);
            $rows = array();
            foreach ($tcase_set as $tcase_platform) {
                foreach ($tcase_platform as $tcase) {
                    $current_row = array();
                    $tcase_id = $tcase['testcase_id'];
                    $tcversion_id = $tcase['tcversion_id'];
                    $current_row[] = htmlspecialchars($tcase['login']);
                    $current_row[] = htmlspecialchars($tcase['tcase_full_path']);
                    // Create linked icons
                    $exec_history_link = "<a href=\"javascript:openExecHistoryWindow({$tcase_id});\">" . "<img title=\"{$l18n['execution_history']}\" src=\"{$history_img}\" /></a> ";
                    $edit_link = "<a href=\"javascript:openTCEditWindow({$tcase_id});\">" . "<img title=\"{$l18n['design']}\" src=\"{$edit_img}\" /></a> ";
                    $current_row[] = "<!-- " . sprintf("%010d", $tcase['tc_external_id']) . " -->" . $exec_history_link . $edit_link . htmlspecialchars($tcase['prefix']) . $gui->glueChar . $tcase['tc_external_id'] . " : " . htmlspecialchars($tcase['name']) . sprintf($l18n['tcversion_indicator'], $tcase['version']);
                    $last_execution = $tcase_mgr->get_last_execution($tcase_id, $tcversion_id, $tplan_id, $tcase['build_id'], $tcase['platform_id']);
                    $status = $last_execution[$tcversion_id]['status'];
                    if (!$status) {
                        $status = $map_status_code['not_run'];
                    }
                    $current_row[] = array("value" => $status, "text" => $map_statuscode_css[$status]['translation'], "cssClass" => $map_statuscode_css[$status]['css_class']);
                    $current_row[] = $tcase['creation_ts'];
                    $current_row[] = $tcase['modification_ts'];
                    // add this row to the others
                    $rows[] = $current_row;
                }
            }
            // Different table ID for different reports:
            $table_id = "tl_table_tc_created_per_user_";
            // Add test plan ID to table ID
            $table_id .= $tplan_id;
            $matrix = new tlExtTable($columns, $rows, $table_id);
            $matrix->title = $l18n['testplan'] . ": " . htmlspecialchars($gui->tplanNames[$tplan_id]['name']);
            // Default grouping by first column, which is user for overview, build otherwise
            $matrix->setGroupByColumnName(lang_get($columns[0]['title_key']));
            // Make table collapsible if more than 1 table is shown and surround by frame
            if (count($tplanSet) > 1) {
                $matrix->collapsible = true;
                $matrix->frame = true;
            }
            // Define toolbar
            $matrix->showToolbar = true;
            $matrix->toolbarExpandCollapseGroupsButton = true;
            $matrix->toolbarShowAllColumnsButton = true;
            $matrix->setSortByColumnName($sortByColumn);
            $matrix->sortDirection = 'DESC';
            $gui->tableSet[$tplan_id] = $matrix;
        }
    }
    return $gui;
}
require '../../config.inc.php';
require_once 'common.php';
require_once 'exttable.class.php';
$templateCfg = templateConfiguration();
//testlinkInitPage($db,false,false,"checkRights");
list($args, $gui) = initEnv($db);
$result_cfg = config_get('results');
$show_all_status_details = config_get('metrics_dashboard')->show_test_plan_status;
$round_precision = config_get('dashboard_precision');
$labels = init_labels(array('overall_progress' => null, 'test_plan' => null, 'progress' => null, 'href_metrics_dashboard' => null, 'progress_absolute' => null, 'no_testplans_available' => null, 'not_aplicable' => null, 'platform' => null, 'th_active_tc' => null, 'in_percent' => null));
list($gui->tplan_metrics, $gui->show_platforms, $platforms) = getMetrics($db, $_SESSION['currentUser'], $args, $result_cfg, $labels);
// new dBug($gui->tplan_metrics);
if (count($gui->tplan_metrics) > 0) {
    $statusSetForDisplay = $result_cfg['status_label_for_exec_ui'];
    $gui->warning_msg = '';
    $columns = getColumnsDefinition($gui->show_platforms, $statusSetForDisplay, $labels, $platforms);
    $matrixData = array();
    if (isset($gui->tplan_metrics['testplans'])) {
        foreach ($gui->tplan_metrics['testplans'] as $tplan_metrics) {
            foreach ($tplan_metrics['platforms'] as $key => $platform_metric) {
                //new dBug($platform_metric);
                $rowData = array();
                // if test plan does not use platforms a overall status is not necessary
                $tplan_string = strip_tags($platform_metric['tplan_name']);
                if ($show_all_status_details) {
                    // add information for all exec statuses
                    $tplan_string .= "<br>";
                    foreach ($statusSetForDisplay as $status_verbose => &$status_label) {
                        $tplan_string .= lang_get($status_label) . ": " . $tplan_metrics['overall'][$status_verbose] . " [" . getPercentage($tplan_metrics['overall'][$status_verbose], $tplan_metrics['overall']['active'], $round_precision) . "%], ";
                    }
                } else {
Exemplo n.º 11
0
$templateCfg = templateConfiguration();
$args = init_args($db);
checkRights($db, $_SESSION['currentUser'], $args);
$gui = new stdClass();
$gui->tproject_name = $args->tproject_name;
$gui->show_only_active = $args->show_only_active;
$result_cfg = config_get('results');
$show_all_status_details = config_get('metrics_dashboard')->show_test_plan_status;
$round_precision = config_get('dashboard_precision');
$labels = init_labels(array('overall_progress' => null, 'test_plan' => null, 'progress' => null, 'href_metrics_dashboard' => null, 'progress_absolute' => null, 'no_testplans_available' => null, 'not_aplicable' => null, 'platform' => null, 'th_active_tc' => null, 'in_percent' => null));
list($gui->tplan_metrics, $gui->show_platforms, $platforms) = getMetrics($db, $_SESSION['currentUser'], $args, $result_cfg, $labels);
$gui->warning_msg = $labels['no_testplans_available'];
if (count($gui->tplan_metrics) > 0) {
    $gui->warning_msg = '';
    // Create column headers
    $columns = getColumnsDefinition($gui->show_platforms, $result_cfg, $labels, $platforms);
    // Extract the relevant data and build a matrix
    $matrixData = array();
    foreach ($gui->tplan_metrics['testplans'] as $tplan_metrics) {
        foreach ($tplan_metrics['platforms'] as $key => $platform_metric) {
            $rowData = array();
            // if test plan does not use platforms a overall status is not necessary
            $tplan_string = strip_tags($platform_metric['tplan_name']);
            if ($show_all_status_details) {
                // add information for all exec statuses
                $tplan_string .= "<br>";
                foreach ($result_cfg['status_label'] as $key => $status) {
                    $tplan_string .= lang_get($status) . ": " . $tplan_metrics['overall'][$key] . " [" . getPercentage($tplan_metrics['overall'][$key], $tplan_metrics['overall']['active'], $round_precision) . "%], ";
                }
            } else {
                $tplan_string .= " - ";