Ejemplo n.º 1
0
 /**
  * @Route(
  *     "/edit/{old}",
  *     name="claro_text_edit"
  * )
  *
  * Handles the text edition form submission.
  *
  * @param integer $textId
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function editAction(Text $old)
 {
     $collection = new ResourceCollection(array($old->getResourceNode()));
     $this->checkAccess('EDIT', $collection);
     $request = $this->get('request');
     $user = $this->get('security.token_storage')->getToken()->getUser();
     $text = $request->request->get('content');
     $em = $this->getDoctrine()->getManager();
     $version = $old->getVersion();
     $revision = new Revision();
     $revision->setContent($text);
     $revision->setText($old);
     $revision->setVersion(++$version);
     $revision->setUser($user);
     $em->persist($revision);
     $old->setVersion($version);
     $em->flush();
     $route = $this->get('router')->generate('claro_resource_open', array('resourceType' => 'text', 'node' => $old->getResourceNode()->getId()));
     return new RedirectResponse($route);
 }
Ejemplo n.º 2
0
 /**
  * @Route(
  *     "/edit/{old}",
  *     name="claro_text_edit"
  * )
  *
  * Handles the text edition form submission.
  *
  * @param integer $textId
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function editAction(Text $old)
 {
     $collection = new ResourceCollection(array($old->getResourceNode()));
     $this->checkAccess('EDIT', $collection);
     $request = $this->get('request');
     $user = $this->get('security.token_storage')->getToken()->getUser();
     $text = $request->request->get('content');
     $em = $this->getDoctrine()->getManager();
     $version = $old->getVersion();
     $revision = new Revision();
     $revision->setContent($text);
     $revision->setText($old);
     $revision->setVersion(++$version);
     $revision->setUser($user);
     $em->persist($revision);
     $old->setVersion($version);
     $em->flush();
     $workspace = $old->getResourceNode()->getWorkspace();
     $usersToNotify = $workspace ? $this->container->get('claroline.manager.user_manager')->getUsersByWorkspaces(array($workspace), null, null, false) : array();
     $this->get('claroline.event.event_dispatcher')->dispatch('log', 'Log\\LogEditResourceText', array('node' => $old->getResourceNode(), 'usersToNotify' => $usersToNotify));
     $route = $this->get('router')->generate('claro_resource_open', array('resourceType' => 'text', 'node' => $old->getResourceNode()->getId()));
     return new RedirectResponse($route);
 }