Exemplo n.º 1
0
    def get_project(self, project_id=None, env_name=None):
        """
        .. WARNING: Deprecated! Use Project.get instead!

        Returns a project with a given id
        Usage::
            projects.get_project(453)
            projects.get_project(project_id = 453)
            projects.get_project(env_name = "some_environment")
        """
        if project_id:
            return Project.get(id=project_id)
        else:
            return Project.get(env_name=env_name)
Exemplo n.º 2
0
 def add_repository(self, name, repo_type, req):
     premade_repositories = self.get_repositories()
     for repo in premade_repositories:
         if name.lower() in repo[0].lower():
             return add_warning(req, _("Repository name reserved"))
     if not self.validate_repository_name(name):
         return add_warning(req, _("Repository adding failed. Check name."))
     project = Project._get_project(env_name=self.env.project_identifier,
                                    use_cache=False)
     ctvc = CreateTracVersionControl(project, {
         'vcs_type': repo_type,
         'vcs_name': name
     })
     ctvc.do()
     add_hook = InitCommitHooks(project, {
         'vcs_type': repo_type,
         'vcs_name': name
     })
     add_hook.do()
     self.env.config.set(
         'repositories', name + '.dir',
         conf.getEnvironmentVcsPath(self.env.project_identifier, repo_type,
                                    name))
     self.env.config.set('repositories', name + '.type', repo_type)
     self.env.config.save()
     add_notice(req, _('Added new repository %s to project' % name))
Exemplo n.º 3
0
    def follow_project(self, user_name, group_name):
        """
        Sets user to follow project if group is correct.

        :param list user_name: username for get user object
        :param list group_name: groupname to check correct group
        """
        if self.env is not None:
            if group_name == 'Members' or group_name == 'Owners':
                from multiproject.common.projects.project import Project
                project = Project.get(None, None, _get_trac_project_name(self.env))
                user = conf.getUserStore().getUser(user_name)
                from multiproject.core.watchlist import CQDEWatchlistStore
                watch_store = CQDEWatchlistStore()
                watch_store.watch_project(user.id, project.id)
Exemplo n.º 4
0
 def add_repository(self, name, repo_type, req):
     premade_repositories = self.get_repositories()
     for repo in premade_repositories:
         if name.lower() in repo[0].lower():
             return add_warning(req, _("Repository name reserved"))
     if not self.validate_repository_name(name):
         return add_warning(req, _("Repository adding failed. Check name."))
     project = Project._get_project(env_name=self.env.project_identifier, use_cache=False)
     ctvc = CreateTracVersionControl(project, {'vcs_type':repo_type, 'vcs_name':name})
     ctvc.do()
     add_hook = InitCommitHooks(project, {'vcs_type':repo_type, 'vcs_name':name})
     add_hook.do()
     self.env.config.set('repositories', name + '.dir', 
                         conf.getEnvironmentVcsPath(self.env.project_identifier, repo_type, name))
     self.env.config.set('repositories', name + '.type', repo_type)
     self.env.config.save()
     add_notice(req, _('Added new repository %s to project' % name))
Exemplo n.º 5
0
 def searchMostDownloaded(self):
     project_query = """
             SELECT project_key FROM project_dim, event_fact, event_dim
             WHERE project_dim.project_sk = event_fact.project_sk
             AND event_fact.event_sk = event_dim.event_sk
             AND action_name='source_checkin'
             GROUP BY project_name
             ORDER BY COUNT(project_name) DESC;
         """
     project_ids = []
     with db_query('trac_analytical') as cursor:
             cursor.execute(project_query)
             project_ids = cursor.fetchall()
     projects = []
     if project_ids is not None:
         for project_id in project_ids:
             projects.append(Project._get_project(project_id))
     return projects