/** * @EXT\Route( * "/simple_text_update/config/{widget}", * name="claro_rss_config_update" * ) * @EXT\Method("POST") */ public function updateSimpleTextWidgetConfig(WidgetInstance $widget) { if (!$this->get('security.authorization_checker')->isGranted('edit', $widget)) { throw new AccessDeniedException(); } $rssConfig = $this->get('claroline.manager.rss_manager')->getConfig($widget); $form = $this->container->get('form.factory')->create(new ConfigType(), new Config()); $form->bind($this->getRequest()); if ($rssConfig) { if ($form->isValid()) { $rssConfig->setUrl($form->get('url')->getData()); } else { return $this->render('ClarolineRssReaderBundle::formRss.html.twig', array('form' => $form->createView(), 'isAdmin' => $widget->isAdmin(), 'config' => $widget)); } } else { if ($form->isValid()) { $rssConfig = new Config(); $rssConfig->setWidgetInstance($widget); $rssConfig->setUrl($form->get('url')->getData()); } else { return $this->render('ClarolineRssReaderBundle::formRss.html.twig', array('form' => $form->createView(), 'isAdmin' => $widget->isAdmin(), 'config' => $widget)); } } $em = $this->get('doctrine.orm.entity_manager'); $em->persist($rssConfig); $em->flush(); return new Response('', 204); }
/** * @DI\Observe("copy_widget_config_claroline_rssreader") * * @param CopyWidgetConfigurationEvent $event */ public function onCopyWidgetConfiguration(CopyWidgetConfigurationEvent $event) { $source = $event->getWidgetInstance(); $copy = $event->getWidgetInstanceCopy(); $widgetConfig = $this->rssManager->getConfig($source); if (!is_null($widgetConfig)) { $widgetConfigCopy = new Config(); $widgetConfigCopy->setWidgetInstance($copy); $widgetConfigCopy->setUrl($widgetConfig->getUrl()); $this->om->persist($widgetConfigCopy); $this->om->flush(); } $event->validateCopy(); $event->stopPropagation(); }