function html($record) { $projectName = $record->get("description"); $key = $record->get("artifactKey"); Data::$queries[1] = array("request" => "getProperties", "constantArgs" => array("path", "/artifacts/VersionedProjects:{$key}"), "result" => "propertySheet"); $response = QueryManager::handleQueryNow(1); $problem = $response->get('//property[propertyName="ec_versioning_problem"]/value'); if ($problem) { return ""; } $deleteUrl = "plugins/@PLUGIN_KEY@/deleteProject.php"; Data::$links["deleteVersionedProject"] = array("text" => ecgettext("Delete"), "base" => $deleteUrl . "?projectName=%%1&artifactKey=%%2", "args" => array(), "confirm" => array("heading" => ecgettext("Delete project \"%%1\"?"), "details" => ecgettext("Click OK to delete the project and all versioning history. " . "WARNING: This cannot be undone."), "buttons" => array(ecgettext("OK") => "%s", ecgettext("Cancel") => ""), "args" => array("description", "artifactKey"))); $link = new Link("deleteVersionedProject"); return $link->html($record); }
Error::report("Rollback job '{$jobName}' did not complete after {$limit} seconds.", "Please browse to the job details page to inspect why the job hasn't completed."); } $outcome = $result->get("outcome"); if ($outcome != "success") { Data::$queries["getJobFailureReason"] = array("request" => "getProperty", "constantArgs" => array("propertyName", "/jobs/{$jobId}/failureReason"), "result" => "property"); $result = QueryManager::handleQueryNow("getJobFailureReason"); Error::formError($result->get("value"), "projectName"); } $targetUrl = "projects.php"; header("Location: " . $targetUrl); } Data::$queries[1] = array("request" => "getProperty", "constantArgs" => array("propertyName", "/projects/{$projectName}/ec_versioning_artifact"), "result" => "property"); $response = QueryManager::handleQueryNow(1); $artifactKey = $response->get('value'); Data::$queries["getPickerVersions"] = array("request" => "findObjects", 'searchName' => 'getArtifactVersions', "numObjects" => 10000, "constantArgs" => array("sort", array("propertyName", "version", "order", "descending")), 'constantFilters' => array(array("operator", "and", "filter", array(array('propertyName' => 'groupId', 'operator' => 'equals', "operand1" => 'VersionedProjects'), array('propertyName' => 'artifactKey', 'operator' => 'equals', 'operand1' => $artifactKey)))), "queryClass" => "searchQuery", "result" => 'artifactVersion', "dataIn" => 'searchDataIn'); $response = QueryManager::handleQueryNow('getPickerVersions'); $options = array(); $i = 0; foreach ($response->getSiblings() as $object) { if ($i > 0) { $version = $object->get("version"); $comment = $object->get("description"); $createTime = DateTimeRenderer::formatText($object->get("createTime")); if ($comment == "") { $comment = "No commit comment"; } $options[] = $version; $options[] = "v{$version} [{$createTime}] - {$comment}"; } $i++; }
$i = 0; while (1) { $result = QueryManager::handleQueryNow("getJobInfo"); if ($i == $limit || $result->get("status") == "completed") { break; } sleep(1); $i++; } $jobId = $result->get("jobId"); $jobName = $result->get("jobName"); $status = $result->get("status"); if ($status != "completed") { Error::report("Commit job '{$jobName}' did not complete after {$limit} seconds.", "Please browse to the job details page to inspect why the job hasn't completed."); } $outcome = $result->get("outcome"); if ($outcome != "success") { Data::$queries["getJobFailureReason"] = array("request" => "getProperty", "constantArgs" => array("propertyName", "/jobs/{$jobId}/failureReason"), "result" => "property"); $result = QueryManager::handleQueryNow("getJobFailureReason"); Error::formError($result->get("value"), "projectName"); } $targetUrl = "projects.php"; header("Location: " . $targetUrl); } $name = new Name(null, true); $name->setInitialValue($projectName); $formElements = array(ecgettext("Name:"), "projectName", $name, ecgettext("Comment:"), "comment", new Entry()); $formArgs = array("id" => "commitVersionedProject", "modifyName" => "projectName", "postArgs" => array(), "elements" => $formElements); $navigation = new NavInfo(array("section" => ecgettext("Projects"), "subsection" => ecgettext("Versioning"))); $page = new Page(ecgettext("Commit Versioned Project"), new StdFrame($navigation), new Header(array("id" => "pageHeader", "class" => "pageHeader", "title" => ecgettext("Commit Versioned Project"), "actions" => array(new ShortcutLink()), "actionStyle" => 3)), new SubSection(new Form($formArgs)), new SetFocus("comment"), new StdFrameEnd()); $page->show();