public function getResourcesWidgetConfig(WidgetInstance $widgetInstance)
 {
     $config = $this->resourcesWidgetConfigRepo->findOneBy(['widgetInstance' => $widgetInstance]);
     if (is_null($config)) {
         $config = new ResourcesWidgetConfig();
         $config->setWidgetInstance($widgetInstance);
         $this->om->persist($config);
         $this->om->flush();
     }
     return $config;
 }
 /**
  * @EXT\Route(
  *     "/resources/widget/configure/config/{config}",
  *     name="claro_resources_widget_configure",
  *     options={"expose"=true}
  * )
  * @EXT\ParamConverter("user", converter="current_user")
  * @EXT\Template("ClarolineCoreBundle:Widget:resourcesWidgetConfigureForm.html.twig")
  */
 public function resourcesWidgetConfigureAction(ResourcesWidgetConfig $config)
 {
     $form = $this->formFactory->create(new ResourcesWidgetConfigurationType($this->translator));
     $form->handleRequest($this->request);
     if ($form->isValid()) {
         $mode = $form->get('mode')->getData();
         $config->setMode($mode);
         $resource = $form->get('resource')->getData();
         $tagsText = $form->get('tags')->getData();
         if ($resource) {
             $config->clearDirectories();
             $config->addDirectory($resource->getId());
         }
         if ($tagsText) {
             $tags = explode(',', $tagsText);
             $config->clearTags();
             foreach ($tags as $tag) {
                 $t = trim($tag);
                 if (!empty($t)) {
                     $config->addTag(trim($tag));
                 }
             }
         }
         $this->resourcesWidgetManager->persistResourcesWidgetConfig($config);
         return new JsonResponse('success', 204);
     } else {
         return ['form' => $form->createView(), 'config' => $config];
     }
 }