private function createActivityType(EntityManagerInterface $em) { $activityType = new ResourceType(); $activityType->setName('activity'); $em->persist($activityType); $em->flush(); }
/** * @param string $title * @param Question[] $questions * @param User $user * * @return Exercise */ public function exercise($title, array $questions = [], User $user = null) { $exercise = new Exercise(); if ($user) { if (!isset($this->exoType)) { $this->exoType = new ResourceType(); $this->exoType->setName('exercise'); $this->om->persist($this->exoType); } $node = new ResourceNode(); $node->setName($title); $node->setCreator($user); $node->setResourceType($this->exoType); $node->setWorkspace($user->getPersonalWorkspace()); $node->setClass('UJM\\ExoBundle\\Entity\\Exercise'); $node->setGuid(time()); $exercise->setResourceNode($node); $this->om->persist($node); } $this->om->persist($exercise); for ($i = 0, $max = count($questions); $i < $max; ++$i) { $step = new Step(); $step->setText('step'); $step->setOrder($i); // Add step to the exercise $exercise->addStep($step); $this->om->persist($step); $stepQuestion = new StepQuestion(); $stepQuestion->setStep($step); $stepQuestion->setQuestion($questions[$i]); $stepQuestion->setOrdre(0); $this->om->persist($stepQuestion); } return $exercise; }
/** * Loads one meta type (document) and four resource types handled by the platform core : * - File * - Directory * - Link * - Text * All these resource types have the 'document' meta type. * * @param ObjectManager $manager */ public function load(ObjectManager $manager) { // resource type attributes : name, listable, navigable, class $resourceTypes = array(array('file', true), array('directory', true), array('text', true), array('resource_shortcut', false), array('activity', true)); $types[] = array(); foreach ($resourceTypes as $attributes) { $type = new ResourceType(); $type->setName($attributes[0]); $type->setExportable($attributes[1]); $manager->persist($type); $this->container->get('claroline.manager.mask_manager')->addDefaultPerms($type); $types[$attributes[0]] = $type; } //add special actions. $composeDecoder = new MaskDecoder(); $composeDecoder->setValue(pow(2, 10)); $composeDecoder->setName('compose'); $composeDecoder->setResourceType($types['activity']); $manager->persist($composeDecoder); $activityMenu = new MenuAction(); $activityMenu->setName('compose'); $activityMenu->setAsync(false); $activityMenu->setIsCustom(true); $activityMenu->setValue(pow(2, 10)); $activityMenu->setResourceType($types['activity']); $activityMenu->setIsForm(false); $manager->persist($activityMenu); $updateFile = new MenuAction(); $updateFile->setName('update_file'); $updateFile->setAsync(true); $updateFile->setIsCustom(true); $updateFile->setIsForm(false); $updateFile->setResourceType($types['file']); //16 is default for edit $updateFile->setValue(16); $manager->persist($updateFile); $fileAction = new ActivityRuleAction(); $fileAction->setAction('resource-read'); $fileAction->setResourceType($types['file']); $manager->persist($fileAction); $textAction = new ActivityRuleAction(); $textAction->setAction('resource-read'); $textAction->setResourceType($types['text']); $manager->persist($textAction); $badgeAwardAction = new ActivityRuleAction(); $badgeAwardAction->setAction('badge-awarding'); $manager->persist($badgeAwardAction); }
/** * @param array $resourceConfiguration * @param Plugin $plugin * @param PluginBundle $pluginBundle * * @return ResourceType */ private function persistResourceTypes($resourceConfiguration, Plugin $plugin, PluginBundle $pluginBundle) { $resourceType = new ResourceType(); $resourceType->setName($resourceConfiguration['name']); $resourceType->setExportable($resourceConfiguration['is_exportable']); $resourceType->setPlugin($plugin); $this->em->persist($resourceType); $this->mm->addDefaultPerms($resourceType); $this->persistCustomAction($resourceConfiguration['actions'], $resourceType); $this->setResourceTypeDefaultMask($resourceConfiguration['default_rights'], $resourceType); $this->persistIcons($resourceConfiguration, $resourceType, $pluginBundle); $this->persistActivityRules($resourceConfiguration['activity_rules'], $resourceType); return $resourceType; }
protected static function createResourceType($name, $isExportable = true, Plugin $plugin = null) { $type = new ResourceType(); $type->setName($name); $type->setExportable($isExportable); if ($plugin) { $type->setPlugin($plugin); } self::create($name, $type); }
private function createActivity($name) { $user = new User(); $user->setFirstName('John'); $user->setLastName('Doe'); $user->setUsername('jdoe'); $user->setMail('*****@*****.**'); $user->setPassword('123'); $workspace = new Workspace(); $workspace->setName('w1'); $workspace->setCode('abc'); $workspace->setGuid('abc123'); $workspace->setCreator($user); $type = new ResourceType(); $type->setName('activity'); $node = new ResourceNode(); $node->setName($name); $node->setClass('FooClass'); $node->setCreator($user); $node->setResourceType($type); $node->setWorkspace($workspace); $activity = new Activity(); $activity->setResourceNode($node); $activity->setDescription('activity...'); $this->om->persist($user); $this->om->persist($workspace); $this->om->persist($type); $this->om->persist($node); $this->om->persist($activity); return $activity; }
private function resourceType($name) { $type = $this->om->getRepository('ClarolineCoreBundle:Resource\\ResourceType')->findOneByName($name); if (!$type) { $type = new ResourceType(); $type->setName($name); $type->setDefaultMask(1); $type->setPlugin($this->websitePlugin()); $this->om->persist($type); } return $type; }
protected function persistActivity($name) { if (!isset($this->defaults['user'])) { $this->defaults['user'] = $this->persistUser('default_user'); } if (!isset($this->defaults['workspace'])) { $workspace = new Workspace(); $workspace->setName('ws-jdoe'); $workspace->setCreator($this->defaults['user']); $workspace->setCode('jdoe-123'); $workspace->setGuid('123'); $this->om->persist($workspace); $this->defaults['workspace'] = $workspace; } if (!isset($this->defaults['activity_type'])) { $type = new ResourceType(); $type->setName('activity'); $this->om->persist($type); $this->defaults['activity_type'] = $type; } $node = new ResourceNode(); $node->setName($name); $node->setCreator($this->defaults['user']); $node->setResourceType($this->defaults['activity_type']); $node->setWorkspace($this->defaults['workspace']); $node->setClass('foo'); $activity = new Activity(); $activity->setName($name); $activity->setDescription('desc'); $activity->setResourceNode($node); $this->om->persist($node); $this->om->persist($activity); return $activity; }