From da402f40565e7bbacbde1ae7c422dc32833781e8 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Oct 11 2017 07:34:02 +0000 Subject: Add the user's fullname (if there is one) as title when they comment Fixes https://pagure.io/pagure/issue/2573 Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/model.py b/pagure/lib/model.py index fb3df1e..084b381 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -226,6 +226,16 @@ class User(BASE): return self.user @property + def html_title(self): + ''' Return the ``fullname (username)`` or simply ``username`` to be + used in the html templates. + ''' + if self.fullname: + return "%s (%s)" % (self.fullname, self.user) + else: + return self.user + + @property def groups(self): ''' Return the list of Group.group_name in which the user is. ''' return [group.group_name for group in self.group_objs] diff --git a/pagure/templates/_formhelper.html b/pagure/templates/_formhelper.html index 145df57..ee8274d 100644 --- a/pagure/templates/_formhelper.html +++ b/pagure/templates/_formhelper.html @@ -106,7 +106,8 @@
{{ comment.user.default_email | avatar(16) | safe }} - + {{ comment.user.user }} Created {{ issue.date_created | humanize}} by {{ issue.user.user }} + }}">{{ issue.date_created | humanize}} by {{ issue.user.user }} {% if issue.last_updated %}
@@ -191,7 +192,8 @@ repo=repo.name, username=username, namespace=repo.namespace, - assignee=issue.assignee.username) }}"> + assignee=issue.assignee.username) + }}" title="{{ issue.assignee.html_title }}"> {{ issue.assignee.username }} {% if authenticated and (issue.assignee.username == g.fas_user.username) %} diff --git a/pagure/templates/pull_request.html b/pagure/templates/pull_request.html index 6d2c04e..1ed019c 100644 --- a/pagure/templates/pull_request.html +++ b/pagure/templates/pull_request.html @@ -88,7 +88,7 @@ pull_request.date_created.strftime('%b %d %Y %H:%M:%S') }}">{{ pull_request.date_created |humanize }} by {{ pull_request.user.default_email | avatar(16) | safe - }} {{ pull_request.user.user }} + }} {{ pull_request.user.user }}
Modified -
+
{{ pull_request.assignee.username or 'Unassigned' }}
diff --git a/pagure/ui/filters.py b/pagure/ui/filters.py index 95d6fac..7e3ae75 100644 --- a/pagure/ui/filters.py +++ b/pagure/ui/filters.py @@ -221,7 +221,7 @@ def format_loc(loc, commit=None, filename=None, tree_id=None, prequest=None, '
' '
' '' - ' %(user)s commented ' + ' %(user)s commented ' '' '%(human_date)s' @@ -247,6 +247,7 @@ def format_loc(loc, commit=None, filename=None, tree_id=None, prequest=None, 'templ_edit': templ_edit, 'templ_edited': templ_edited, 'user': comment.user.user, + 'user_html': comment.user.html_title, 'avatar_url': avatar_url( comment.user.default_email, 16), 'date': comment.date_created.strftime( diff --git a/tests/test_pagure_flask_ui_fork.py b/tests/test_pagure_flask_ui_fork.py index f13a3b8..62d52d5 100644 --- a/tests/test_pagure_flask_ui_fork.py +++ b/tests/test_pagure_flask_ui_fork.py @@ -1433,6 +1433,7 @@ index 0000000..2a552bb 'PR#2: foo bar PR - test\n - Pagure', output.data) self.assertIn('

Test Initial Comment

', output.data) + self.assertEqual(output.data.count('title="PY C (pingou)"'), 1) # Test if the `open changed file icon` is displayed. self.assertIn( @@ -1629,6 +1630,7 @@ index 0000000..2a552bb self.assertIn( '\n Comment added', output.data) + self.assertEqual(output.data.count('title="PY C (pingou)"'), 2) # Project w/o pull-request repo = pagure.get_authorized_project(self.session, 'test') diff --git a/tests/test_pagure_flask_ui_issues.py b/tests/test_pagure_flask_ui_issues.py index d88cc79..393f6e1 100644 --- a/tests/test_pagure_flask_ui_issues.py +++ b/tests/test_pagure_flask_ui_issues.py @@ -1181,6 +1181,7 @@ class PagureFlaskIssuestests(tests.Modeltests): '
', output.data) + self.assertEqual(output.data.count('title="PY C (pingou)"'), 1) csrf_token = self.get_csrf(output=output) @@ -1289,6 +1290,8 @@ class PagureFlaskIssuestests(tests.Modeltests): self.assertTrue( '' in output.data) + # 2: one for the original comment, one for the new comment + self.assertEqual(output.data.count('title="PY C (pingou)"'), 2) # Add new tag data = { @@ -1362,7 +1365,7 @@ class PagureFlaskIssuestests(tests.Modeltests): '\n Issue assigned to pingou\n', output.data) self.assertTrue( - '' in output.data) + 'Woohoo a second comment !

' in output.data) self.assertEqual(output.data.count('comment_body">'), 2)