Beispiel #1
0
 public function teamLeaveAction(Player $me, Conversation $conversation)
 {
     $team = $me->getTeam();
     if (!$me->canEdit($team)) {
         throw new ForbiddenException("You are not allowed to remove your team from this conversation.");
     } elseif (!$conversation->isMember($team)) {
         throw new ForbiddenException("That team is not participating in this conversation.");
     }
     return $this->showConfirmationForm(function () use($conversation, $team) {
         $conversation->removeMember($team);
         $event = new ConversationAbandonEvent($conversation, $team);
         Service::getDispatcher()->dispatch(Events::CONVERSATION_ABANDON, $event);
         return new RedirectResponse($conversation->getURL());
     }, "Are you sure you want to remove {$team->getEscapedName()} from this conversation?", "Your team is no longer participating in that conversation.", "Remove team");
 }