Esempio n. 1
0
 /**
  * {@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();
 }