diff --git a/pagure/__init__.py b/pagure/__init__.py index 8d1f61e..e6fb234 100644 --- a/pagure/__init__.py +++ b/pagure/__init__.py @@ -374,12 +374,22 @@ def is_repo_user(repo_obj): ) or (user in usergrps) -def get_authorized_project(session, repo, user=None, namespace=None): - """ Return repo object if repo is public, - if repo is private and user is authorized to - view repo object is returned else None +def get_authorized_project(session, project_name, user=None, namespace=None): + """ Retrieving the project with user permission constraint + + :param session: The SQLAlchemy session to use + :type session: sqlalchemy.orm.session.Session + :param project_name: Name of the project on pagure + :type project_name: String + :param user: Pagure username + :type user: String + :param namespace: Pagure namespace + :type namespace: String + :return: The project object if project is public or user has + permissions for the project else it returns None + :rtype: pagure.lib.models.project """ - repo = pagure.lib._get_project(session, repo, user, namespace) + repo = pagure.lib._get_project(session, project_name, user, namespace) if repo and repo.private and not is_repo_admin(repo): return None