Example #1
0
function updateRack()
{
    assertUIntArg('row_id');
    assertStringArg('name');
    assertUIntArg('height');
    assertStringArg('asset_no', TRUE);
    assertStringArg('comment', TRUE);
    $taglist = genericAssertion('taglist', 'array0');
    $rack_id = getBypassValue();
    usePreparedDeleteBlade('RackThumbnail', array('rack_id' => $rack_id));
    commitUpdateRack($rack_id, $_REQUEST['row_id'], $_REQUEST['name'], $_REQUEST['height'], isCheckSet('has_problems', 'yesno'), $_REQUEST['asset_no'], $_REQUEST['comment']);
    updateObjectAttributes($rack_id);
    rebuildTagChainForEntity('rack', $rack_id, buildTagChainFromIds($taglist), TRUE);
    showFuncMessage(__FUNCTION__, 'OK', array($_REQUEST['name']));
}
function updateRack()
{
    assertUIntArg('row_id');
    assertStringArg('name');
    assertUIntArg('height');
    assertStringArg('asset_no', TRUE);
    assertStringArg('comment', TRUE);
    $taglist = genericAssertion('taglist', 'array0');
    $rack_id = getBypassValue();
    ###############################################################################################
    # update zabbix group
    $rack = spotEntity("rack", $rack_id);
    if ($rack['name'] != $_REQUEST['name']) {
        $result = updateGroup($rack["name"], $_REQUEST["name"]);
        if (isset($result["error"])) {
            showError("Updating zabbix group is failed. Error message:" . $result["error"]);
            return;
        }
    }
    # update table rack_airconditioner
    if ($rack['row_id'] != $_REQUEST['row_id']) {
        usePreparedUpdateBlade('rack_airconditioner', array('row_id' => $_REQUEST['row_id']), array('rack_id' => $rack_id));
    }
    # END
    ###############################################################################################
    usePreparedDeleteBlade('RackThumbnail', array('rack_id' => $rack_id));
    commitUpdateRack($rack_id, $_REQUEST['row_id'], $_REQUEST['name'], $_REQUEST['height'], isCheckSet('has_problems', 'yesno'), $_REQUEST['asset_no'], $_REQUEST['comment']);
    updateObjectAttributes($rack_id);
    rebuildTagChainForEntity('rack', $rack_id, buildTagChainFromIds($taglist), TRUE);
    showFuncMessage(__FUNCTION__, 'OK', array($_REQUEST['name']));
}
Example #3
0
function updateRack()
{
    assertUIntArg('row_id');
    assertStringArg('name');
    assertUIntArg('height');
    assertStringArg('asset_no', TRUE);
    assertStringArg('comment', TRUE);
    $rack_id = getBypassValue();
    usePreparedDeleteBlade('RackThumbnail', array('rack_id' => $rack_id));
    commitUpdateRack($rack_id, $_REQUEST['row_id'], $_REQUEST['name'], $_REQUEST['height'], isCheckSet('has_problems', 'yesno'), $_REQUEST['asset_no'], $_REQUEST['comment']);
    updateObjectAttributes($rack_id);
    return showFuncMessage(__FUNCTION__, 'OK', array($_REQUEST['name']));
}
Example #4
0
function updateRack()
{
    assertUIntArg('row_id');
    assertStringArg('name');
    assertUIntArg('height');
    assertStringArg('asset_no', TRUE);
    assertStringArg('comment', TRUE);
    $rack_id = getBypassValue();
    usePreparedDeleteBlade('RackThumbnail', array('rack_id' => $rack_id));
    commitUpdateRack($rack_id, $_REQUEST['row_id'], $_REQUEST['name'], $_REQUEST['height'], isCheckSet('has_problems', 'yesno'), $_REQUEST['asset_no'], $_REQUEST['comment']);
    // Update optional attributes
    $oldvalues = getAttrValues($rack_id);
    $num_attrs = isset($_REQUEST['num_attrs']) ? $_REQUEST['num_attrs'] : 0;
    for ($i = 0; $i < $num_attrs; $i++) {
        assertUIntArg("{$i}_attr_id");
        $attr_id = $_REQUEST["{$i}_attr_id"];
        // Skip the 'height' attribute as it's already handled by commitUpdateRack
        // Also skip 'sort_order'
        if ($attr_id == 27 or $attr_id == 29) {
            continue;
        }
        // Field is empty, delete attribute and move on. OR if the field type is a dictionary and it is the --NOT SET-- value of 0
        if (!strlen($_REQUEST["{$i}_value"]) || $oldvalues[$attr_id]['type'] == 'dict' && $_REQUEST["{$i}_value"] == 0) {
            commitUpdateAttrValue($rack_id, $attr_id);
            continue;
        }
        // The value could be uint/float, but we don't know ATM. Let SQL
        // server check this and complain.
        assertStringArg("{$i}_value");
        $value = $_REQUEST["{$i}_value"];
        switch ($oldvalues[$attr_id]['type']) {
            case 'uint':
            case 'float':
            case 'string':
                $oldvalue = $oldvalues[$attr_id]['value'];
                break;
            case 'dict':
                $oldvalue = $oldvalues[$attr_id]['key'];
                break;
            default:
        }
        if ($value === $oldvalue) {
            // ('' == 0), but ('' !== 0)
            continue;
        }
        commitUpdateAttrValue($rack_id, $attr_id, $value);
    }
    return showFuncMessage(__FUNCTION__, 'OK', array($_REQUEST['name']));
}
     commitLinkEntities('row', $_REQUEST['row_id'], 'rack', $rack_id);
     echo json_encode(array("result" => $rack_id));
     return;
     // api.php?method=update_rack&oldname=test1&newname=test2
 // api.php?method=update_rack&oldname=test1&newname=test2
 case "update_rack":
     require_once 'inc/init.php';
     $id = getEntityIdByName("rack", $_REQUEST["oldname"]);
     if ($id < 0) {
         echo json_encode(array("error" => "In racktables the rack " . $_REQUEST["oldname"] . "is not existed."));
         return;
     }
     $rack = spotEntity("rack", $id);
     $taglist = genericAssertion("taglist", "array0");
     #usePreparedDeleteBlade ("RackThumbnail", array ("rack_id" => $rack["id"]));
     commitUpdateRack($rack["id"], $rack["row_id"], $_REQUEST["newname"], $rack["height"], $rack["has_problem"], $rack["asset_no"], $rack["comment"]);
     #updateObjectAttributes ($rack["id"]);
     #rebuildTagChainForEntity ("rack", $rack["id"], buildTagChainFromIds ($taglist), TRUE);
     echo json_encode(array("result" => $rack["id"]));
     return;
     // api.php?method=delete_rack&name[]=test1
 // api.php?method=delete_rack&name[]=test1
 case "delete_rack":
     require_once 'inc/init.php';
     $id = getEntityIdByName("rack", $_REQUEST["name"]);
     if ($id < 0) {
         echo json_encode(array("error" => "In racktables the rack " . $_REQUEST["name"] . "is not existed."));
         return;
     }
     $rack = spotEntity("rack", $id);
     amplifyCell($rack);