示例#1
0
 $columns[] = array('title' => lang_get('evaluation'), 'width' => 60, 'groupable' => 'false');
 $columns[] = array('title' => lang_get('type'), 'width' => 60, 'groupable' => 'false');
 // show status only if it was requested to show reqs with all statuses
 if (!$args->show_only_finished) {
     $columns[] = array('title' => lang_get('status'), 'width' => 60, 'groupable' => 'false');
 }
 foreach ($code_status_map as $code => $status) {
     $columns[] = array('title' => $status['label'], 'width' => 60, 'groupable' => 'false');
 }
 // complete progress
 $columns[] = array('title' => lang_get('progress'), 'width' => 60, 'groupable' => 'false');
 // data for rows
 $rows = array();
 foreach ($req_spec_map as $req_spec_id => $req_spec_info) {
     // build the evaluation data string and attache it to req spec name for table group feature
     $req_spec_description = build_req_spec_description($eval_status_map, $req_spec_info, $external_req_mgmt, $labels, $req_spec_type_labels);
     foreach ($req_spec_info['requirements'] as $req_id => $req_info) {
         $single_row = array();
         // first column (grouped, not shown) is req spec information
         $path = $req_mgr->tree_mgr->get_path($req_info['srs_id']);
         foreach ($path as $key => $val) {
             $path[$key] = $val['name'];
         }
         $path = implode("/", $path);
         $single_row[] = htmlentities($path, ENT_QUOTES, $charset) . $req_spec_description;
         // create the linked title to display
         $title = htmlentities($req_info['req_doc_id'], ENT_QUOTES, $charset) . $glue_char . htmlentities($req_info['title'], ENT_QUOTES, $charset);
         $linked_title = '<!-- ' . $title . ' -->' . '<a href="javascript:openLinkedReqWindow(' . $req_id . ')">' . $title . '</a>';
         $single_row[] = $linked_title;
         // version number
         $version_num = $req_info['version'];
示例#2
0
     $evaluation_for_filter[] = $eval['label'];
 }
 $columns[] = array('title_key' => 'evaluation', 'width' => 80, 'groupable' => 'false', 'filter' => 'ListSimpleMatch', 'filterOptions' => $evaluation_for_filter);
 $columns[] = array('title_key' => 'type', 'width' => 60, 'groupable' => 'false', 'filter' => 'list', 'filterOptions' => $req_type_labels);
 $columns[] = array('title_key' => 'status', 'width' => 60, 'groupable' => 'false', 'filter' => 'list', 'filterOptions' => $status_labels);
 foreach ($code_status_map as $status) {
     $columns[] = array('title_key' => $results_cfg['status_label'][$status['status']], 'width' => 60, 'groupable' => 'false');
 }
 // complete progress
 $columns[] = array('title_key' => 'progress', 'width' => 60, 'groupable' => 'false');
 $columns[] = array('title_key' => 'linked_tcs', 'groupable' => 'false', 'width' => 250, 'type' => 'text');
 // data for rows
 $rows = array();
 foreach ($req_spec_map as $req_spec_id => $req_spec_info) {
     // build the evaluation data string and attache it to req spec name for table group feature
     $req_spec_description = build_req_spec_description($eval_status_map, $req_spec_info, $req_cfg->external_req_management, $labels, $req_spec_type_labels);
     foreach ($req_spec_info['requirements'] as $req_id => $req_info) {
         $single_row = array();
         // first column (grouped, not shown) is req spec information
         $path = $req_mgr->tree_mgr->get_path($req_info['srs_id']);
         foreach ($path as $key => $val) {
             $path[$key] = $val['name'];
         }
         $path = implode("/", $path);
         $single_row[] = htmlentities($path, ENT_QUOTES, $charset) . $req_spec_description;
         // create the linked title to display
         $edit_link = '<a href="javascript:openLinkedReqWindow(' . $req_id . ')>' . "<img title=\"{$labels['requirement']}\" src=\"{$images['edit_icon']}\" /></a> ";
         $single_row[] = $edit_link . htmlentities($req_info['req_doc_id'], ENT_QUOTES, $charset) . $title_sep . htmlentities($req_info['title'], ENT_QUOTES, $charset);
         $single_row[] = "<!-- " . sprintf("%010d", $req_info['version']) . " -->" . $req_info['version'];
         // coverage
         if ($req_cfg->expected_coverage_management) {
示例#3
0
function build_rows($args, $status_code_map, $tproject_mgr, $req_spec_map, $req_mgr, $edit_icon, $glue_char, $charset, $req_cfg, $labels, &$eval_status_map, $glue_char_tc, $testcases, $exec_img, $history_icon)
{
    // data for rows
    $rows = array();
    $prefix = $tproject_mgr->getTestCasePrefix($args->tproject_id);
    foreach ($req_spec_map as $req_spec_id => $req_spec_info) {
        // build the evaluation data string and attache it to req spec name for table group feature
        $req_spec_description = build_req_spec_description($eval_status_map, $req_spec_info, $req_cfg->external_req_management, $labels);
        foreach ($req_spec_info['requirements'] as $req_id => $req_info) {
            $single_row = array();
            // first column (grouped, not shown) is req spec information
            $path = $req_mgr->tree_mgr->get_path($req_info['srs_id']);
            foreach ($path as $key => $val) {
                $path[$key] = $val['name'];
            }
            $path = implode("/", $path);
            $single_row[] = htmlentities($path, ENT_QUOTES, $charset) . $req_spec_description;
            // create the linked title to display
            $title = htmlentities($req_info['req_doc_id'], ENT_QUOTES, $charset) . $glue_char . htmlentities($req_info['title'], ENT_QUOTES, $charset);
            $edit_link = "<a href=\"javascript:openLinkedReqWindow({$args->tproject_id}," . $req_id . ")\">" . "<img title=\"{$labels['requirement']}\" src=\"{$edit_icon}\" /></a> ";
            $link = $edit_link . $title;
            $single_row[] = $link;
            // version number
            $version_num = $req_info['version'];
            $padded_version_num = sprintf("%010d", $version_num);
            $version_str = "<!-- {$padded_version_num} -->{$version_num}";
            $single_row[] = $version_str;
            // coverage
            if ($req_cfg->expected_coverage_management) {
                $expected_coverage = $req_info['expected_coverage'];
                $current = count($req_info['linked_testcases']);
                if ($expected_coverage) {
                    $coverage_string = "<!-- -1 -->" . $labels['na'] . " ({$current}/0)";
                    if ($expected_coverage) {
                        $percentage = 100 / $expected_coverage * $current;
                        $coverage_string = comment_percentage($percentage) . " ({$current}/{$expected_coverage})";
                    }
                    $single_row[] = $coverage_string;
                } else {
                    // no expected value, no percentage, just absolute number
                    $single_row[] = $current;
                }
            }
            $eval = $req_info['evaluation'];
            // BUGID 4205 - add the count of each evaluation
            $eval_status_map[$eval]['count'] += 1;
            $colored_eval = '<span class="' . $eval_status_map[$eval]['css_class'] . '">' . $eval_status_map[$eval]['label'] . '</span>';
            $single_row[] = $colored_eval;
            // BUGID 4034
            $single_row[] = isset($labels['req_types'][$req_info['type']]) ? $labels['req_types'][$req_info['type']] : sprintf($labels['no_label_for_req_type'], $req_info['type']);
            $single_row[] = $labels['status'][$req_info['status']];
            // add count and percentage for each possible status and progress
            $progress_percentage = 0;
            $total_count = $req_cfg->expected_coverage_management && $expected_coverage > 0 ? $expected_coverage : $req_info['tc_counters']['total'];
            foreach ($status_code_map as $status => $code) {
                $count = isset($req_info['tc_counters'][$code]) ? $req_info['tc_counters'][$code] : 0;
                $value = 0;
                if ($total_count) {
                    $percentage = 100 / $total_count * $count;
                    $percentage_string = comment_percentage($percentage) . " ({$count}/{$total_count})";
                    $value = $percentage_string;
                    // if status is not "not run", add it to progress percentage
                    if ($code != $status_code_map['not_run']) {
                        $progress_percentage += $percentage;
                    }
                } else {
                    $value = $labels['na'];
                }
                $single_row[] = $value;
            }
            // complete progress
            $single_row[] = $total_count ? comment_percentage($progress_percentage) : $labels['na'];
            $linked_tcs_with_status = '';
            if (count($req_info['linked_testcases']) > 0) {
                foreach ($req_info['linked_testcases'] as $testcase) {
                    $tc_id = $testcase['id'];
                    $status = $status_code_map['not_run'];
                    if (isset($testcases[$tc_id]['exec_status'])) {
                        $status = $testcases[$tc_id]['exec_status'];
                    }
                    $colored_status = '<span class="' . $eval_status_map[$status]['css_class'] . '">[' . $eval_status_map[$status]['label'] . ']</span>';
                    $tc_name = $prefix . $glue_char_tc . $testcase['tc_external_id'] . $glue_char . $testcase['name'];
                    $exec_history_link = "<a href=\"javascript:openExecHistoryWindow({$tc_id});\">" . "<img title=\"{$labels['execution_history']}\" src=\"{$history_icon}\" /></a> ";
                    $edit_link = "<a href=\"javascript:openTCEditWindow({$args->tproject_id},{$tc_id});\">" . "<img title=\"{$labels['design']}\" src=\"{$edit_icon}\" /></a> ";
                    $exec_link = "";
                    if (isset($testcases[$tc_id]['exec_status'])) {
                        $exec_link = "<a href=\"javascript:openExecutionWindow(" . "{$tc_id}, {$testcases[$tc_id]['tcversion_number']}, {$testcases[$tc_id]['exec_on_build']} , " . "{$testcases[$tc_id]['exec_on_tplan']}, {$testcases[$tc_id]['platform_id']});\">" . "<img title=\"{$labels['execution']}\" src=\"{$exec_img}\" /></a> ";
                    }
                    $linked_tcs_with_status .= "{$exec_history_link} {$edit_link} {$exec_link} {$colored_status} {$tc_name}<br>";
                }
            } else {
                $linked_tcs_with_status = $labels['no_linked_tcs'];
            }
            $single_row[] = $linked_tcs_with_status;
            $rows[] = $single_row;
        }
    }
    return $rows;
}