Ejemplo n.º 1
0
 function DeleteDepartment($TransferTo = null)
 {
     // Make sure we have a real department to delete so we don't pull some bonehead move and delete everything set to 0
     if (!$this->GetDeptByID()) {
         return false;
     }
     // Get people and objects that still belong to this department
     $dev = new Device();
     $cab = new Cabinet();
     $dev->Owner = $cab->AssignedTo = $this->DeptID;
     $person = new People();
     $devices = $dev->GetDevicesbyOwner();
     $cabinets = $cab->GetCabinetsByDept();
     $users = $person->GetPeopleByDepartment($this->DeptID);
     foreach ($devices as $d) {
         // We've designated a new owner for this equipment, zero is valid as they might be setting it to general
         if (!is_null($TransferTo)) {
             $d->Owner = $TransferTo;
             $d->UpdateDevice();
         } else {
             // This option is not being provided but us at this time, maybe through the API
             $d->DeleteDevice();
         }
     }
     foreach ($cabinets as $c) {
         // We've designated a new owner for these cabinets, zero is valid as they might be setting it to general
         if (!is_null($TransferTo)) {
             $c->AssignedTo = $TransferTo;
             $c->UpdateCabinet();
         } else {
             // This option is not being provided but us at this time, maybe through the API
             $c->DeleteCabinet();
         }
     }
     foreach ($users as $p) {
         // If we don't have a value over 0 then we're just removing this department and they won't be added to another group
         if (!is_null($TransferTo) && intval($TransferTo) > 0) {
             // Add this user into the new department
             $sql = "INSERT INTO fac_DeptContacts SET DeptID=" . intval($TransferTo) . ", ContactID={$p->PersonID};";
             $this->exec($sql);
         }
     }
     // Clear any users from this department
     $sql = "DELETE FROM fac_DeptContacts WHERE DeptID={$this->DeptID};";
     $this->exec($sql);
     // By this point all devices, objects, and users should have been shoved into a new department so finish cleaning up.
     $sql = "DELETE FROM fac_Department WHERE DeptID={$this->DeptID};";
     if (!$this->exec($sql)) {
         global $dbh;
         $info = $dbh->errorInfo();
         error_log("PDO Error: {$info[2]} SQL={$sql}");
         return false;
     }
     class_exists('LogActions') ? LogActions::LogThis($this) : '';
     return true;
 }
Ejemplo n.º 2
0
        $tmp['DataCenterName'] = $dc->Name;
        array_push($response['cabinet'], $tmp);
    }
    echoResponse(200, $response);
});
//
//	URL:	/api/v1/cabinet/bydept/:deptid
//	Method:	GET
//	Params: deptid (passed in URL)
//	Returns: All cabinet information for cabinets assigned to supplied deptid
//
$app->get('/cabinet/bydept/:deptid', function ($deptid) {
    $cab = new Cabinet();
    $dc = new DataCenter();
    $cab->DeptID = $deptid;
    $cList = $cab->GetCabinetsByDept();
    $response['error'] = false;
    $response['errorcode'] = 200;
    $response['cabinet'] = array();
    foreach ($cList as $c) {
        $tmp = array();
        foreach ($c as $prop => $value) {
            $tmp[$prop] = $value;
        }
        if ($dc->DataCenterID != $c->DataCenterID) {
            $dc->DataCenterID = $c->DataCenterID;
            $dc->GetDataCenter();
        }
        $tmp['DataCenterName'] = $dc->Name;
        array_push($response['cabinet'], $tmp);
    }
Ejemplo n.º 3
0
require_once 'db.inc.php';
require_once 'facilities.inc.php';
$subheader = __("Data Center Department Detail");
if (!$person->ContactAdmin) {
    // No soup for you.
    header('Location: ' . redirect());
    exit;
}
// AJAX requests
if (isset($_GET['objectcount'])) {
    $cab = new Cabinet();
    $dev = new Device();
    $cab->AssignedTo = $dev->Owner = $_GET['deptid'];
    $return = array();
    $return['cabinets'] = count($cab->GetCabinetsByDept());
    $return['devices'] = count($dev->GetDevicesbyOwner());
    $return['people'] = count($person->GetPeopleByDepartment($dev->Owner));
    header('Content-Type: application/json');
    echo json_encode($return);
    exit;
}
if (isset($_POST['action']) && $_POST["action"] == "Delete") {
    header('Content-Type: application/json');
    $response = false;
    if (isset($_POST["TransferTo"])) {
        $dept = new Department();
        $dept->DeptID = $_POST['deptid'];
        if ($dept->DeleteDepartment($_POST["TransferTo"])) {
            $response = true;
        }