示例#1
0
 private function updateCompetenceTools()
 {
     $this->log('Creating admin referential competence tools...');
     $existingTool = $this->om->getRepository('ClarolineCoreBundle:Tool\\AdminTool')->findByName('competence_referencial');
     if (count($existingTool) === 0) {
         $competenceReferencial = new AdminTool();
         $competenceReferencial->setName('competence_referencial');
         $competenceReferencial->setClass('graduation-cap');
         $this->om->persist($competenceReferencial);
     }
     $existingTool = $this->om->getRepository('ClarolineCoreBundle:Tool\\AdminTool')->findByName('competence_subscription');
     if (count($existingTool) === 0) {
         $competenceSubscription = new AdminTool();
         $competenceSubscription->setName('competence_subscription');
         $competenceSubscription->setClass('code-fork');
         $this->om->persist($competenceSubscription);
     }
     $existingTool = $this->om->getRepository('ClarolineCoreBundle:Tool\\Tool')->findOneBy(array('name' => 'learning_profil'));
     if (!$existingTool) {
         $wsTool = new Tool();
         $wsTool->setName('learning_profil');
         $wsTool->setClass('graduation-cap');
         $wsTool->setIsWorkspaceRequired(true);
         $wsTool->setIsDesktopRequired(false);
         $wsTool->setDisplayableInWorkspace(true);
         $wsTool->setDisplayableInDesktop(false);
         $wsTool->setExportable(false);
         $wsTool->setIsConfigurableInWorkspace(false);
         $wsTool->setIsConfigurableInDesktop(false);
         $this->om->persist($wsTool);
     }
     $this->om->flush();
     $this->log('competence tools created ...');
 }
示例#2
0
 public function load(ObjectManager $manager)
 {
     $tools = array(array('platform_parameters', 'cog'), array('user_management', 'user'), array('workspace_management', 'book'), array('registration_to_workspace', 'book'), array('platform_packages', 'wrench'), array('desktop_and_home', 'home'), array('desktop_tools', 'pencil'), array('platform_logs', 'bars'), array('platform_analytics', 'bar-chart-o'), array('roles_management', 'users'), array('widgets_management', 'list-alt'));
     foreach ($tools as $tool) {
         $entity = new AdminTool();
         $entity->setName($tool[0]);
         $entity->setClass($tool[1]);
         $manager->persist($entity);
     }
     $manager->flush();
 }
示例#3
0
 private function createWidgetsManagementAdminTool()
 {
     $this->log('Creating Widgets management admin tool...');
     $widgetsTools = $this->adminToolRepo->findByName('widgets_management');
     if (count($widgetsTools) === 0) {
         $widgetsTool = new AdminTool();
         $widgetsTool->setName('widgets_management');
         $widgetsTool->setClass('list-alt');
         $this->om->persist($widgetsTool);
         $this->om->flush();
     }
 }
 public function load(ObjectManager $manager)
 {
     $tools = array(array('platform_parameters', 'cog'), array('user_management', 'user'), array('workspace_management', 'book'), array('registration_to_workspace', 'book'), array('desktop_and_home', 'home'), array('platform_logs', 'bars'), array('platform_analytics', 'bar-chart-o'), array('roles_management', 'users'), array('widgets_management', 'list-alt'), array('organization_management', 'institution'));
     foreach ($tools as $tool) {
         $entity = new AdminTool();
         $entity->setName($tool[0]);
         $entity->setClass($tool[1]);
         $manager->persist($entity);
     }
     $manager->flush();
     $this->container->get('claroline.manager.administration_manager')->addDefaultAdditionalActions();
 }
示例#5
0
 private function createOrganizationTool()
 {
     if (!$this->adminToolRepo->findOneByName('organization_management')) {
         $this->log('Creating institution admin tool...');
         $entity = new AdminTool();
         $entity->setName('organization_management');
         $entity->setClass('institution');
         $this->om->persist($entity);
         $this->om->flush();
     }
     $this->orgaManager->createDefault();
     $this->userManager->bindUserToOrganization();
 }
示例#6
0
 public function postUpdate()
 {
     $this->log('Updating cache...');
     $this->container->get('claroline.manager.cache_manager')->refresh();
     $this->log('Removing old cache...');
     if (file_exists($this->oldCachePath)) {
         unlink($this->oldCachePath);
     }
     $this->log('Creating admin tools...');
     $tools = array(array('platform_parameters', 'icon-cog'), array('user_management', 'icon-user'), array('workspace_management', 'icon-book'), array('badges_management', 'icon-trophy'), array('registration_to_workspace', 'icon-book'), array('platform_plugins', 'icon-wrench'), array('home_tabs', 'icon-th-large'), array('desktop_tools', 'icon-pencil'), array('platform_logs', 'icon-reorder'), array('platform_analytics', 'icon-bar-chart'), array('roles_management', 'icon-group'));
     $existingTools = $this->objectManager->getRepository('ClarolineCoreBundle:Tool\\AdminTool')->findAll();
     if (count($existingTools) === 0) {
         foreach ($tools as $tool) {
             $entity = new AdminTool();
             $entity->setName($tool[0]);
             $entity->setClass($tool[1]);
             $this->objectManager->persist($entity);
         }
     }
     $this->objectManager->flush();
 }
示例#7
0
 /**
  * @param array     $adminToolConfiguration
  * @param Plugin    $plugin
  * @param AdminTool $adminTool
  */
 private function persistAdminTool($adminToolConfiguration, Plugin $plugin, AdminTool $adminTool)
 {
     $adminTool->setName($adminToolConfiguration['name']);
     $adminTool->setClass($adminToolConfiguration['class']);
     $adminTool->setPlugin($plugin);
     $this->em->persist($adminTool);
 }
示例#8
0
 public function findByAdminTool(AdminTool $adminTool)
 {
     $dql = "\n            SELECT r FROM Claroline\\CoreBundle\\Entity\\Role r\n            JOIN r.adminTools t\n            WHERE t.id = :id\n        ";
     $query = $this->_em->createQuery($dql);
     $query->setParameter('id', $adminTool->getId());
     return $query->getResult();
 }
示例#9
0
 public function removeRoleFromAdminTool(AdminTool $tool, Role $role)
 {
     $tool->removeRole($role);
     $this->om->persist($tool);
     $this->om->flush();
 }