Exemplo n.º 1
0
 /**
  * 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();
 }
Exemplo n.º 2
0
 /**
  * @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();
 }