diff --git a/src/Application/Actions/Message/CreateMessageAction.php b/src/Application/Actions/Message/CreateMessageAction.php index a49e7918b0e1e660423dab6c203cb23cdbf5405d..2a8d9e565a2407b0d1647ff5d18a0cbfd5638edb 100755 --- a/src/Application/Actions/Message/CreateMessageAction.php +++ b/src/Application/Actions/Message/CreateMessageAction.php @@ -6,6 +6,7 @@ namespace App\Application\Actions\Message; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use App\Domain\Message\Message ; +use DateTime; class CreateMessageAction extends MessageAction { @@ -16,18 +17,24 @@ class CreateMessageAction extends MessageAction { $parsedRequestBody = (array)$this->request->getParsedBody(); - $id_receiver = $parsedRequestBody['id_receiver']; - $id_transmitter = $parsedRequestBody['id_transmitter']; - $date = $parsedRequestBody['date']; + $transmitter = $this->userRepository->find($_SESSION['userId']); + + $groupId = (int) $this->resolveArg('id'); + $receiver = $this->groupRepository->find($groupId); + + $date = new DateTime('now');; $body = $parsedRequestBody['body']; - $message = new Message(null, $id_receiver, $id_transmitter, $date, $body); + $message = new Message(null, $receiver, $transmitter, $date, $body); $this->em->persist($message); $this->em->flush(); $this->logger->info("Message has been created."); - return $this->respondWithData($message); + + return $this->response + ->withHeader('Location', '/groups/' . $groupId . '/messages') + ->withStatus(302); } }