function addCase($data) { if (empty($data['id']) || $this->getCase($data['id'])->is_empty()) { $this->db->insert('cases', $data); } else { updateCase($data); } if ($this->db->affected_rows() == '1') { return TRUE; } return FALSE; }
<?php if (isset($_POST['action']) && isset($_GET['update'])) { $case = array('case_id' => $_GET['update'], 'case_status' => $_POST['case_status'], 'created_by' => $_SESSION['user']['employee_id']); updateCase($case); } $case = null; if (isset($_GET['update'])) { $case = mysqli_fetch_object(getCasesByID($_GET['update'])); } ?> <section id="my-account-security-form" class="page container"> <form id="userSecurityForm" class="form-horizontal" action="" method="post"> <div class="container"> <div class="alert alert-block alert-info"> <p> Enter information for your account as desired. Fields marked with an asterisk are required. </p> </div> <div class="row"> <div style="width:900px"> <legend>Case Form</legend><br> <?php if (isset($_POST['action']) && !isset($_GET['update'])) { $case = array('case_name' => $_POST['case_name'], 'case_status' => $_POST['case_status'], 'issue' => $_POST['issue'], 'category' => $_POST['category'], 'subcategory' => $_POST['subcategory'], 'profile_id' => $_GET['profile'], 'created_by' => $_SESSION['user']['employee_id']); $case_id = createCase($case); if ($case_id > -1) {
function updateTestLink($build, $testProject, $statusFilter, $catFilter, $comFilter) { // get all case data for this build $buildData = createDataForRegBuild($build); writeTLCasesToFile($buildData); // write to TMP file and include include 'casedata/TLdata' . $build; $cases = array(); if ($catFilter == "All Categories") { $cases = $arrData[builds][$build][cases]; // select cases only for chosen category } elseif ($catFilter != "All Categories" && $comFilter == "All Components") { foreach ($arrData[builds][$build][cases] as $caseID => $case) { if ($case[category] == $catFilter) { $cases[$caseID] = $case; } } // select cases for chosen category/component } elseif ($catFilter != "All Categories" && $comFilter != "All Components") { foreach ($arrData[builds][$build][cases] as $caseID => $case) { if ($case[category] == $catFilter && $case[component] == $comFilter) { $cases[$caseID] = $case; } } // select all cases for all category/component } else { $cases = $arrData[builds][$build][cases]; } // select if ($statusFilter) { $caseArr = array(); foreach ($cases as $caseID => $case) { if ($case[status] == "PASSED") { $caseArr[$caseID] = $case; } } $cases = $caseArr; } // remove generated TMP file $buffShell = shell_exec('rm -r -f /home/psemernin/qa-tl/web/testlink/dashboard/casedata/TLdata' . $build); // open log file for writing $time = date('Y-m-d-H:i:s'); sysLogWrite("Starting TestLink Update on " . date("F j, Y, g:i a") . "\n", $build, $time); // translate testProject into ID $testProjectID = getTestProjectID($testProject); if ($testProjectID == "NOT_FOUND") { sysLogWrite("ERROR: Can't get testProjectID for supplied project name '" . $testProject . "'!", $build, $time); return 0; } // create or check for existing TestProject-Automated subSuite $autoSuiteID = createAutomatedSuite($testProject, $testProjectID); if ($autoSuiteID == "NOT_FOUND") { sysLogWrite("ERROR: Can't get suiteID for '" . $testProject . "-Automated' or Cannot create it!", $build, $time); return 0; } // check for existence or create Automated keyword for this testProject $keywordID = getAutoKeywordID($testProjectID); if ($keywordID == "NOT_FOUND") { sysLogWrite("ERROR: Can't get or create keyword 'Automated'!", $build, $time); return 0; } // get auto userID $testerID = getAutoUserID(); if ($testerID == "NOT_FOUND") { sysLogWrite("ERROR: Can't get userID for 'auto' user!", $build, $time); return 0; } // get version from the chosen build $release = getReleaseFromBuild($build); if ($release == "NOT_FOUND") { sysLogWrite("ERROR: Can't get version for build '" . $build . "'!", $build, $time); return 0; } // get test release ID $testplanID = getTestReleaseID($release, $testProjectID); if ($testplanID == "NOT_FOUND") { // create Test Release Entry based on ArubaOS version $testplanID = createTestRelease($release, $testProjectID); if ($testplanID == "NOT_FOUND") { sysLogWrite("ERROR: Can't create Test Release for '" . $release . "'!", $build, $time); return 0; } } // get or create ID for provided Plan/build mapping $buildID = getBuildID($build, $testplanID); if ($buildID == "NOT_FOUND") { sysLogWrite("ERROR: Can't get or create ID for build '" . $build . "' and testplanID '" . $testplanID . "' !", $build, $time); return 0; } sysLogWrite("Done with administrative tasks. Starting to update Case Execution...", $build, $time); // update status for each case foreach ($cases as $caseID => $case) { // translate case status to TL format $status = translateCaseStatus($case[status]); if ($status == "NOT_FOUND") { sysLogWrite("ERROR: Case Status '" . $status . "' for caseID=" . $caseID . " cannot be TRANSLATED!", $build, $time); } else { sysLogWrite(updateCase($caseID, $buildID, $testProject, $testProjectID, $testplanID, $autoSuiteID, $status, $testerID, $keywordID), $build, $time); } } return "/home/psemernin/qa-tl/web/testlink/dashboard/casedata/API_logs/log-" . $build . "-" . $time; }