/** * @DI\Observe("widget_innova_path_widget_configuration") * * @param ConfigureWidgetEvent $event */ public function onConfigure(ConfigureWidgetEvent $event) { $instance = $event->getInstance(); $config = $this->pathManager->getWidgetConfig($instance); $form = $this->formFactory->create('innova_path_widget_config', $config); $content = $this->twig->render('InnovaPathBundle:Widget:config.html.twig', ['form' => $form->createView(), 'instance' => $instance, 'tags' => $this->tagManager->getPlatformTags()]); $event->setContent($content); $event->stopPropagation(); }
/** * @DI\Observe("widget_core_resource_logger_configuration") * * @param ConfigureWidgetEvent $event */ public function onConfigure(ConfigureWidgetEvent $event) { $instance = $event->getInstance(); $config = $this->logManager->getLogConfig($instance); if ($config === null) { $config = new LogWidgetConfig(); $config->setWidgetInstance($instance); } if ($instance->isDesktop()) { $workspaces = array(); $workspacesVisibility = array(); if (!$instance->isAdmin()) { $workspaces = $this->workspaceManager->getWorkspacesByUserAndRoleNames($instance->getUser(), array('ROLE_WS_COLLABORATOR', 'ROLE_WS_MANAGER')); $workspacesVisibility = $this->logManager->getWorkspaceVisibilityForDesktopWidget($instance->getUser(), $workspaces); } $workspacesVisibility['amount'] = $config->getAmount(); $form = $this->formFactory->create(new LogDesktopWidgetConfigType(), $workspacesVisibility, array('workspaces' => $workspaces)); $content = $this->twig->render('ClarolineCoreBundle:Log:config_desktop_widget_form.html.twig', array('form' => $form->createView(), 'instance' => $instance)); } else { $form = $this->formFactory->create($this->logWorkspaceWidgetConfigForm, $config); $content = $this->twig->render('ClarolineCoreBundle:Log:config_workspace_widget_form.html.twig', array('form' => $form->createView(), 'instance' => $instance)); } $event->setContent($content); }