// This should be in the commit data but if we get a smartass saying it's in the URL $dt->TemplateID = $templateid; if (!$person->WriteAccess) { $response['error'] = true; $response['errorcode'] = 403; $response['message'] = __("Unauthorized"); } else { if (!$dt->GetTemplateByID()) { $response['error'] = true; $response['errorcode'] = 404; $response['message'] = __("No device template found with TemplateID: ") . $templateid; } else { foreach ($app->request->post() as $prop => $val) { $dt->{$prop} = $val; } if (!$dt->UpdateTemplate()) { $response['error'] = true; $response['errorcode'] = 404; $response['message'] = __("Device template update failed"); } else { $response['error'] = false; $response['errorcode'] = 200; } } } echoResponse(200, $response); }); // // URL: /api/v1/devicetemplate/:templateid/dataport/:portnumber // Method: POST // Params:
if ($config->ParameterArray["KeepLocal"] == "enabled") { $t->KeepLocal = true; } else { $t->KeepLocal = false; } // Resolve the TemplateID so that we can make the rest of the tables match $st = $dbh->prepare("select TemplateID, KeepLocal, count(*) as Total from fac_DeviceTemplate where GlobalID=:TemplateID or (ManufacturerID=:ManufacturerID and ucase(Model)=ucase(:Model))"); $st->execute(array(":TemplateID" => $t->GlobalID, ":ManufacturerID" => $man->ManufacturerID, ":Model" => $t->Model)); $row = $st->fetch(); if ($row["Total"] > 0) { if ($row["KeepLocal"] == 1) { // Anything marked as KeepLocal we ignore the repo completely continue; } $t->TemplateID = $row["TemplateID"]; $t->UpdateTemplate(); $updating = true; } else { $t->TemplateID = 0; $t->CreateTemplate(); $updating = false; } if ($t->DeviceType == "CDU" && is_object(@$t->cdutemplate)) { $ct->ManufacturerID = $t->ManufacturerID; $ct->Model = $t->Model; foreach ($t->cdutemplate as $prop => $val) { $ct->{$prop} = $val; } $ct->TemplateID = $t->TemplateID; if (!$updating) { $ct->CreateTemplate($t->TemplateID);