/** * @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); }
/** * @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); }