From 4e29d19eb21b7b44f60897c429e4254ed4cb47b7 Mon Sep 17 00:00:00 2001 From: Gaurav Kumar Date: Jun 14 2016 13:11:20 +0000 Subject: Fixed Attribute error related to username. --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index c8bff8f..ccbb8fd 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -2787,6 +2787,10 @@ def update_watch_status(session, project, user, watch): def is_watching(session, user, project): ''' Check user watching the project. ''' + if user is None: + return False + + user = user.username user_obj = __get_user(session, user) if not user_obj: raise pagure.exceptions.PagureException( diff --git a/pagure/lib/notify.py b/pagure/lib/notify.py index af58dc2..5af9526 100644 --- a/pagure/lib/notify.py +++ b/pagure/lib/notify.py @@ -125,7 +125,7 @@ def _get_emails_for_issue(issue): # Remove the person list in unwatch for unwatcher in issue.project.unwatchers: if unwatcher.user.default_email in emails: - emails.delete(unwatcher.user.default_email) + emails.remove(unwatcher.user.default_email) # Drop the email used by pagure when sending emails = _clean_emails( diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 824e220..db94706 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -147,7 +147,7 @@ def view_repo(repo, username=None): diff_commits=diff_commits, repo_admin=is_repo_admin(repo), form=pagure.forms.ConfirmationForm(), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -248,7 +248,7 @@ def view_repo_branch(repo, branchname, username=None): diff_commits=diff_commits, repo_admin=is_repo_admin(repo), form=pagure.forms.ConfirmationForm(), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -363,7 +363,7 @@ def view_commits(repo, branchname=None, username=None): total_page=total_page, repo_admin=is_repo_admin(repo), form=pagure.forms.ConfirmationForm(), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -474,7 +474,7 @@ def view_file(repo, identifier, filename, username=None): content=content, output_type=output_type, repo_admin=is_repo_admin(repo), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ), 200, headers @@ -636,7 +636,7 @@ def view_commit(repo, commitid, username=None): commitid=commitid, commit=commit, diff=diff, - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -725,7 +725,7 @@ def view_tree(repo, identifier=None, username=None): content=content, output_type=output_type, repo_admin=is_repo_admin(repo), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -747,7 +747,7 @@ def view_forks(repo, username=None): username=username, repo=repo, repo_admin=is_repo_admin(repo), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -775,7 +775,7 @@ def view_tags(repo, username=None): tags=tags, repo_admin=is_repo_admin(repo), repo_obj=repo_obj, - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -826,7 +826,7 @@ def new_release(repo, username=None): username=username, repo=repo, form=form, - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -913,7 +913,7 @@ def view_settings(repo, username=None): plugins=plugins, repo_admin=repo_admin, branchname = branchname, - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -1510,7 +1510,7 @@ def add_group_project(repo, username=None): form=form, username=username, repo=repo, - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -1617,7 +1617,7 @@ def add_token(repo, username=None): repo_admin=repo_admin, username=username, repo=repo, - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -1760,7 +1760,7 @@ def edit_file(repo, branchname, filename, username=None): form=form, user=user, branches=repo_obj.listall_branches(), - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo), ) @@ -1824,8 +1824,7 @@ def view_docs(repo, username=None, filename=None): username=username, filename=filename, endpoint='view_docs', - select='docs', - watch=pagure.lib.is_watching(SESSION, flask.g.fas_user.username, repo_obj), + watch=pagure.lib.is_watching(SESSION, flask.g.fas_user, repo_obj), ) @APP.route('//activity/') diff --git a/tests/test_pagure_lib.py b/tests/test_pagure_lib.py index 9f1abe6..7d624ee 100644 --- a/tests/test_pagure_lib.py +++ b/tests/test_pagure_lib.py @@ -2276,12 +2276,22 @@ class PagureLibtests(tests.Modeltests): project = pagure.lib.get_project(self.session, 'test') + # If user not logged in + watch = pagure.lib.is_watching( + session=self.session, + user=None, + project=project, + ) + self.assertFalse(watch) + # User does not exist + user = tests.FakeUser() + user.username = 'aavrug' self.assertRaises( pagure.exceptions.PagureException, pagure.lib.is_watching, session=self.session, - user='aavrug', + user=user, project=project, ) @@ -2304,17 +2314,19 @@ class PagureLibtests(tests.Modeltests): self.session.commit() # If user belongs to any group of that project + user.username = 'foo' watch = pagure.lib.is_watching( session=self.session, - user='foo', + user=user, project=project, ) self.assertTrue(watch) # If user is the creator + user.username = 'pingou' watch = pagure.lib.is_watching( session=self.session, - user='pingou', + user=user, project=project, ) self.assertTrue(watch) @@ -2331,7 +2343,7 @@ class PagureLibtests(tests.Modeltests): # From watchers table watch = pagure.lib.is_watching( session=self.session, - user='pingou', + user=user, project=project, ) self.assertTrue(watch) @@ -2348,7 +2360,7 @@ class PagureLibtests(tests.Modeltests): # From watchers table watch = pagure.lib.is_watching( session=self.session, - user='pingou', + user=user, project=project, ) self.assertFalse(watch)