$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++; } $versionPicker = new Selector($options); $name = new Name(null, true); $name->setInitialValue($projectName); $formElements = array(ecgettext("Name:"), "projectName", $name, ecgettext("Version:"), "version", $versionPicker, ecgettext("Comment:"), "comment", new Entry()); $formArgs = array("id" => "rollbackVersionedProject", "modifyName" => "projectName", "postArgs" => array(), "elements" => $formElements); $navigation = new NavInfo(array("section" => ecgettext("Projects"), "subsection" => ecgettext("Versioning"))); $page = new Page(ecgettext("Rollback Versioned Project"), new StdFrame($navigation), new Header(array("id" => "pageHeader", "class" => "pageHeader", "title" => ecgettext("Rollback Versioned Project"), "actions" => array(new ShortcutLink()), "actionStyle" => 3)), new SubSection(new Form($formArgs)), new SetFocus("version"), new StdFrameEnd()); $page->show();
<?php //----------------------------------------------------------------------------- // viewPropertySheet.php -- // // View the contents of any property sheet. // // Copyright (c) 2005-2014 Electric Cloud, Inc. // All rights reserved //----------------------------------------------------------------------------- require_once 'startup.php'; Html::includeCss("lib/styles/Header.css"); $path = getGet("path"); Data::$queries["genericProperties"] = array("request" => "getProperties", "constantArgs" => array("path", $path, "recurse", 0, 'expand', 0), "result" => "propertySheet"); $page = new Page("Properties", new StdFrame(new NavInfo()), new Header(array("id" => "pageHeader", "class" => "pageHeader", "title" => ecgettext("Properties"), "title2" => $path)), new SubSection(new PropertySection(array("id" => "properties", "title" => ecgettext("Properties"), "type" => "generic", "expandable" => 0))), new StdFrameEnd()); $page->show();
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); }
$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("Add 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 == "error") { 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["getPickerProjects"] = array("request" => "findObjects", 'searchName' => 'getProjects', "numObjects" => 10000, "constantArgs" => array("sort", array("propertyName", "projectName", "order", "ascending")), 'constantFilters' => array(array("operator", "and", "filter", array(array('propertyName' => 'ec_versioning_artifact', 'operator' => 'isNull'), array('propertyName' => 'pluginName', 'operator' => 'isNull')))), "queryClass" => "searchQuery", "result" => 'project', "dataIn" => 'searchDataIn'); $projectPicker = new Selector(null, null, "getPickerProjects", "projectName"); $formElements = array(ecgettext("Project:"), "projectName", $projectPicker); $formArgs = array("id" => "addExistingProject", "modifyName" => "projectName", "postArgs" => array(), "elements" => $formElements); $navigation = new NavInfo(array("section" => ecgettext("Projects"), "subsection" => ecgettext("Versioning"))); $page = new Page(ecgettext("Add Existing Project"), new StdFrame($navigation), new Header(array("id" => "pageHeader", "class" => "pageHeader", "title" => ecgettext("Add Existing Project"), "actions" => array(new ShortcutLink()), "actionStyle" => 3)), new SubSection(new Form($formArgs)), new SetFocus("projectName"), new StdFrameEnd()); $page->show();