html_tbl_print_header(lang_get('req_doc_type')); html_tbl_print_header(lang_get('test_id')); html_tbl_print_header(lang_get('percent_covered')); print "</tr>" . NEWLINE; # Variables for summary statistics $req_count = 0; $total_coverage = 0; foreach ($rows_requirement as $row_requirement) { $req_count += 1; $req_id = util_pad_id($row_requirement[REQ_ID]); $req_name = $row_requirement[REQ_FILENAME]; $req_version_id = $row_requirement[REQ_VERS_UNIQUE_ID]; $req_doc_type = $row_requirement[REQ_DOC_TYPE_NAME]; # Set the row's background color to something special if the requirement # has no test cases associated with it (a bad thing). $req_test_relationships = requirement_get_test_relationships($req_id); if (empty($req_test_relationships)) { $row_style = ROW2_STYLE; } else { $row_style = ROW1_STYLE; } print "<tr class='{$row_style}'>" . NEWLINE; print "<td valign=top width='5%'><a href='requirement_detail_page.php?req_id={$req_id}&req_version_id={$req_version_id}'>{$req_id}</a></td>" . NEWLINE; print "<td valign=top width='25%' class='tbl-l'>{$req_name}</td>" . NEWLINE; print "<td valign=top width='10%' class='tbl-c'>{$req_doc_type}</td>" . NEWLINE; # List all associated test cases for the requirement $coverage = 0; if (!empty($req_test_relationships)) { print "<td valign=top align=left>"; foreach ($req_test_relationships as $req_test_rels) { $test_id = $req_test_rels[TEST_ID];
function requirement_add_version($project_id, $req_id, $req_defect_id, $area_covered, $type, $record_or_file, $version, $status, $filename, $detail = "", $reason_for_change = "", $assign_to, $upload_by, $functionality, $priority, $release_id) { global $db; $tbl_req = REQ_TBL; $f_req_id = $tbl_req . "." . REQ_ID; $f_req_filename = $tbl_req . "." . REQ_FILENAME; $f_req_area_covered = $tbl_req . "." . REQ_AREA_COVERED; $f_req_type = $tbl_req . "." . REQ_TYPE; $f_req_parent = $tbl_req . "." . REQ_PARENT; $f_req_label = $tbl_req . "." . REQ_LABEL; $f_req_unique_id = $tbl_req . "." . REQ_UNIQUE_ID; $f_req_functionality = $tbl_req . "." . REQ_FUNCTIONALITY; $f_req_locked_by = $tbl_req . "." . REQ_LOCKED_BY; $f_req_locked_date = $tbl_req . "." . REQ_LOCKED_DATE; $f_req_priority = $tbl_req . "." . REQ_PRIORITY; $f_req_last_updated = $tbl_req . "." . REQ_LAST_UPDATED; $tbl_req_ver = REQ_VERS_TBL; $f_req_ver_uid = $tbl_req_ver . "." . REQ_VERS_UNIQUE_ID; $f_req_ver_req_id = $tbl_req_ver . "." . REQ_VERS_REQ_ID; $f_req_ver_version = $tbl_req_ver . "." . REQ_VERS_VERSION; $f_req_ver_timestamp = $tbl_req_ver . "." . REQ_VERS_TIMESTAMP; $f_req_ver_uploaded_by = $tbl_req_ver . "." . REQ_VERS_UPLOADED_BY; $f_req_ver_filename = $tbl_req_ver . "." . REQ_VERS_FILENAME; $f_req_ver_comments = $tbl_req_ver . "." . REQ_VERS_COMMENTS; $f_req_ver_status = $tbl_req_ver . "." . REQ_VERS_STATUS; $f_req_ver_shed_release = $tbl_req_ver . "." . REQ_VERS_SCHEDULED_RELEASE_IMP; $f_req_ver_shed_build = $tbl_req_ver . "." . REQ_VERS_SCHEDULED_BUILD_IMP; $f_req_ver_actual_release = $tbl_req_ver . "." . REQ_VERS_ACTUAL_RELEASE_IMP; $f_req_ver_actual_build = $tbl_req_ver . "." . REQ_VERS_ACTUAL_BUILD_IMP; $f_req_ver_detail = $tbl_req_ver . "." . REQ_VERS_DETAIL; $f_req_ver_release = $tbl_req_ver . "." . REQ_VERS_ASSIGN_RELEASE; $f_req_ver_latest = $tbl_req_ver . "." . REQ_VERS_LATEST; $f_req_ver_reason_change = $tbl_req_ver . "." . REQ_VERS_REASON_CHANGE; $f_req_ver_assigned = $tbl_req_ver . "." . REQ_VERS_ASSIGNED_TO; $f_req_ver_defect_id = $tbl_req_ver . "." . REQ_VERS_DEFECT_ID; $last_updated = date_get_short_dt(); if ($area_covered == '') { $area_covered = 0; } if ($type == '') { $type = 0; } $q = "\tUPDATE {$tbl_req_ver}\n\t\t\tSET\n\t\t\t\t{$f_req_ver_latest} = 'N'\n\t\t\tWHERE\n\t\t\t\t{$f_req_ver_req_id} = {$req_id}"; db_query($db, $q); $q = "\tUPDATE {$tbl_req}\n\t\t\tSET\n\t\t\t\t{$f_req_area_covered} = '{$area_covered}',\n\t\t\t\t{$f_req_type} = '{$type}',\n\t\t\t\t{$f_req_priority} = '{$priority}',\n\t\t\t\t{$f_req_last_updated} = '{$last_updated}'\n\t\t\tWHERE\n\t\t\t\t{$f_req_id} = {$req_id}"; db_query($db, $q); $q = "\tINSERT INTO {$tbl_req_ver}\n\t\t\t\t(\t{$f_req_ver_req_id},\n\t\t\t\t\t{$f_req_ver_defect_id},\n\t\t\t\t\t{$f_req_ver_version},\n\t\t\t\t\t{$f_req_ver_timestamp},\n\t\t\t\t\t{$f_req_ver_uploaded_by},\n\t\t\t\t\t{$f_req_ver_filename},\n\t\t\t\t\t{$f_req_ver_status},\n\t\t\t\t\t{$f_req_ver_detail},\n\t\t\t\t\t{$f_req_ver_reason_change},\n\t\t\t\t\t{$f_req_ver_assigned},\n\t\t\t\t\t{$f_req_ver_latest} )\n\t\t\tVALUES\n\t\t\t\t(\t{$req_id},\n\t\t\t\t '{$req_defect_id}',\n\t\t\t\t\t'{$version}',\n\t\t\t\t\t'{$last_updated}',\n\t\t\t\t\t'{$upload_by}',\n\t\t\t\t\t'{$filename}',\n\t\t\t\t\t'{$status}',\n\t\t\t\t\t'{$detail}',\n\t\t\t\t\t'{$reason_for_change}',\n\t\t\t\t\t'{$assign_to}',\n\t\t\t\t\t'Y' )"; db_query($db, $q); requirement_edit_functionality($req_id, $functionality); # update related tests statuses to "Review Requirement" $req_test_relationships = requirement_get_test_relationships($req_id); foreach ($req_test_relationships as $row_req_test_rels) { $test_id = $row_req_test_rels[TEST_ID]; test_update_field($project_id, $test_id, TEST_STATUS, "Review Requirement"); } # Get the req_version_id just inserted. $req_version_id = requirement_get_latest_version($req_id); # update requirment_release_assoc requirement_edit_release($req_version_id, $release_id); }
util_set_filter('test_status', $filter_test_status, $_POST); util_set_filter('test_priority', $filter_test_priority, $_POST); util_set_filter('test_search', $filter_test_search, $_POST); $order_by = TEST_NAME; $order_dir = "ASC"; $page_number = 1; util_set_order_by($order_by, $_POST); util_set_order_dir($order_dir, $_POST); util_set_page_number($page_number, $_POST); # Set or Reset the % covered session vars if (sizeof($_POST)) { session_validate_form_set($_POST); } else { session_validate_form_reset(); } $assoc_tests = requirement_get_test_relationships($s_req_id); $selected_rows = array(); foreach ($assoc_tests as $row) { $selected_rows[$row[TEST_ID]] = ""; } session_records("requirement_tests_assoc", $selected_rows); html_window_title(); html_print_body(); html_page_title($project_name . " - " . lang_get('req_assoc_tests_page')); html_page_header($db, $project_name); html_print_menu(); requirement_menu_print($page); error_report_check($_GET); $row_requirement = requirement_get_detail($project_id, $s_req_id, $s_req_version_id); foreach ($row_requirement as $row_detail) { $req_name = $row_detail[REQ_FILENAME];