/** * Load Datatype * * @param ServiceManager $serviceManager Service manager * @param integer $datatypeId Datatype id * @param integer $documentId Optional document id * * @return mixed */ public static function loadDatatype(ServiceManager $serviceManager, $datatypeId, $documentId = null) { $datatype = Model::fromId($datatypeId); $class = 'Datatypes\\' . $datatype->getModel() . '\\Datatype'; $object = new $class(); $object->setRequest($serviceManager->get('Request'))->setRouter($serviceManager->get('Router'))->setHelperManager($serviceManager->get('viewhelpermanager'))->setDatatypesList($serviceManager->get('DatatypesList'))->load($datatype, $documentId); return $object; }
/** * Delete datatype * * @return \Zend\View\Model\JsonModel */ public function deleteAction() { $datatype = Datatype\Model::fromId($this->getRouteMatch()->getParam('id', null)); if (!empty($datatype) and $datatype->delete()) { return $this->returnJson(array('success' => true, 'message' => 'This datatype has been deleted')); } return $this->returnJson(array('success' => false, 'message' => 'Datatype does not exists')); }
/** * Import Datatypes * * @param array &$ids Ids * @param array &$errors Errors * @param array $children Children list * * @return void */ protected function importDatatypes(&$ids, &$errors, $children) { foreach ($children['children'] as $child) { $attributes = $child->attributes(); $id = (int) $attributes['id']; $model = Datatype\Model::fromId($id); if ($model === false) { $model = new Datatype\Model(); } $name = (string) $child->name; $datatypeModel = (string) $child->model; $model->addData(array('name' => empty($name) ? $model->getName() : $name, 'model' => empty($datatypeModel) ? $model->getModel() : $datatypeModel)); $model->setPrevalueValue((string) $child->prevalue_value); try { if (!empty($model)) { $model->save(); $ids['datatypes'][$id] = $model->getId(); } } catch (Exception $e) { $errors[] = sprintf($this->serviceLocator->get('MvcTranslator')->translate('Cannot save datatype with id (%d)'), $id); } } }
/** * Test * * @return void */ public function testFromId() { $this->assertInstanceOf('Gc\\Datatype\\Model', Model::fromId($this->object->getId())); $this->assertFalse(Model::fromId('undefined id')); }