Esempio n. 1
0
    def createProject(self, req, projectid, projectname, description, project_visibility, serviceslist):
        """ Request to create a new project
        """
        services = {}

        if str(projectid).strip() == '':
            e = exceptions.Exception
            raise e("Incorrect project identification name")

        if str(projectname).strip() == '':
            e = exceptions.Exception
            raise e("Incorrect project name")

        users = get_userstore()
        author = users.getUser(req.authname)

        if not author.can_create_project():
            raise Exception("You are not allowed to create projects")
        
        public = False
        published = None
        if project_visibility == "on" or project_visibility == "true":
            public = True
            published = datetime.now()

        # Create project class
        project = Project(id=None,
                          env_name=unicode(projectid),
                          project_name=projectname,
                          description=description,
                          author_id=author.id,
                          created=None,
                          public=public,
                          published=published)

        if project_visibility == "on" or project_visibility == "true":
            services['project_visibility'] = 'on'
        else:
            services['project_visibility'] = 'off'

        projects = Projects()
        projects.getServices(services, serviceslist)

        # Create project
        try:
            projects.create_project(project, services)
            return self.get_scm_repository_url(project.env_name)
        except ProjectValidationException as exc:
            raise Exception(exc.value)
        except:
            raise Exception("Creating project failed. Try again later.")
Esempio n. 2
0
    def test_get_services(self):
        p = Projects()
        res = {}
        p.getServices(res, "test, dummy, Subversion, Perforce, test")
        self.assertEquals(res['vcs_type'], "perforce")

        p.getServices(res, "test, dummy, Subversion, test")
        self.assertEquals(res['vcs_type'], "svn")

        p.getServices(res, "another test, Versioncontrol|Mercurial, test")
        self.assertEquals(res['vcs_type'], "hg")

        p.getServices(res, " versioncontrol|git ")
        self.assertEquals(res['vcs_type'], "git")

        res['vcs_type'] = None
        p.getServices(res, "test, test")
        self.assertEquals(res['vcs_type'], None)

        res['vcs_type'] = None
        p.getServices(res, "")
        self.assertEquals(res['vcs_type'], None)

        p.getServices(res, " versioncontrol|svn,versioncontrol|something")
        self.assertEquals(res['vcs_type'], "svn")

        res['vcs_type'] = None
Esempio n. 3
0
    def test_get_services(self):
        p = Projects()
        res={}
        p.getServices(res,"test, dummy, Subversion, Perforce, test")
        self.assertEquals(res['vcs_type'], "perforce")

        p.getServices(res,"test, dummy, Subversion, test")
        self.assertEquals(res['vcs_type'], "svn")

        p.getServices(res,"another test, Versioncontrol|Mercurial, test")
        self.assertEquals(res['vcs_type'], "hg")

        p.getServices(res," versioncontrol|git ")
        self.assertEquals(res['vcs_type'], "git")

        res['vcs_type']=None
        p.getServices(res,"test, test")
        self.assertEquals(res['vcs_type'], None)

        res['vcs_type']=None
        p.getServices(res,"")
        self.assertEquals(res['vcs_type'], None)

        p.getServices(res," versioncontrol|svn,versioncontrol|something")
        self.assertEquals(res['vcs_type'], "svn")

        res['vcs_type']=None