diff --git a/pagure/__init__.py b/pagure/__init__.py index f5db647..22431e9 100644 --- a/pagure/__init__.py +++ b/pagure/__init__.py @@ -343,11 +343,13 @@ def inject_variables(): if justlogedout: flask.session['_justloggedout'] = None - def is_watching(reponame, username=None): + def is_watching(reponame, username=None, namespace=None): watch = False if authenticated(): watch = pagure.lib.is_watching( - SESSION, flask.g.fas_user, reponame, repouser=username) + SESSION, flask.g.fas_user, reponame, + namespace=namespace, + repouser=username) return watch return dict( diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 09c8442..9a4c7e7 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -2928,7 +2928,7 @@ def update_watch_status(session, project, user, watch): return msg_success -def is_watching(session, user, reponame, repouser=None): +def is_watching(session, user, reponame, repouser=None, namespace=None): ''' Check user watching the project. ''' if user is None: @@ -2961,12 +2961,18 @@ def is_watching(session, user, reponame, repouser=None): model.Project.is_fork == False ) + if namespace is not None: + query = query.filter( + model.Project.namespace == namespace + ) + watcher = query.first() if watcher: return watcher.watch - project = pagure.lib.get_project(session, reponame, user=repouser) + project = pagure.lib.get_project( + session, reponame, user=repouser, namespace=namespace) if not project: return False