in app/controllers/ComputeResourceController.php [87:212]
public function editSubmit()
{
$this->beforeFilter('verifyeditadmin');
$tabName = "";
if (Input::get("cr-edit") == "resDesc") /* Modify compute Resource description */ {
$computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
$computeDescription->hostName = trim(Input::get("hostname"));
$computeDescription->hostAliases = array_unique(array_filter(Input::get("hostaliases")));
$computeDescription->ipAddresses = array_unique(array_filter(Input::get("ips")));
$computeDescription->resourceDescription = Input::get("description");
$computeDescription->maxMemoryPerNode = Input::get("maxMemoryPerNode");
// $computeDescription->cpusPerNode = Input::get("cpusPerNode");
// $computeDescription->defaultNodeCount = Input::get("defaultNodeCount");
// $computeDescription->defaultCPUCount = Input::get("defaultCPUCount");
// $computeDescription->defaultWalltime = Input::get("defaultWalltime");
//var_dump( $computeDescription); exit;
$computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
$tabName = "#tab-desc";
}
if (Input::get("cr-edit") == "queue") /* Add / Modify a Queue */ {
$queue = array("queueName" => Input::get("qname"),
"queueDescription" => Input::get("qdesc"),
"maxRunTime" => Input::get("qmaxruntime"),
"maxNodes" => Input::get("qmaxnodes"),
"maxProcessors" => Input::get("qmaxprocessors"),
"maxJobsInQueue" => Input::get("qmaxjobsinqueue"),
"maxMemory" => Input::get("qmaxmemoryinqueue"),
"cpuPerNode" => Input::get("cpuPerNode"),
"defaultNodeCount" => Input::get("defaultNodeCount"),
"defaultCPUCount" => Input::get("defaultCPUCount"),
"defaultWalltime" => Input::get("defaultWalltime"),
"queueSpecificMacros" => Input::get("queueSpecificMacros"),
"isDefaultQueue" => Input::get('isDefaultQueue') == 'on'
);
$computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
$updatedQueues = [];
if($queue["isDefaultQueue"]){
foreach($computeDescription->batchQueues as $aQueue){
$aQueue->isDefaultQueue = false;
$updatedQueues[] = $aQueue;
}
}else{
$updatedQueues = $computeDescription->batchQueues;
}
$updatedQueues[] = CRUtilities::createQueueObject($queue);
$computeDescription->batchQueues = $updatedQueues;
$computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
//var_dump( $computeResource); exit;
$tabName = "#tab-queues";
} else if (Input::get("cr-edit") == "delete-queue") {
CRUtilities::deleteQueue(Input::get("crId"), Input::get("queueName"));
$tabName = "#tab-queues";
} else if (Input::get("cr-edit") == "fileSystems") {
$computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
$computeDescription->fileSystems = array_filter(Input::get("fileSystems"), "trim");
$computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
$tabName = "#tab-filesystem";
} else if (Input::get("cr-edit") == "jsp" || Input::get("cr-edit") == "edit-jsp") /* Add / Modify a Job Submission Interface */ {
$update = false;
if (Input::get("cr-edit") == "edit-jsp")
$update = true;
$jobSubmissionInterface = CRUtilities::create_or_update_JSIObject(Input::all(), $update);
$tabName = "#tab-jobSubmission";
} else if (Input::get("cr-edit") == "jsi-priority") {
$inputs = Input::all();
$computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
foreach ($computeDescription->jobSubmissionInterfaces as $index => $jsi) {
foreach ($inputs["jsi-id"] as $idIndex => $jsiId) {
if ($jsiId == $jsi->jobSubmissionInterfaceId) {
$computeDescription->jobSubmissionInterfaces[$index]->priorityOrder = $inputs["jsi-priority"][$idIndex];
break;
}
}
}
$computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
return 1; //currently done by ajax.
} else if (Input::get("cr-edit") == "dmp" || Input::get("cr-edit") == "edit-dmi") /* Add / Modify a Data Movement Interface */ {
$update = false;
if (Input::get("cr-edit") == "edit-dmi")
$update = true;
$dataMovementInterface = CRUtilities::create_or_update_DMIObject(Input::all(), $update);
$tabName = "#tab-dataMovement";
} else if (Input::get("cr-edit") == "dmi-priority") {
$inputs = Input::all();
$computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
foreach ($computeDescription->dataMovementInterfaces as $index => $dmi) {
foreach ($inputs["dmi-id"] as $idIndex => $dmiId) {
if ($dmiId == $dmi->dataMovementInterfaceId) {
$computeDescription->dataMovementInterfaces[$index]->priorityOrder = $inputs["dmi-priority"][$idIndex];
break;
}
}
}
$computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
return 1; //currently done by ajax.
} else if (Input::get("cr-edit") == "enableReporting") {
$inputs = Input::all();
$computeDescription = CRUtilities::get_compute_resource(Input::get("crId"));
//var_dump( $computeDescription); exit;
if( isset( $inputs["gatewayUsageReporting"]) && $inputs["gatewayUsageReporting"] == 1){
$computeDescription->gatewayUsageReporting = true;
$computeDescription->gatewayUsageModuleLoadCommand = $inputs["gatewayUsageModuleLoadCommand"];
$computeDescription->gatewayUsageExecutable = $inputs["gatewayUsageExecutable"];
}
else{
$computeDescription->gatewayUsageReporting = false;
$computeDescription->gatewayUsageModuleLoadCommand = null;
$computeDescription->gatewayUsageExecutable = null;
}
//var_dump( $computeDescription); exit;
$computeResource = CRUtilities::register_or_update_compute_resource($computeDescription, true);
$tabName = "#tab-reporting";
}
return Redirect::to("cr/edit?crId=" . Input::get("crId") . $tabName);
}