/** * {@inheritDoc} */ public function load(ObjectManager $manager) { $activityManager = $this->container->get('claroline.manager.activity_manager'); $resourceManager = $this->container->get('claroline.manager.resource_manager'); $activity = new Activity(); $activity->setName($this->name); $activity->setTitle($this->name); $activity->setDescription($this->description); if ($this->primaryResource !== null) { $activity->setPrimaryResource($this->getReference($this->primaryResource)->getResourceNode()); } $activityParameters = new ActivityParameters(); $activityParameters->setActivity($activity); $activity->setParameters($activityParameters); $parent = $this->getReference('directory/' . $this->parent); $workspace = $parent->getWorkspace(); $resourceType = $manager->getRepository('ClarolineCoreBundle:Resource\\ResourceType')->findOneByName('activity'); $resourceManager->create($activity, $resourceType, $this->getReference('user/' . $this->creator), $workspace, $parent); foreach ($this->secondaryResources as $secondaryResource) { $activityManager->addResource($activity, $this->getReference($secondaryResource)->getResourceNode()); } }
/** * @Observe("create_activity") * * @param CreateResourceEvent $event */ public function onCreate(CreateResourceEvent $event) { $form = $this->formFactory->create(new ActivityType(), new Activity()); $form->handleRequest($this->request); if ($form->isValid()) { $published = $form->get('published')->getData(); $event->setPublished($published); $activity = $form->getData(); $activity->setName($activity->getTitle()); $activityParameters = new ActivityParameters(); $activityParameters->setActivity($activity); $activity->setParameters($activityParameters); $event->setResources(array($activity)); $event->stopPropagation(); return; } $content = $this->templating->render('ClarolineCoreBundle:Resource:createForm.html.twig', array('form' => $form->createView(), 'resourceType' => 'activity')); $event->setErrorFormContent($content); $event->stopPropagation(); }