/**
  * @param Mark $mark
  * @param null $oldMark
  */
 public function __construct(Mark $mark, $oldMark = null)
 {
     $result = $mark->getResult();
     $receiverUser = $mark->getUser();
     $details = ['receiverUser' => ['firstName' => $receiverUser->getFirstName(), 'lastName' => $receiverUser->getLastName(), 'username' => $receiverUser->getUsername()], 'result' => $mark->getValue(), 'update' => $oldMark !== null, 'mark' => ['id' => $mark->getId(), 'value' => $mark->getValue(), 'oldValue' => $oldMark]];
     parent::__construct($result->getResourceNode(), $details);
     $this->setReceiver($receiverUser);
 }
Exemplo n.º 2
0
 /**
  * @EXT\Route("/marks/{id}", name="claro_edit_mark")
  * @EXT\Method("PUT")
  *
  * @param Request $request
  * @param Mark    $mark
  *
  * @return JsonResponse
  */
 public function editMarkAction(Request $request, Mark $mark)
 {
     $this->assertCanEdit($mark->getResult());
     $newValue = $request->request->get('value', false);
     $response = new JsonResponse();
     if ($newValue !== false) {
         if (!$this->manager->isValidMark($mark->getResult(), $newValue)) {
             $response->setData('Mark is not valid');
             $response->setStatusCode(422);
         } else {
             $this->manager->updateMark($mark, $newValue);
             $response->setStatusCode(204);
         }
     } else {
         $response->setData('Field "value" is missing');
         $response->setStatusCode(422);
     }
     return $response;
 }