protected function create() { if (isset($_POST["name"])) { $group = GroupQuery::create()->filterByOwner($this->data["loggedUser"])->filterByName($_POST["name"])->findOne(); if ($group) { $this->sendFlashMessage("You already have a group with this name.", "error"); $this->redirect($this->data["referersURI"]); } $group = new Group(); $group->setName($_POST["name"]); $group->setOwner($this->data["loggedUser"]); $group->setDescription(isset($_POST["description"]) ? $_POST["description"] : null); if (!$group->save()) { $failures = $group->getValidationFailures(); if (count($failures) > 0) { foreach ($failures as $failure) { $this->sendFlashMessage("Group has not been created. " . $failure->getMessage(), "error"); } } $this->redirect("/group/new"); } if (isset($_POST["users"])) { $users = array_map("trim", explode(",", $_POST["users"])); foreach ($users as $username) { $u = UserQuery::create()->findOneByUsername($username); if ($u) { if ($u == $this->data["loggedUser"]) { $this->sendFlashMessage("You can not add yourself to group.", "error"); continue; } $userGroup = UserGroupQuery::create()->filterByUser($u)->filterByGroup($group)->findOne(); if ($userGroup) { $this->sendFlashMessage("User " . $username . " is already in this group.", "error"); continue; } $group->addUser($u); } else { $this->sendFlashMessage("User " . $username . " does not exist.", "error"); } } $group->save(); } $this->sendFlashMessage("Group has been successfully created.", "success"); $this->redirect("/group/" . $group->getId()); } setHTTPStatusCode("400"); }
/** * @param ChildGroup $myGroup The ChildGroup object to add. */ protected function doAddMyGroup(ChildGroup $myGroup) { $this->collMyGroups[] = $myGroup; $myGroup->setOwner($this); }