function generate()
 {
     global $Language;
     $request =& HTTPRequest::instance();
     if ($data = $request->get('data')) {
         if (isset($data['users']['generate']) && $data['users']['generate']) {
             $um = UserManager::instance();
             $nb_wanted = isset($data['users']['nb']) ? (int) $data['users']['nb'] : 1;
             $users = $this->_getUsersData();
             reset($users);
             $nb_done = 0;
             while ((list(, $user) = each($users)) && $nb_wanted > $nb_done) {
                 if (!$um->getUserByUserName($user['name'])) {
                     require_once 'account.php';
                     account_create($user['name'], 'codendi', '', $user['realname'], '', '*****@*****.**', 'A', '', 0, 0, 'Europe/Paris', 'en_US', 'A');
                     $nb_done++;
                 }
             }
         }
         if (isset($data['projects']['generate']) && $data['projects']['generate']) {
             $nb_wanted = isset($data['projects']['nb']) ? (int) $data['projects']['nb'] : 1;
             $projects = $this->_getProjectsData();
             reset($projects);
             $nb_done = 0;
             while ((list(, $project) = each($projects)) && $nb_wanted > $nb_done) {
                 if (!group_get_object_by_name($project['name'])) {
                     $projectCreator = new ProjectCreator(ProjectManager::instance(), ReferenceManager::instance());
                     $projectCreator->create(array('project' => array('form_unix_name' => $project['name'], 'form_full_name' => $project['name'], 'form_short_description' => $project['description'], 'form_purpose' => $project['description'], 'form_required_sw' => '', 'form_patents' => '', 'form_comments' => '', 'built_from_template' => 100, 'is_test' => false, 'is_public' => true, 'trove' => array())));
                     $nb_done++;
                 }
             }
         }
     }
 }
 private function doCreate()
 {
     $projectCreator = new ProjectCreator($this->project_manager, ReferenceManager::instance());
     $data = $this->creation_request->getProjectValues();
     $creationData = ProjectCreationData::buildFromFormArray($data);
     return $projectCreator->build($creationData);
 }
 public function itCreatesAProject()
 {
     $projectCreator = new ProjectCreator(ProjectManager::instance(), ReferenceManager::instance());
     $projectCreator->create('short-name', 'Long name', array('project' => array('form_short_description' => '', 'is_test' => false, 'is_public' => false, 'services' => array(), 'built_from_template' => 100)));
     ProjectManager::clearInstance();
     $project = ProjectManager::instance()->getProjectByUnixName('short-name');
     $this->assertEqual($project->getPublicName(), 'Long name');
 }
 public function store()
 {
     $projectCreator = new ProjectCreator();
     $project = $projectCreator->createForUser(Auth::user(), Input::get('project'));
     if ($projectCreator->succeeded()) {
         Session::flash('success', 'Project created successfully');
         return Redirect::to("projects/{$project->id}");
     } else {
         Session::flash('error', 'Project creation failed');
         return View::make('projects.create', compact($project));
     }
 }
Exemple #5
0
 /**
  * Instantiates a project with user, groups, admins ...
  *
  * @param string $project_short_name
  * @param string $project_long_name
  * @param string $is_public
  * @param array  $project_members
  * @param array  $project_admins
  */
 public function createProject($project_short_name, $project_long_name, $is_public, array $project_members, array $project_admins)
 {
     $first_admin = array_shift($project_admins);
     \UserManager::instance()->setCurrentUser($first_admin);
     $project = $this->project_creator->create($project_short_name, $project_long_name, array('project' => array('form_short_description' => '', 'is_test' => false, 'is_public' => $is_public, 'services' => $this->getServices(), 'built_from_template' => 100)));
     \ProjectManager::instance()->activate($project);
     foreach ($project_members as $project_member) {
         var_dump('Add member ' . $project_member->getUserName());
         $this->addMembersToProject($project, $project_member);
     }
     foreach ($project_admins as $project_admin) {
         var_dump('Add admin ' . $project_member->getUserName());
         $this->addAdminToProject($project, $project_admin);
     }
     var_dump('Project created');
     return $project;
 }
 /**
  * Instantiates a project with user, groups, admins ...
  *
  * @param string $project_short_name
  * @param string $project_long_name
  * @param string $is_public
  * @param array  $project_members
  * @param array  $project_admins
  */
 protected function createProject($project_short_name, $project_long_name, $is_public, array $project_members, array $project_admins, array $services)
 {
     $user = $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME);
     $this->user_manager->setCurrentUser($user);
     $project = $this->project_creator->create($project_short_name, $project_long_name, array('project' => array('form_short_description' => '', 'is_test' => false, 'is_public' => $is_public, 'services' => $services, 'built_from_template' => 100)));
     $this->project_manager->activate($project);
     foreach ($project_members as $project_member) {
         $this->addMembersToProject($project, $project_member);
     }
     foreach ($project_admins as $project_admin) {
         $this->addAdminToProject($project, $project_admin);
     }
     return $project;
 }
 /**
  * Create the data array needed by create_project and create the project
  * 
  * @param String $shortName
  * @param String $publicName
  * @param String $privacy
  * @param Project $template
  * 
  * @return Integer
  */
 private function formatDataAndCreateProject($shortName, $publicName, $privacy, Project $template)
 {
     $data = array('project' => array('form_license' => 'xrx', 'form_license_other' => '', 'form_short_description' => '', 'is_test' => false, 'is_public' => false, 'services' => array(), 'built_from_template' => $template->getID()));
     if ($privacy === Project::ACCESS_PUBLIC) {
         $data['project']['is_public'] = true;
     }
     foreach ($template->getServices() as $key => $service) {
         $is_used = $service->isActive() && $service->isUsed();
         $data['project']['services'][$service->getId()]['is_used'] = $is_used;
     }
     $project = $this->projectCreator->create($shortName, $publicName, $data);
     $this->projectManager->activate($project);
     return $project->getID();
 }
}
if ($config['help']) {
    help();
    exit(0);
}
if ($config['config']) {
    $configFilename = $config['config'];
    if (file_exists($configFilename)) {
        $config = @(include $configFilename);
    } else {
        $config = null;
    }
    if (!is_array($config)) {
        printf("ERR: invalid config file, %s\n", $configFilename);
        errorhelp();
        exit(1);
    }
}
$config['extrawork'] = $extrawork;
$creator = new ProjectCreator($config, $options);
if ($creator->validateConfig()) {
    if ($creator->run() == true) {
        exit(0);
    } else {
        exit(1);
    }
    // return($creator->run());
} else {
    errorhelp();
    exit(1);
}
    } else {
        if ($argv[0] == '-o') {
            $config['orientation'] = $argv[1];
            array_shift($argv);
        } else {
            if ($argv[0] == '-f') {
                $config['force'] = true;
            } else {
                if ($argv[0] == '-noproj') {
                    $config['noproj'] = true;
                } else {
                    if ($config['packageName'] == '') {
                        $config['packageName'] = $argv[0];
                    }
                }
            }
        }
    }
    array_shift($argv);
} while (count($argv) > 0);
$creator = new ProjectCreator($config);
if ($creator->run()) {
    echo <<<EOT

DONE.


EOT;
} else {
    help();
}
    return 1;
}
$config = fetchCommandLineArguments($argv, $options, 4);
if (!$config) {
    errorhelp();
    return 1;
}
if ($config['help']) {
    help();
    return 0;
}
if ($config['config']) {
    $configFilename = $config['config'];
    if (file_exists($configFilename)) {
        $config = @(include $configFilename);
    } else {
        $config = null;
    }
    if (!is_array($config)) {
        printf("ERR: invalid config file, %s\n", $configFilename);
        errorhelp();
        return 1;
    }
}
$creator = new ProjectCreator($config, $options);
if ($creator->validateConfig()) {
    return $creator->run();
} else {
    errorhelp();
    return 1;
}
 public function store()
 {
     $projectCreator = new ProjectCreator($this);
     return $projectCreator->createForUser(Auth::user(), Input::get('project'));
 }