function results_email($project_id, $release_id, $build_id, $testset_id, $test_id, $recipients, $action) { $display_generic_info = true; $display_generic_url = true; $generic_url = RTH_URL . "login.php?project_id={$project_id}&page=results_test_run_page.php&release_id={$release_id}&build_id={$build_id}&testset_id={$testset_id}&test_id={$test_id}"; $username = session_get_username(); $project_name = session_get_project_name(); $release_name = admin_get_release_name($release_id); $build_name = admin_get_build_name($build_id); $testset_name = admin_get_testset_name($testset_id); $user_details = user_get_name_by_username($username); $first_name = $user_details[USER_FNAME]; $last_name = $user_details[USER_LNAME]; $row_test_detail = testset_query_test_details($testset_id, $test_id); $test_name = $row_test_detail[TEST_NAME]; $status = $row_test_detail[TEST_TS_ASSOC_STATUS]; $finished = $row_test_detail[TEST_TS_ASSOC_FINISHED]; $assigned_to = $row_test_detail[TEST_TS_ASSOC_ASSIGNED_TO]; $comments = $row_test_detail[TEST_TS_ASSOC_COMMENTS]; $root_cause = $row_test_detail[TEST_RESULTS_ROOT_CAUSE]; # CREATE EMAIL SUBJECT AND MESSAGE switch ($action) { case "test_run": $subject = "RTH: Test Run Notification - {$test_name}"; $message = "Test {$test_name} has been run by {$first_name} {$last_name}\n" . NEWLINE; break; case "update_test_result": $subject = "RTH: Test Result has been Updated"; $message = "The test result for {$test_name} has been updated by {$first_name} {$last_name}\n" . NEWLINE; break; } # Generic link to results page if the $generic_url variable has been set if ($display_generic_url) { $message .= "Click the following link to view the Test Results:" . NEWLINE; $message .= "{$generic_url}\n" . NEWLINE; } if ($display_generic_info) { $message .= "Project Name: {$project_name}\r" . NEWLINE; $message .= "Release Name: {$release_name}\r" . NEWLINE; $message .= "Build Name: {$build_name}\r" . NEWLINE; $message .= "TestSet Name: {$testset_name}\r\n\r" . NEWLINE; $message .= "Test Name: {$test_name}\r" . NEWLINE; $message .= "Status: {$status}\r" . NEWLINE; if (!empty($root_cause)) { $message .= "Root Cause: {$root_cause}\r" . NEWLINE; } $message .= "Comments: {$comments}\r\n\r" . NEWLINE; } email_send($recipients, $subject, $message); }
function test_compose_email($project_id, $test_id, $recipients, $action) { $display_generic_info = true; $display_generic_url = true; $generic_url = RTH_URL . "login.php?project_id={$project_id}&page=test_detail_page.php&test_id={$test_id}&project_id={$project_id}"; $username = session_get_username(); $project_name = session_get_project_name(); $user_details = user_get_name_by_username($username); $first_name = $user_details[USER_FNAME]; $last_name = $user_details[USER_LNAME]; $test_detail = test_get_detail($test_id); $test_name = $test_detail[TEST_NAME]; $status = $test_detail[TEST_STATUS]; $priority = $test_detail[TEST_PRIORITY]; $test_area = $test_detail[TEST_AREA_TESTED]; $test_type = $test_detail[TEST_TESTTYPE]; $ba_owner = $test_detail[TEST_BA_OWNER]; $qa_owner = $test_detail[TEST_QA_OWNER]; $assigned_to = $test_detail[TEST_ASSIGNED_TO]; $comments = $test_detail[TEST_COMMENTS]; # CREATE EMAIL SUBJECT AND MESSAGE switch ($action) { case "status_change": $subject = "RTH: {$test_name} - Test Status Change"; $message = "The test status of {$test_name} has been updated by {$first_name} {$last_name}\r\n" . NEWLINE; break; case "steps_uploaded": $subject = "RTH: {$test_name} - Test Steps Added"; $message = "Test Steps have been uploaded to {$test_name} by {$first_name} {$last_name}\r\n" . NEWLINE; break; } # Generic link to results page if the $generic_url variable has been set if ($display_generic_url) { $message .= "Click the following link to view the Test Results:" . NEWLINE; $message .= "{$generic_url}\n" . NEWLINE; } if ($display_generic_info) { $message .= "Project Name: {$project_name}\r" . NEWLINE; $message .= "Test Name: {$test_name}\r" . NEWLINE; $message .= "Status: {$status}\r" . NEWLINE; $message .= "Priority: {$priority}\r\n\r" . NEWLINE; $message .= "Test Area: {$test_name}\r" . NEWLINE; $message .= "Test Type: {$test_area}\r" . NEWLINE; $message .= "BA Owner: {$ba_owner}\r" . NEWLINE; $message .= "QA Owner: {$qa_owner}\r" . NEWLINE; $message .= "Assigned To: {$assigned_to}\r" . NEWLINE; $message .= "Comments: {$comments}\r\n\r" . NEWLINE; } email_send($recipients, $subject, $message); }
function bug_email($project_id, $bug_id, $recipients, $action) { # Don't send email if the preference it turned off in propterities_inc.php if (!SEND_EMAIL_NOTIFICATION) { return; } # Link to the bug detail page $generic_url = RTH_URL . "login.php?project_id={$project_id}&page=bug_detail_page.php&bug_id={$bug_id}"; $username = session_get_username(); $project_name = session_get_project_name(); $bug_id = util_pad_id($bug_id); $user_details = user_get_name_by_username($username); $first_name = $user_details[USER_FNAME]; $last_name = $user_details[USER_LNAME]; $row_bug = bug_get_detail($bug_id); $category = $row_bug[CATEGORY_NAME]; $bug_project_id = $row_bug[BUG_PROJECT_ID]; $component = $row_bug[COMPONENT_NAME]; $priority = $row_bug[BUG_PRIORITY]; $severity = $row_bug[BUG_SEVERITY]; $bug_status = $row_bug[BUG_STATUS]; $reporter = $row_bug[BUG_REPORTER]; $reported_date = $row_bug[BUG_REPORTED_DATE]; $assigned_to = $row_bug[BUG_ASSIGNED_TO]; $assigned_to_developer = $row_bug[BUG_ASSIGNED_TO_DEVELOPER]; $closed = $row_bug[BUG_CLOSED]; $closed_date = $row_bug[BUG_CLOSED_DATE]; $test_verify_id = $row_bug[BUG_TEST_VERIFY_ID]; $req_version_id = $row_bug[BUG_REQ_VERSION_ID]; $found_in_release = $row_bug[BUG_FOUND_IN_RELEASE]; $assign_to_release = $row_bug[BUG_ASSIGN_TO_RELEASE]; $imp_in_release = $row_bug[BUG_IMPLEMENTED_IN_RELEASE]; $discovery_period = $row_bug[BUG_DISCOVERY_PERIOD]; $summary = $row_bug[BUG_SUMMARY]; $description = $row_bug[BUG_DESCRIPTION]; $message = ""; # CREATE EMAIL SUBJECT AND MESSAGE switch ($action) { case "new_bug": $subject = "RTH: New defect entered for {$project_name} - ID: {$bug_id}"; $message = "A New Defect has been entered by {$first_name} {$last_name}\r" . NEWLINE; break; case "update_status": $subject = "RTH: Status of Bug in {$project_name} has changed to {$bug_status} - ID: {$bug_id}"; $message = "The status of bug has been changed to {$bug_status} by {$first_name} {$last_name}\n" . NEWLINE; break; case "add_bugnote": $subject = "RTH: A bugnote was added to a Bug in {$project_name} - ID: {$bug_id}"; $message = "A bugnote has been added by {$first_name} {$last_name}\n" . NEWLINE; break; case "assign_bug": $subject = "RTH: Bug in {$project_name} has been assigned - ID: {$bug_id}"; $message = "The bug has been assigned by {$first_name} {$last_name}\n" . NEWLINE; break; case "add_relationship": $subject = "RTH: New relationship created for bug in project: {$project_name} - ID: {$bug_id}"; $message = "A new relationship was created by {$first_name} {$last_name}\n" . NEWLINE; break; case "update_bug": $subject = "RTH: Bug in project: {$project_name} has been updated - ID: {$bug_id}"; $message = "Bug has been updated by {$first_name} {$last_name}\n" . NEWLINE; break; case "delete": $subject = "RTH: Bug Deleted in {$project_name}"; $message = "Bug {$req_name} has been deleted by {$first_name} {$last_name}\n" . NEWLINE; break; } # Generic link to requirement detail page if the $url variable has been set $message .= "Click the following link to view the Defect:\r" . NEWLINE; $message .= "{$generic_url}\r\n\r" . NEWLINE; $message .= lang_get('project_name') . ": {$project_name}\r" . NEWLINE; $message .= lang_get('bug_category') . ": {$category}\r" . NEWLINE; $message .= lang_get('bug_component') . ": {$component}\r" . NEWLINE; $message .= lang_get('bug_priority') . ": {$priority}\r" . NEWLINE; $message .= lang_get('bug_severity') . ": {$severity}\r" . NEWLINE; $message .= lang_get('bug_status') . ": {$bug_status}\r" . NEWLINE; $message .= lang_get('reported_by') . ": {$reporter}\r" . NEWLINE; $message .= lang_get('reported_date') . ": {$reported_date}\r" . NEWLINE; $message .= lang_get('assigned_to') . ": {$assigned_to}\r" . NEWLINE; $message .= lang_get('assigned_to_developer') . ": {$assigned_to_developer}\r" . NEWLINE; $message .= lang_get('found_in_release') . ": {$found_in_release}\r" . NEWLINE; $message .= lang_get('assigned_to_release') . ": {$assign_to_release}\r" . NEWLINE; $message .= lang_get('bug_summary') . ": {$summary}\r\n\r" . NEWLINE; $message .= lang_get('bug_description') . ": {$description}\r" . NEWLINE; # Convert any html entities stored in the DB back to characters. $message = util_unhtmlentities($message); email_send($recipients, $subject, $message); }
function requirement_email($project_id, $req_id, $recipients, $action, $discussion_id = null) { $display_generic_info = true; $display_generic_url = true; # Link to the req detail page $generic_url = RTH_URL . "login.php?project_id={$project_id}&page=requirement_detail_page.php&req_id={$req_id}"; $username = session_get_username(); $project_name = session_get_project_name(); $req_id = util_pad_id($req_id); $user_details = user_get_name_by_username($username); $first_name = $user_details[USER_FNAME]; $last_name = $user_details[USER_LNAME]; $rows_requirement = requirement_get_detail($project_id, $req_id); $row_requirement = $rows_requirement[0]; $req_version_id = $row_requirement[REQ_VERS_UNIQUE_ID]; $req_rec_or_file = $row_requirement[REQ_REC_FILE]; $req_name = $row_requirement[REQ_FILENAME]; $req_detail = $row_requirement[REQ_VERS_DETAIL]; $req_reason_for_change = $row_requirement[REQ_VERS_REASON_CHANGE]; $req_version_status = $row_requirement[REQ_VERS_STATUS]; $req_area_covered = $row_requirement[REQ_AREA_COVERAGE]; $req_doc_type = $row_requirement[REQ_DOC_TYPE_NAME]; $req_version = $row_requirement[REQ_VERS_VERSION]; # REQ FUNCTIONALITY $rows_functions = requirement_get_functionality($project_id, $req_id); $req_functionality = ""; foreach ($rows_functions as $function) { $req_functionality .= $function . ", "; } $req_functionality = trim($req_functionality, ", "); # CREATE EMAIL SUBJECT AND MESSAGE switch ($action) { case "updated": $subject = "RTH: Requirement Updated in {$project_name}"; $message = "Requirement {$req_name} has been updated by {$first_name} {$last_name}\n" . NEWLINE; break; case "new_version": $subject = "RTH: Requirement Updated in {$project_name}"; $message = "A new version of Requirement {$req_name} has been created by {$first_name} {$last_name}\n" . NEWLINE; break; case "delete": $display_generic_info = false; $display_generic_url = false; $url = RTH_URL . "login.php?project_id={$project_id}&page=requirement_page.php"; $subject = "RTH: Requirement Deleted in {$project_name}"; $message = "Requirement {$req_name} has been deleted by {$first_name} {$last_name}\n" . NEWLINE; $message .= "Click the following link to view Requirements in {$project_name}:" . NEWLINE; $message .= "{$url}\n" . NEWLINE; break; case "lock": $subject = "RTH: Requirement Locked in {$project_name}"; $message = "Requirement {$req_name} has been locked by {$first_name} {$last_name}\n" . NEWLINE; break; case "unlock": $subject = "RTH: Requirement Unlocked in {$project_name}"; $message = "Requirement {$req_name} has been unlocked by {$first_name} {$last_name}\n" . NEWLINE; break; case "edit_children": # Get requirement children //$rows_children = requirement_get_children($req_id); $generic_url .= "&tab=1"; $subject = "RTH: Requirement Updated in {$project_name}"; $message = "The children of Requirement {$req_name} have been edited by {$first_name} {$last_name}\n" . NEWLINE; break; case "edit_test_assoc": # Get related tests //$assoc_tests = requirement_get_test_relationships($req_id); $generic_url .= "&tab=2"; $subject = "RTH: Requirement Updated in {$project_name}"; $message = "The Tests related to Requirement {$req_name} have been edited by {$first_name} {$last_name}\n" . NEWLINE; break; case "edit_release_assoc": # Get related releases //requirement_get_assoc_releases($s_req_version_id) $generic_url .= "&tab=4"; $subject = "RTH: Requirement Updated in {$project_name}"; $message = "The Releases related to Requirement {$req_name} have been edited by {$first_name} {$last_name}\n" . NEWLINE; break; case "new_discussion": # GET LAST DISCUSSION $rows_discussion = discussion_get($req_id); foreach ($rows_discussion as $row_discussion) { $discussion_subject = $row_discussion[DISC_SUBJECT]; } $generic_url .= "&tab=3"; $subject = "RTH: New Requirement Discussion in {$project_name}"; $message = "A new discussion has been added to Requirement {$req_name} by {$first_name} {$last_name}\n" . NEWLINE; $message .= "" . lang_get("subject") . ": {$discussion_subject}\n" . NEWLINE; break; case "new_post": # GET DISCUSSION $row_discussion = discussion_get_detail($discussion_id); $discussion_subject = $row_discussion[DISC_SUBJECT]; $url = RTH_URL . "login.php?project_id={$project_id}&page=requirement_discussion_page.php&discussion_id={$discussion_id}"; $subject = "RTH: Discussion {$discussion_subject} in {$project_name}"; $message = "A new post has been added to Discussion {$discussion_subject} by {$first_name} {$last_name}\n" . NEWLINE; $message .= "Click the following link to view the discussion:\n" . NEWLINE; $message .= "{$url}\n" . NEWLINE; break; case "close_discussion": $display_generic_info = false; $display_generic_url = false; # GET DISCUSSION $row_discussion = discussion_get_detail($discussion_id); $discussion_subject = $row_discussion[DISC_SUBJECT]; $url = RTH_URL . "login.php?project_id={$project_id}&page=requirement_discussion_page.php&discussion_id={$discussion_id}"; $subject = "RTH: Discussion {$discussion_subject} in {$project_name}"; $message = "Discussion {$discussion_subject} has been closed by {$first_name} {$last_name}\n" . NEWLINE; $message .= "Click the following link to view the discussion:" . NEWLINE; $message .= "{$url}\n" . NEWLINE; break; } # Generic link to requirement detail page if the $url variable has been set if ($display_generic_url) { $message .= "Click the following link to view the Requirement:" . NEWLINE; $message .= "{$generic_url}\n" . NEWLINE; } if ($display_generic_info) { $message .= "" . lang_get("project_name") . ": {$project_name}" . NEWLINE; $message .= "" . lang_get("req_id") . ": {$req_id}" . NEWLINE; $message .= "" . lang_get("req_version") . ": {$req_version}" . NEWLINE; $message .= "" . lang_get("req_name") . ": {$req_name}" . NEWLINE; $message .= "" . lang_get("req_detail") . ": {$req_detail}" . NEWLINE; $message .= "" . lang_get("req_status") . ": {$req_version_status}" . NEWLINE; $message .= "" . lang_get("req_area_covered") . ": {$req_area_covered}" . NEWLINE; $message .= "" . lang_get("req_functionality") . ": {$req_functionality}" . NEWLINE; $message .= "" . lang_get("req_doc_type") . ": {$req_doc_type}\n" . NEWLINE; } # Convert any html entities stored in the DB back to characters. $message = util_unhtmlentities($message); email_send($recipients, $subject, $message); }
function testset_email($project_id, $release_id, $build_id, $testset_id, $recipients, $action) { $display_generic_info = true; $display_generic_url = true; $generic_url = RTH_URL . "login.php?project_id={$project_id}&page=results_page.php&release_id={$release_id}&build_id={$build_id}&testset_id={$testset_id}"; $username = session_get_username(); $project_name = session_get_project_name(); $release_name = admin_get_release_name($release_id); $build_name = admin_get_build_name($build_id); $user_details = user_get_name_by_username($username); $first_name = $user_details[USER_FNAME]; $last_name = $user_details[USER_LNAME]; $testset_detail = testset_get_details_by_build($build_id, $testset_id); $testset_id = $testset_detail[TS_ID]; $testset_name = $testset_detail[TS_NAME]; $testset_date_created = $testset_detail[TS_DATE_CREATED]; $testset_description = $testset_detail[TS_DESCRIPTION]; # CREATE EMAIL SUBJECT AND MESSAGE switch ($action) { case "new_testset": $subject = "RTH: New TestSet for {$project_name}"; $message = "TestSet {$testset_name} has been created by {$first_name} {$last_name}" . NEWLINE . NEWLINE; break; } # Generic link to results page if the $generic_url variable has been set if ($display_generic_url) { $message .= "Click the following link to view results:" . NEWLINE . NEWLINE; $message .= "{$generic_url}" . NEWLINE . NEWLINE; $message .= "Please update automated scripts with TESTSETID={$testset_id}" . NEWLINE . NEWLINE; } if ($display_generic_info) { $message .= "" . lang_get("project_name") . ": {$project_name}" . NEWLINE; $message .= "" . lang_get("release") . ": {$release_name}" . NEWLINE; $message .= "" . lang_get("build") . ": {$build_name}" . NEWLINE; $message .= "" . lang_get("testset_name") . ": {$testset_name}" . NEWLINE; $message .= "" . lang_get("description") . ": {$testset_description}" . NEWLINE; $message .= NEWLINE . "If you do not wish to be notified of any new testsets created, please edit your User profile by navigating to the Users link in RTH."; } # Convert any html entities stored in the DB back to characters. $message = util_unhtmlentities($message); email_send($recipients, $subject, $message); }