コード例 #1
0
ファイル: DeleteRestore.php プロジェクト: btry/glpi
 /**
  * Check delete / purge on a pinter
  */
 public function testPrinter()
 {
     $printer = new Printer();
     // Create
     $id[0] = $printer->add(array('name' => "Printer", 'entities_id' => 0, 'is_template' => 0));
     $this->assertGreaterThan(0, $id[0], "Fail to create Printer 1");
     $this->assertTrue($printer->getFromDB($id[0]), "Fail: can't read Printer");
     // Verify DB Schema have not change
     $this->assertArrayHasKey('is_deleted', $printer->fields, "Fail: no is_deleted field");
     $this->assertArrayHasKey('is_template', $printer->fields, "Fail: no is_template field");
     $this->assertEquals(0, $printer->fields['is_deleted'], "Fail: is_deleted set");
     $this->assertEquals(0, $printer->fields['is_template'], "Fail: is_template set");
     // Delete
     $this->assertTrue($printer->delete(array('id' => $id[0])), "Fail: can't delete Printer");
     $this->assertTrue($printer->getFromDB($id[0]), "Fail: can't read Printer");
     $this->assertEquals(1, $printer->fields['is_deleted'], "Fail: is_deleted not set");
     // Restore
     $this->assertTrue($printer->restore(array('id' => $id[0])), "Fail: can't restore Printer");
     $this->assertTrue($printer->getFromDB($id[0]), "Fail: can't read Printer");
     $this->assertEquals(0, $printer->fields['is_deleted'], "Fail: is_deleted set");
     // Delete again
     $this->assertTrue($printer->delete(array('id' => $id[0])), "Fail: can't delete Printer");
     $this->assertTrue($printer->getFromDB($id[0]), "Fail: can't read Printer");
     $this->assertEquals(1, $printer->fields['is_deleted'], "Fail: is_deleted not set");
     // Purge
     $this->assertTrue($printer->delete(array('id' => $id[0]), 1), "Fail: to purge Printer");
     $this->assertFalse($printer->getFromDB($id[0]), "Fail: can read Printer (purged)");
 }
コード例 #2
0
ファイル: PrinterTest.php プロジェクト: btry/glpi
 /**
  * @covers Printer::delete
  * @covers Printer::restore
  */
 public function testDelete()
 {
     $obj = new Printer();
     $this->assertTrue($obj->maybeDeleted());
     // Add
     $id = $obj->add(['name' => __METHOD__]);
     $this->assertGreaterThan(0, $id);
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(0, $obj->getField('is_deleted'));
     $this->assertEquals(0, $obj->isDeleted());
     // Delete
     $this->assertTrue($obj->delete(['id' => $id], 0));
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(1, $obj->getField('is_deleted'));
     $this->assertEquals(1, $obj->isDeleted());
     // Restore
     $this->assertTrue($obj->restore(['id' => $id], 0));
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(0, $obj->getField('is_deleted'));
     $this->assertEquals(0, $obj->isDeleted());
     // Purge
     $this->assertTrue($obj->delete(['id' => $id], 1));
     $this->assertFalse($obj->getFromDB($id));
 }
コード例 #3
0
if (isset($_POST["add"])) {
    $print->check(-1, 'w', $_POST);
    if ($newID = $print->add($_POST)) {
        Event::log($newID, "printers", 4, "inventory", $_SESSION["glpiname"] . "  " . $LANG['log'][20] . "  " . $_POST["name"] . ".");
    }
    glpi_header($_SERVER['HTTP_REFERER']);
} else {
    if (isset($_POST["delete"])) {
        $print->check($_POST["id"], 'd');
        $print->delete($_POST);
        Event::log($_POST["id"], "printers", 4, "inventory", $_SESSION["glpiname"] . " " . $LANG['log'][22]);
        $print->redirectToList();
    } else {
        if (isset($_POST["restore"])) {
            $print->check($_POST["id"], 'd');
            $print->restore($_POST);
            Event::log($_POST["id"], "printers", 4, "inventory", $_SESSION["glpiname"] . " " . $LANG['log'][23]);
            $print->redirectToList();
        } else {
            if (isset($_REQUEST["purge"])) {
                $print->check($_REQUEST["id"], 'd');
                $print->delete($_REQUEST, 1);
                Event::log($_REQUEST["id"], "printers", 4, "inventory", $_SESSION["glpiname"] . " " . $LANG['log'][24]);
                $print->redirectToList();
            } else {
                if (isset($_POST["update"])) {
                    $print->check($_POST["id"], 'w');
                    $print->update($_POST);
                    Event::log($_POST["id"], "printers", 4, "inventory", $_SESSION["glpiname"] . " " . $LANG['log'][21]);
                    glpi_header($_SERVER['HTTP_REFERER']);
                } else {
コード例 #4
0
ファイル: PrinterTest.php プロジェクト: glpi-project/glpi
 /**
  * @covers Printer::deleteByCriteria
  * @covers Printer::restore
  */
 public function testDeleteByCriteria()
 {
     $obj = new Printer();
     $this->assertTrue($obj->maybeDeleted());
     // Add
     $id = $obj->add(['name' => __METHOD__, 'entities_id' => getItemByTypeName('Entity', '_test_root_entity', true)]);
     $this->assertGreaterThan(0, $id);
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(0, $obj->getField('is_deleted'));
     $this->assertEquals(0, $obj->isDeleted());
     $nb_before = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n                                          AND items_id = '{$id}'");
     // DeleteByCriteria without history
     $this->assertTrue($obj->deleteByCriteria(['name' => __METHOD__], 0, 0));
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(1, $obj->getField('is_deleted'));
     $this->assertEquals(1, $obj->isDeleted());
     $nb_after = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n                                          AND items_id = '{$id}'");
     $this->assertEquals($nb_before, $nb_after);
     // Restore
     $this->assertTrue($obj->restore(['id' => $id], 0));
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(0, $obj->getField('is_deleted'));
     $this->assertEquals(0, $obj->isDeleted());
     $nb_before = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n                                          AND items_id = '{$id}'");
     // DeleteByCriteria with history
     $this->assertTrue($obj->deleteByCriteria(['name' => __METHOD__], 0, 1));
     $this->assertTrue($obj->getFromDB($id));
     $this->assertEquals(1, $obj->getField('is_deleted'));
     $this->assertEquals(1, $obj->isDeleted());
     $nb_after = countElementsInTable('glpi_logs', "itemtype = 'Printer'\n                                          AND items_id = '{$id}'");
     $this->assertEquals($nb_before + 1, $nb_after);
 }