/** * Import of CommonTreeDropdown */ public function testImportTree() { $ent0 = $this->sharedFixture['entity'][0]; $ent1 = $this->sharedFixture['entity'][1]; $ent2 = $this->sharedFixture['entity'][2]; $obj = new ITILCategory(); $fk = 'itilcategories_id'; // root entity - A - new $id[0] = $obj->import(array('name' => 'A', 'is_recursive' => 1, 'entities_id' => $ent0)); $this->assertGreaterThan(0, $id[0]); $this->assertTrue($obj->getFromDB($id[0])); $this->assertEquals(1, $obj->fields['is_recursive']); // root entity - B - new $id[1] = $obj->import(array('name' => 'B', 'entities_id' => $ent0)); $this->assertGreaterThan(0, $id[1]); $this->assertTrue($obj->getFromDB($id[1])); $this->assertEquals(0, $obj->fields['is_recursive']); // child entity - A - existing $id[2] = $obj->import(array('name' => 'A', 'entities_id' => $ent1)); $this->assertEquals($id[0],$id[2]); // child entity - B - new $id[3] = $obj->import(array('name' => 'B', 'entities_id' => $ent1)); $this->assertGreaterThan($id[1], $id[3]); // child entity - B > C - exiting B + new C $id[4] = $obj->import(array('completename' => 'B > C', 'entities_id' => $ent1)); $this->assertGreaterThan($id[3], $id[4]); $this->assertTrue($obj->getFromDB($id[4])); $this->assertEquals('C', $obj->fields['name']); $this->assertEquals($id[3], $obj->fields[$fk]); // child entity - >B>>C>D - clean completename $id[5] = $obj->import(array('completename' => '>B>> C>D', 'entities_id' => $ent1)); $this->assertGreaterThan($id[4], $id[5]); $this->assertTrue($obj->getFromDB($id[5])); $this->assertEquals('D', $obj->fields['name']); $this->assertEquals($id[4], $obj->fields[$fk]); $this->assertEquals('B > C > D', $obj->fields['completename']); }
/** * Transfer ticket/problem infos * * @param $data ticket data fields **/ function transferTicketAdditionalInformations($data) { $input = array(); $suppliers_id_assign = 0; // if ($data['suppliers_id_assign'] > 0) { // $suppliers_id_assign = $this->transferSingleSupplier($data['suppliers_id_assign']); // } // Transfer ticket category $catid = 0; if ($data['itilcategories_id'] > 0) { $categ = new ITILCategory(); if ($categ->getFromDB($data['itilcategories_id'])) { $inputcat['entities_id'] = $this->to; $inputcat['completename'] = addslashes($categ->fields['completename']); $catid = $categ->findID($inputcat); if ($catid < 0) { $catid = $categ->import($inputcat); } } } $input['itilcategories_id'] = $catid; return $input; }