// Returns: record as created // $app->put('/devicetemplate/:templateid/powerport/:portnum', function ($templateid, $portnum) use($app, $person) { $tp = new TemplatePowerPorts(); foreach ($app->request->put() as $prop => $val) { $tp->{$prop} = $val; } // This should be in the commit data but if we get a smartass saying it's in the URL $tp->TemplateID = $templateid; $tp->PortNumber = $portnum; if (!$person->WriteAccess) { $response['error'] = true; $response['errorcode'] = 403; $response['message'] = __("Unauthorized"); } else { if (!$tp->CreatePort()) { $response['error'] = true; $response['errorcode'] = 404; $response['message'] = __("Device template port creation failed"); } else { $response['error'] = false; $response['errorcode'] = 200; $response['powerport'] = $tp; } } echoResponse(200, $response); }); // // URL: /api/v1/devicetemplate/:templateid/slot/:slotnum // Method: PUT // Params:
function UpdateSlotsPorts($template, $status) { //Update slots $template->DeleteSlots(); for ($i = 1; $i <= $template->ChassisSlots; $i++) { $slot = new Slot(); $slot->TemplateID = $template->TemplateID; $slot->Position = $i; $slot->BackSide = False; $slot->X = isset($_POST["XF" . $i]) ? $_POST["XF" . $i] : 0; $slot->Y = isset($_POST["YF" . $i]) ? $_POST["YF" . $i] : 0; $slot->W = isset($_POST["WF" . $i]) ? $_POST["WF" . $i] : 0; $slot->H = isset($_POST["HF" . $i]) ? $_POST["HF" . $i] : 0; $status = $slot->CreateSlot() ? $status : __("Error updating front slots"); } for ($i = 1; $i <= $template->RearChassisSlots; $i++) { $slot = new Slot(); $slot->TemplateID = $template->TemplateID; $slot->Position = $i; $slot->BackSide = True; $slot->X = isset($_POST["XR" . $i]) ? $_POST["XR" . $i] : 0; $slot->Y = isset($_POST["YR" . $i]) ? $_POST["YR" . $i] : 0; $slot->W = isset($_POST["WR" . $i]) ? $_POST["WR" . $i] : 0; $slot->H = isset($_POST["HR" . $i]) ? $_POST["HR" . $i] : 0; $status = $slot->CreateSlot() ? $status : __("Error updating rear slots"); } //update template ports $template->DeletePorts(); for ($i = 1; $i <= $template->NumPorts; $i++) { $tport = new TemplatePorts(); $tport->TemplateID = $template->TemplateID; $tport->PortNumber = $i; $tport->Label = isset($_POST["label" . $i]) ? $_POST["label" . $i] : ""; $tport->MediaID = isset($_POST["mt" . $i]) && $_POST["mt" . $i] > 0 ? $_POST["mt" . $i] : 0; $tport->ColorID = isset($_POST["cc" . $i]) && $_POST["cc" . $i] > 0 ? $_POST["cc" . $i] : 0; $tport->PortNotes = isset($_POST["portnotes" . $i]) ? $_POST["portnotes" . $i] : ""; $status = $tport->CreatePort() ? $status : __("Error updating template ports"); } $template->DeletePowerPorts(); //update template power connections for ($i = 1; $i <= $template->PSCount; $i++) { $tport = new TemplatePowerPorts(); $tport->TemplateID = $template->TemplateID; $tport->PortNumber = $i; $tport->Label = isset($_POST["powerlabel" . $i]) ? $_POST["powerlabel" . $i] : ""; $tport->PortNotes = isset($_POST["powerportnotes" . $i]) ? $_POST["powerportnotes" . $i] : ""; $status = $tport->CreatePort() ? $status : __("Error updating template power connections"); } return $status; }