/** * Methode zum Anzeigen des Contents. * * @return String Content der Applikation. */ public function Display() { if (count($this->params) > 0) { if ($this->params[0] == "active") { $view = new GenericView("CustomersController"); $view->assign("customers", CustomerDatabaseService::getInstance()->getActive()); return $this->returnView($view); } } return parent::Display(); }
/** * @param null $customParams */ public function Display($customParams = null) { if (is_array($customParams)) { $params = $customParams; } else { $params = $this->params; } if (count($params) == 0 || $params[0] == "") { $view = new GenericView($this->controllerName); foreach ($this->getEditObjects() as $item) { if ($item->getListLoadEnabled()) { $view->assign($item->getMultipleListName(), GenericDatabaseService::getInstance()->getAll($item->getInstance(), $item->getListFilter(), $item->getListLoadRelations(), $item->getListOrderBy())); } } return $this->returnView($view); } else { if (count($params) > 0) { if ($params[0] == "add") { if (isset($this->request["add"]) && $this->request["add"] == "true") { $req = $this->request; $successful = true; $newIds = array(); foreach ($this->getEditObjects() as $editObject) { ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudDefaultProperties()); ReflectionHelper::getInstance()->writeFromPostArrayToObjectProperties($editObject->getInstance(), $req[$editObject->getName()]); ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudForbiddenPropertiesAsNullArray()); ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudOverWriteProperties()); $res = GenericDatabaseService::getInstance()->create($editObject->getInstance()); if ($res === false) { LogHelper::getInstance()->logError($editObject->getFriendlyName() . " could not be added"); $successful = false; } else { $newIds[$editObject->getName()] = $res; } } //set relation Id's foreach ($this->getEditObjects() as $editObject) { if (ReflectionHelper::getInstance()->addRelationPropertiesToObject($editObject->getInstance(), $newIds)) { $res = GenericDatabaseService::getInstance()->update($editObject->getInstance()); if ($res === false) { LogHelper::getInstance()->logError($editObject->getFriendlyName() . " relations could not be updated"); $successful = false; } } } if ($successful) { LogHelper::getInstance()->logUserInfo($this->defaultFriendlyObjectName . " was added"); $this->exitWithControllerRedirect("update/" . $this->getEditObjects()[0]->getInstance()->getId()); } else { //remove all failed objects to keep database clean foreach ($this->getEditObjects() as $editObject) { GenericDatabaseService::getInstance()->delete($editObject->getInstance()); } } } $view = new GenericCrudView($this->controllerName, $this->getFilenameFromMode($this->getMode(GenericControllerBase::CRUD_CREATE))); $this->addEditObjectsPropertiesToView($view); return $this->returnView($view); } } if (count($params) > 1 && isset($params[1]) && is_numeric($params[1])) { if ($params[0] == "read") { if ($this->fillInstancesWithPassedId($params[1])) { $view = new GenericCrudView($this->controllerName, $this->getFilenameFromMode($this->getMode(GenericControllerBase::CRUD_READ))); $this->addEditObjectsPropertiesToView($view); return $this->returnView($view); } else { return $this->returnFailure(ControllerBase::FAILURE_NOT_FOUND); } } else { if ($params[0] == "update") { if ($this->fillInstancesWithPassedId($params[1])) { if (isset($this->request["update"]) && $this->request["update"] == "true") { $req = $this->request; $successful = true; foreach ($this->getEditObjects() as $editObject) { ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudDefaultProperties()); ReflectionHelper::getInstance()->writeFromPostArrayToObjectProperties($editObject->getInstance(), $req[$editObject->getName()]); ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudForbiddenPropertiesAsNullArray()); ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudOverWriteProperties()); $res = GenericDatabaseService::getInstance()->update($editObject->getInstance()); if ($res === false) { LogHelper::getInstance()->logError($editObject->getFriendlyName() . " could not be updated"); $successful = false; } } if ($successful) { LogHelper::getInstance()->logUserInfo($this->defaultFriendlyObjectName . " was updated"); } else { LogHelper::getInstance()->logError($this->defaultFriendlyObjectName . " could not be updated"); } } $view = new GenericCrudView($this->controllerName, $this->getFilenameFromMode($this->getMode(GenericControllerBase::CRUD_UPDATE))); $this->addEditObjectsPropertiesToView($view); return $this->returnView($view); } else { return $this->returnFailure(ControllerBase::FAILURE_NOT_FOUND); } } else { if ($params[0] == "delete") { if ($this->fillInstancesWithPassedId($params[1])) { if (isset($this->request["delete"]) && $this->request["delete"] == "true") { $req = $this->request; $successful = true; foreach ($this->getEditObjects() as $editObject) { ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudDefaultProperties()); ReflectionHelper::getInstance()->writeFromPostArrayToObjectProperties($editObject->getInstance(), $req[$editObject->getName()]); ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudForbiddenPropertiesAsNullArray()); ReflectionHelper::getInstance()->writeArrayIntoObject($editObject->getInstance(), $editObject->getCrudOverWriteProperties()); $res = GenericDatabaseService::getInstance()->delete($editObject->getInstance()); if ($res === false) { LogHelper::getInstance()->logError($editObject->getFriendlyName() . " could not be deleted"); $successful = false; } } if ($successful) { LogHelper::getInstance()->logUserInfo($this->defaultFriendlyObjectName . " was deleted"); } else { LogHelper::getInstance()->logError($this->defaultFriendlyObjectName . " could not be deleted"); } } $view = new GenericCrudView($this->controllerName, $this->getFilenameFromMode($this->getMode(GenericControllerBase::CRUD_DELETE))); $this->addEditObjectsPropertiesToView($view); return $this->returnView($view); } else { return $this->returnFailure(ControllerBase::FAILURE_NOT_FOUND); } } } } } } return parent::Display(); }