/**
  * Returns all global modules.
  *
  * Returns a list of all the global modules with:
  * <pre>
  *  - id     => id of the module.
  *  - name   => Name of the module.
  *  - label  => Display for the module.
  * </pre>
  * Also return in the metadata, if the user is an admin or not.
  *
  * The return is in JSON format.
  *
  * @return array
  */
 function jsonGetGlobalModulesAction()
 {
     $modules = array();
     $model = new Phprojekt_Module_Module();
     foreach ($model->fetchAll('active = 1 AND (save_type = 1 OR save_type = 2)', 'name ASC') as $module) {
         $modules['data'][$module->id] = array();
         $modules['data'][$module->id]['id'] = $module->id;
         $modules['data'][$module->id]['name'] = $module->name;
         $modules['data'][$module->id]['label'] = $module->label;
     }
     $modules['metadata'] = Phprojekt_Auth::isAdminUser();
     Phprojekt_Converter_Json::echoConvert($modules);
 }
 /**
  * Return all the modules in an array and the permission if exists.
  *
  * @param integer $projectId The Project ID.
  *
  * @return array Array with 'id', 'name', 'label' and 'inProject'.
  */
 function getProjectModulePermissionsById($projectId)
 {
     $modules = array();
     $model = new Phprojekt_Module_Module();
     foreach ($model->fetchAll('active = 1 AND (save_type = 0 OR save_type = 2)', 'name ASC') as $module) {
         $modules['data'][$module->id] = array();
         $modules['data'][$module->id]['id'] = (int) $module->id;
         $modules['data'][$module->id]['name'] = $module->name;
         $modules['data'][$module->id]['label'] = Phprojekt::getInstance()->translate($module->label, null, $module->name);
         $modules['data'][$module->id]['inProject'] = false;
     }
     $select = Phprojekt::getInstance()->getDb()->select();
     $select->from(array('pmp' => 'project_module_permissions'), 'module_id')->joinRight(array('m' => 'module'), 'm.id = pmp.module_id AND (m.save_type = 0 OR m.save_type = 2)', array())->where('pmp.project_id = ?', (int) $projectId)->where('m.active = 1');
     foreach ($select->query()->fetchAll(Zend_Db::FETCH_COLUMN) as $moduleId) {
         $modules['data'][$moduleId]['inProject'] = true;
     }
     return $modules;
 }
 /**
  * Return all the modules in an array and the access if exists.
  *
  * @param integer $roleId The role ID.
  *
  * @return array Array with 'id', 'name', 'label' and the access.
  */
 public function getRoleModulePermissionsById($roleId)
 {
     $modules = array();
     $model = new Phprojekt_Module_Module();
     foreach ($model->fetchAll('(save_type = 0 OR save_type = 2)', 'name ASC') as $module) {
         $modules['data'][$module->id] = array();
         $modules['data'][$module->id]['id'] = $module->id;
         $modules['data'][$module->id]['name'] = $module->name;
         $modules['data'][$module->id]['label'] = Phprojekt::getInstance()->translate($module->label, null, $module->name);
         $modules['data'][$module->id] = array_merge($modules['data'][$module->id], Phprojekt_Acl::convertBitmaskToArray(0));
     }
     $where = 'role_module_permissions.role_id = ' . (int) $roleId;
     foreach ($this->fetchAll($where) as $right) {
         if (isset($modules['data'][$right->moduleId])) {
             $modules['data'][$right->moduleId] = array_merge($modules['data'][$right->moduleId], Phprojekt_Acl::convertBitmaskToArray($right->access));
         }
     }
     return $modules;
 }
 /**
  * Test of json delete Module
  */
 public function testJsonDelete()
 {
     $module = new Phprojekt_Module_Module();
     $where = $this->sharedFixture->quoteInto('name = ?', 'test');
     $ids = $module->fetchAll($where);
     $moduleId = $ids[0]->id;
     $this->setRequestUrl('Core/module/jsonDelete');
     $this->request->setParam('id', $moduleId);
     $response = $this->getResponse();
     $this->assertContains('The module was deleted correctly', $response);
 }
Example #5
0
 public function testRecordValidate()
 {
     $module = new Phprojekt_Module_Module();
     $this->assertFalse($module->recordValidate());
     $this->assertEquals(2, count($module->getError()));
     $module->name = 'Test';
     $module->label = 'Test';
     $module->active = 1;
     $module->saveType = 0;
     $this->assertTrue($module->recordValidate());
 }
Example #6
0
 /**
  * Test for mock function
  */
 public function testMocks()
 {
     $module = new Phprojekt_Module_Module();
     $this->assertEquals(array(), $module->getRights());
     $module->name = 'Test';
     $module->label = 'Test';
     $module->active = 1;
     $module->saveType = 0;
     $module->saveRights();
     $this->assertEquals(array(), $module->getRights());
 }