Example #1
0
 public function importTemplateInProject(Project $project, PFUser $user, $template_path)
 {
     \UserManager::instance()->forceLogin($user->getUserName());
     var_dump('Import Template');
     $this->xml_importer->import($project->getID(), $template_path);
     var_dump('Template imported');
 }
    public function itDoesNotImportsExistingUgroups() {
        stub($this->project_manager)->getProject()->returns($this->project);
        stub($this->ugroup_manager)->getUGroupByName($this->project, 'ug01')->returns(false);
        stub($this->ugroup_manager)->getUGroupByName($this->project, 'ug02')->returns(true);
        stub($this->ugroup_manager)->getUGroupByName($this->project, 'ug03')->returns(false);

        $user_01 = aUser()->withLdapId('ldap_01')->withUserName('user_01')->withId(101)->build();
        $user_02 = aUser()->withLdapId('ldap_02')->withUserName('user_02')->withId(102)->build();
        $user_04 = aUser()->withUserName('user_04')->withId(104)->build();

        stub($this->user_manager)->getUserByIdentifier('ldapId:ldap_01')->returns($user_01);
        stub($this->user_manager)->getUserByIdentifier('ldapId:ldap_02')->returns($user_02);
        stub($this->user_manager)->getUserByIdentifier('user_04')->returns($user_04);

        $this->ugroup_manager->expectCallCount('createEmptyUgroup', 2);
        expect($this->ugroup_manager)->createEmptyUgroup(122,'ug01','descr01')->at(0);
        expect($this->ugroup_manager)->createEmptyUgroup(122,'ug03','descr03')->at(1);

        $this->ugroup_manager->expectCallCount('addUserToUgroup', 3);
        expect($this->ugroup_manager)->addUserToUgroup(122, '*', 101)->at(0);
        expect($this->ugroup_manager)->addUserToUgroup(122, '*', 102)->at(1);
        expect($this->ugroup_manager)->addUserToUgroup(122, '*', 104)->at(2);

        $this->xml_importer->import(122, $this->xml_file_path_with_ugroups);
    }
Example #3
0
 public function createFirstScrum()
 {
     if ($this->areThereConfiguredPlannings()) {
         return;
     }
     $already_existing_tracker = $this->getAlreadyExistingTracker();
     if ($already_existing_tracker) {
         $GLOBALS['Response']->addFeedback(Feedback::WARN, $GLOBALS['Language']->getText('plugin_agiledashboard_first_scrum', 'error_existing_tracker', $already_existing_tracker));
         return;
     }
     try {
         $this->xml_importer->import($this->project->getId(), $this->template_path);
         $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_agiledashboard_first_scrum', 'created'));
     } catch (Exception $e) {
         $GLOBALS['Response']->addFeedback(Feedback::WARN, $GLOBALS['Language']->getText('plugin_agiledashboard_first_scrum', 'internal_error'));
     }
 }
Example #4
0
 public function testImportProjectCreatesAProject()
 {
     $project_manager = ProjectManager::instance();
     $user_manager = UserManager::instance();
     $importer = new ProjectXMLImporter(EventManager::instance(), $project_manager, new XML_RNGValidator(), new UGroupManager(), new XMLImportHelper($user_manager), new Log_ConsoleLogger());
     $xml_project = dirname(__FILE__) . '/_fixtures/fake_project.xml';
     $importer->import(null, $xml_project);
     // Reset Project Manager (and its cache)
     ProjectManager::clearInstance();
     $project_manager = ProjectManager::instance();
     // Check the project was created
     $project = $project_manager->getProjectByUnixName('toto123');
     $this->assertEqual($project->getPublicName(), 'Toto 123');
     $this->assertEqual($project->getDescription(), '123 Soleil');
     $this->assertEqual($project->usesSVN(), true);
     $this->assertEqual($project->usesCVS(), false);
 }
Example #5
0
 protected function importTemplateInProject($project_id, $template)
 {
     $xml_importer = new ProjectXMLImporter(EventManager::instance(), $this->project_manager, new XML_RNGValidator(), new UGroupManager(), UserManager::instance(), new XMLImportHelper(), new ProjectXMLImporterLogger());
     $this->user_manager->forceLogin(self::ADMIN_USER_NAME);
     $xml_importer->import($project_id, $this->template_path . $template);
 }
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Tuleap. If not, see <http://www.gnu.org/licenses/>.
 */
require_once 'pre.php';
if ($argc < 4) {
    echo <<<EOT
Usage: {$argv['0']} project_id admin_user_name xml_file_path

EOT;
    exit(1);
}
$user_manager = UserManager::instance();
$xml_importer = new ProjectXMLImporter(EventManager::instance(), ProjectManager::instance(), new XML_RNGValidator(), new UGroupManager(), UserManager::instance(), new XMLImportHelper(), new ProjectXMLImporterLogger());
try {
    $project_id = $argv[1];
    $user = $user_manager->forceLogin($argv[2]);
    if (!$user->isSuperUser() && !$user->isAdmin($project_id) || !$user->isActive()) {
        throw new RuntimeException($GLOBALS['Language']->getText('project_import', 'invalid_user', array($user_name)));
    }
    $xml_importer->import($project_id, $argv[3]);
} catch (XML_ParseException $exception) {
    foreach ($exception->getErrors() as $parse_error) {
        fwrite(STDERR, "*** ERROR: " . $parse_error . PHP_EOL);
    }
    exit(1);
} catch (Exception $exception) {
    fwrite(STDERR, "*** ERROR: " . $exception->getMessage() . PHP_EOL);
    exit(1);
}
 private function importConfiguration()
 {
     $xml_importer = new ProjectXMLImporter(EventManager::instance(), ProjectManager::instance(), new XML_RNGValidator(), new UGroupManager(), UserManager::instance(), new XMLImportHelper(), new ProjectXMLImporterLogger());
     try {
         $xml_importer->import($this->group_id, $_FILES["template_file"]["tmp_name"]);
         $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_agiledashboard', 'import_template_success'));
     } catch (Exception $e) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'cannot_import'));
     }
 }