protected function body() { $inputs = array('name' => array('isNotEmpty'), 'description' => 'isNotEmpty'); if (!$this->isInputValid($inputs)) { return false; } $name = $this->getParams('name'); $description = $this->getParams('description'); $id = $this->getParams('id'); $isIdSet = $id !== null && $id !== ''; $user = User::instance(); $userId = $user->getId(); if (!$isIdSet) { if (!$this->userHasPrivileges(User::lecturesAdd)) { return false; } $lecture = new \Lecture(); $lecture->setName($name); $lecture->setDescription($description); $lecture->setOwner(User::instance()->getEntity()); Repositories::persistAndFlush($lecture); } else { if ($isIdSet) { $lecture = Repositories::findEntity(Repositories::Lecture, $id); if (!$user->hasPrivileges(User::lecturesManageAll) && (!$user->hasPrivileges(User::lecturesManageOwn) || $lecture->getOwner()->getId() != $userId)) { return $this->death(StringID::InsufficientPrivileges); } $lecture->setDescription($description); Repositories::persistAndFlush($lecture); } } return true; }