launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #01117
[Merge] lp:~gmb/launchpad/bug-639736 into lp:launchpad
Graham Binns has proposed merging lp:~gmb/launchpad/bug-639736 into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers): code
Related bugs:
#639736 Imported bug comments limited to lp beta testers group
https://bugs.launchpad.net/bugs/639736
This branch removes the hiding from all but the beta-testing team of
comments imported from remote bug trackers.
Changes made, mostly removals:
== lib/canonical/config/schema-lazr.conf ==
- I've removed the comment_syncing_team config key.
== lib/lp/bugs/browser/bugcomment.py ==
- I've removed the should_display_remote_comments() function, which is
no longer needed.
- I've removed BugComment.can_be_shown, which isn't used except for
hiding imported comments.
== lib/lp/bugs/browser/bugwatch.py ==
- I've removed references to should_display_remote_comments() along
with other lint.
== lib/lp/bugs/browser/tests/bug-views.txt ==
== lib/lp/bugs/doc/bugnotification-comment-syncing-team.txt ==
- I've removed the tests for visisbility of imported comments since
they a) no longer apply and b) are covered by user stories.
== lib/lp/bugs/interfaces/bugmessage.py ==
- I've removed the declaration of IBugComment.can_be_shown.
== lib/lp/bugs/scripts/bugnotification.py ==
- I've removed the conditional that ensured that only beta team members
get emailed about imported comments.
== lib/lp/bugs/scripts/tests/test_bugnotification.py ==
== lib/lp/bugs/stories/bugs/xx-remote-bug-comments.txt ==
== lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt ==
- I've removed the parts of the tests that pertain to hiding comment
notifications from all but the beta team.
== lib/lp/bugs/tests/test_doc.py ==
- I've removed the refefect to bugnotification-comment-syncing-team.txt,
which has been removed.
--
https://code.launchpad.net/~gmb/launchpad/bug-639736/+merge/35999
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~gmb/launchpad/bug-639736 into lp:launchpad.
=== modified file 'lib/canonical/config/schema-lazr.conf'
--- lib/canonical/config/schema-lazr.conf 2010-09-18 02:57:24 +0000
+++ lib/canonical/config/schema-lazr.conf 2010-09-20 11:02:47 +0000
@@ -1394,12 +1394,6 @@
[malone]
-# A team which can use the comment syncing interface for bug watches.
-# If it's set to None, the comment syncing interfaces will be visible
-# for everyone.
-# datatype: string or None
-comment_syncing_team: launchpad-beta-testers
-
# The From address for Malone email interface errors.
# datatype: string
bugmail_error_from_address: none
=== modified file 'lib/lp/bugs/browser/bugcomment.py'
--- lib/lp/bugs/browser/bugcomment.py 2010-08-20 20:31:18 +0000
+++ lib/lp/bugs/browser/bugcomment.py 2010-09-20 11:02:47 +0000
@@ -12,7 +12,6 @@
'BugCommentXHTMLRepresentation',
'BugCommentBreadcrumb',
'build_comments_from_chunks',
- 'should_display_remote_comments',
]
from datetime import (
@@ -48,29 +47,8 @@
from lp.registry.interfaces.person import IPersonSet
-def should_display_remote_comments(user):
- """Return whether remote comments should be displayed for the user."""
- # comment_syncing_team can be either None or '' to indicate unset.
- if config.malone.comment_syncing_team:
- comment_syncing_team = getUtility(IPersonSet).getByName(
- config.malone.comment_syncing_team)
- assert comment_syncing_team is not None, (
- "comment_syncing_team was set to %s, which doesn't exist." % (
- config.malone.comment_syncing_team))
- else:
- comment_syncing_team = None
-
- if comment_syncing_team is None:
- return True
- else:
- return user is not None and user.inTeam(comment_syncing_team)
-
-
def build_comments_from_chunks(chunks, bugtask, truncate=False):
"""Build BugComments from MessageChunks."""
- display_if_from_bugwatch = should_display_remote_comments(
- getUtility(ILaunchBag).user)
-
comments = {}
index = 0
for chunk in chunks:
@@ -78,7 +56,7 @@
bug_comment = comments.get(message_id)
if bug_comment is None:
bug_comment = BugComment(
- index, chunk.message, bugtask, display_if_from_bugwatch)
+ index, chunk.message, bugtask)
comments[message_id] = bug_comment
index += 1
bug_comment.chunks.append(chunk)
@@ -122,8 +100,7 @@
"""
implements(IBugComment)
- def __init__(self, index, message, bugtask, display_if_from_bugwatch,
- activity=None):
+ def __init__(self, index, message, bugtask, activity=None):
self.index = index
self.bugtask = bugtask
self.bugwatch = None
@@ -133,7 +110,6 @@
self.datecreated = message.datecreated
self.owner = message.owner
self.rfc822msgid = message.rfc822msgid
- self.display_if_from_bugwatch = display_if_from_bugwatch
self.chunks = []
self.bugattachments = []
@@ -147,14 +123,6 @@
self.synchronized = False
@property
- def can_be_shown(self):
- """Return whether or not the BugComment can be shown."""
- if self.bugwatch and not self.display_if_from_bugwatch:
- return False
- else:
- return True
-
- @property
def show_for_admin(self):
"""Show hidden comments for Launchpad admins.
=== modified file 'lib/lp/bugs/browser/bugwatch.py'
--- lib/lp/bugs/browser/bugwatch.py 2010-08-27 10:00:21 +0000
+++ lib/lp/bugs/browser/bugwatch.py 2010-09-20 11:02:47 +0000
@@ -14,7 +14,6 @@
from zope.component import getUtility
from zope.interface import Interface
-from canonical.config import config
from canonical.database.constants import UTC_NOW
from canonical.launchpad import _
from canonical.launchpad.webapp import (
@@ -29,7 +28,6 @@
from canonical.launchpad.webapp.interfaces import ILaunchBag
from canonical.launchpad.webapp.menu import structured
from canonical.widgets.textwidgets import URIWidget
-from lp.bugs.browser.bugcomment import should_display_remote_comments
from lp.bugs.browser.bugtask import get_comments_for_bugtask
from lp.bugs.interfaces.bugwatch import (
BUG_WATCH_ACTIVITY_SUCCESS_STATUSES,
@@ -65,8 +63,6 @@
team, no comments will be returned.
"""
user = getUtility(ILaunchBag).user
- if not should_display_remote_comments(user):
- return []
bug_comments = get_comments_for_bugtask(self.context.bug.bugtasks[0],
truncate=True)
=== modified file 'lib/lp/bugs/browser/tests/bug-views.txt'
--- lib/lp/bugs/browser/tests/bug-views.txt 2010-08-07 14:54:40 +0000
+++ lib/lp/bugs/browser/tests/bug-views.txt 2010-09-20 11:02:47 +0000
@@ -690,106 +690,6 @@
u'** Tags added: new-tag'
-= Visibility of Imported DebBugs Comments =
-
-Comments imported from the DebBugs bug tracker are not displayed in the
-user interface by default.
-
-A config option, malone.comment_syncing_team, controls which team should
-be able to see imported comments. We can demonstrate these using the
-standard BugTaskView for bug 15, which has a debian bug watch and
-imported comments.
-
- >>> from zope.component import getUtility
- >>> from lp.bugs.browser.bugtask import BugTaskView
- >>> from canonical.launchpad.interfaces import IBugSet
- >>> from canonical.launchpad.webapp.servers import (
- ... LaunchpadTestRequest)
- >>> bug = getUtility(IBugSet).get(15)
-
-For anonymous users, the comments returned which have been imported from
-a bug watch will have a can_be_shown property of False.
-
- >>> login(ANONYMOUS)
- >>> view = BugTaskView(bug.bugtasks[0], LaunchpadTestRequest())
- >>> print view.user
- None
- >>> for comment in view.visible_oldest_comments_for_display:
- ... comment.can_be_shown
- False
- False
- False
- False
- False
- False
-
-The same is true for people not in the comment syncing team.
-
- >>> from canonical.config import config
- >>> syncing_team = getUtility(IPersonSet).getByName(
- ... config.malone.comment_syncing_team)
- >>> no_priv = getUtility(IPersonSet).getByEmail('no-priv@xxxxxxxxxxxxx')
- >>> no_priv.inTeam(syncing_team)
- False
-
- >>> login('no-priv@xxxxxxxxxxxxx')
- >>> view = BugTaskView(bug.bugtasks[0], LaunchpadTestRequest())
- >>> view.user.name
- u'no-priv'
- >>> for comment in view.visible_oldest_comments_for_display:
- ... comment.can_be_shown
- False
- False
- False
- False
- False
- False
-
-People in the team get to see the comments.
-
- >>> login('foo.bar@xxxxxxxxxxxxx')
- >>> ignored = syncing_team.addMember(no_priv, no_priv)
-
- >>> login('no-priv@xxxxxxxxxxxxx')
- >>> view = BugTaskView(bug.bugtasks[0], LaunchpadTestRequest())
- >>> view.user.name
- u'no-priv'
- >>> for comment in view.visible_oldest_comments_for_display:
- ... comment.can_be_shown
- True
- True
- True
- True
- True
- True
-
-However, if we set the comment_syncing_team config option to None, the
-imported comments for bug 15 will be displayable, even for anonymous
-users.
-
- >>> from textwrap import dedent
- >>> test_data = dedent("""
- ... [malone]
- ... comment_syncing_team: None
- ... """)
- >>> config.push('test_data', test_data)
-
- >>> login(ANONYMOUS)
- >>> view = BugTaskView(bug.bugtasks[0], LaunchpadTestRequest())
- >>> print view.user
- None
- >>> for comment in view.visible_oldest_comments_for_display:
- ... comment.can_be_shown
- True
- True
- True
- True
- True
- True
-
- >>> test_config_data = config.pop('test_data')
-
-
== Displaying BugActivity interleaved with comments ==
BugTaskView offers a means for us to get a list of comments and activity
=== removed file 'lib/lp/bugs/doc/bugnotification-comment-syncing-team.txt'
--- lib/lp/bugs/doc/bugnotification-comment-syncing-team.txt 2009-12-24 01:41:54 +0000
+++ lib/lp/bugs/doc/bugnotification-comment-syncing-team.txt 1970-01-01 00:00:00 +0000
@@ -1,98 +0,0 @@
-= Bug notifications for comment syncing =
-
-The bug comment syncing feature can be limited to a specific team. If
-the comment_syncing_team config variable is set, comment notifications
-related to a bug watch will be sent only to members of that team.
-
- >>> from canonical.config import config
- >>> config.malone.comment_syncing_team
- 'launchpad-beta-testers'
-
-Only imported comments are affected. If a bug comment is associated with
-a bug watch, or a comment is added from the Bug Watch Updater, it won't
-be sent to people not in the syncing team. The latter happens when an
-initial comment import is done for a bug watch. We don't have any way of
-linking it to a bug watch, apart from marking it as a comment from the
-Bug Watch Updater.
-
- >>> from lp.registry.interfaces.person import IPersonSet
- >>> no_priv = getUtility(IPersonSet).getByName('no-priv')
- >>> syncing_team = getUtility(IPersonSet).getByName(
- ... config.malone.comment_syncing_team)
- >>> no_priv.inTeam(syncing_team)
- False
-
- >>> import transaction
- >>> from canonical.testing.layers import LaunchpadZopelessLayer
- >>> LaunchpadZopelessLayer.switchDbUser('launchpad')
- >>> from canonical.launchpad.interfaces.message import IMessageSet
- >>> from canonical.launchpad.interfaces.launchpad import (
- ... ILaunchpadCelebrities)
- >>> bug = factory.makeBug(
- ... owner=no_priv,
- ... bug_watch_url='http://example.com/show_bug.cgi?id=42')
- >>> some_bug_watch = bug.watches[0]
- >>> bug_watch_comment = bug.newMessage(
- ... owner=no_priv, content='Imported comment',
- ... bugwatch=some_bug_watch)
- >>> initial_import = getUtility(IMessageSet).fromText(
- ... subject='initial comment import',
- ... content='Comments have been imported.',
- ... owner=getUtility(ILaunchpadCelebrities).bug_watch_updater)
- >>> bug.addCommentNotification(initial_import)
- >>> transaction.commit()
-
- >>> LaunchpadZopelessLayer.switchDbUser('bugnotification')
- >>> from lp.bugs.model.bugnotification import (
- ... BugNotification)
- >>> [comment_notification] = BugNotification.selectBy(
- ... message=bug_watch_comment)
-
- >>> from lp.bugs.scripts.bugnotification import (
- ... construct_email_notifications)
- >>> notifications, messages = construct_email_notifications(
- ... [comment_notification, ])
- >>> [message['To'] for message in messages]
- []
- >>> [initial_import_notification] = BugNotification.selectBy(
- ... message=initial_import)
- >>> notifications, messages = construct_email_notifications(
- ... [initial_import_notification, ])
- >>> [message['To'] for message in messages]
- []
-
-Members of the syncing team will get the notifications.
-
- >>> LaunchpadZopelessLayer.switchDbUser('launchpad')
- >>> ignored = syncing_team.addMember(no_priv, no_priv)
- >>> transaction.commit()
-
- >>> LaunchpadZopelessLayer.switchDbUser('bugnotification')
- >>> notifications, messages = construct_email_notifications(
- ... [comment_notification])
- >>> [message['To'] for message in messages]
- ['no-priv@xxxxxxxxxxxxx']
- >>> notifications, messages = construct_email_notifications(
- ... [initial_import_notification])
- >>> [message['To'] for message in messages]
- ['no-priv@xxxxxxxxxxxxx']
-
-If comment_syncing_team isn't set, notications are sent to other people
-related to the bug as well.
-
- >>> from textwrap import dedent
- >>> config.push(
- ... 'no-comment-syncing-team', dedent("""
- ... [malone]
- ... comment_syncing_team:
- ... """))
- >>> notifications, messages = construct_email_notifications(
- ... [comment_notification])
- >>> len(messages) > 1
- True
- >>> notifications, messages = construct_email_notifications(
- ... [initial_import_notification])
- >>> len(messages) > 1
- True
-
- >>> ignored = config.pop('no-comment-syncing-team')
=== modified file 'lib/lp/bugs/interfaces/bugmessage.py'
--- lib/lp/bugs/interfaces/bugmessage.py 2010-08-20 20:31:18 +0000
+++ lib/lp/bugs/interfaces/bugmessage.py 2010-09-20 11:02:47 +0000
@@ -115,9 +115,6 @@
to construct the correct URL.
""")
bugwatch = Attribute('The bugwatch to which the comment pertains.')
- can_be_shown = Bool(
- title=u'Whether or not the comment can be displayed',
- readonly=True)
show_for_admin = Bool(
title=u'A hidden comment still displayed for admins.',
readonly=True)
=== modified file 'lib/lp/bugs/scripts/bugnotification.py'
--- lib/lp/bugs/scripts/bugnotification.py 2010-09-06 09:11:43 +0000
+++ lib/lp/bugs/scripts/bugnotification.py 2010-09-20 11:02:47 +0000
@@ -105,25 +105,6 @@
mail_wrapper = MailWrapper(width=72)
content = '\n\n'.join(text_notifications)
from_address = get_bugmail_from_address(person, bug)
- # comment_syncing_team can be either None or '' to indicate unset.
- if comment is not None and config.malone.comment_syncing_team:
- # The first time we import comments from a bug watch, a comment
- # notification is added, originating from the Bug Watch Updater.
- bug_watch_updater = getUtility(
- ILaunchpadCelebrities).bug_watch_updater
- is_initial_import_notification = (comment.owner == bug_watch_updater)
- bug_message = getUtility(IBugMessageSet).getByBugAndMessage(
- bug, comment)
- comment_syncing_team = getUtility(IPersonSet).getByName(
- config.malone.comment_syncing_team)
- # Only members of the comment syncing team should get comment
- # notifications related to bug watches or initial comment imports.
- if (is_initial_import_notification or
- (bug_message is not None and bug_message.bugwatch is not None)):
- recipients = dict(
- (email_person, recipient)
- for email_person, recipient in recipients.items()
- if recipient.person.inTeam(comment_syncing_team))
bug_notification_builder = BugNotificationBuilder(bug, person)
sorted_recipients = sorted(
recipients.items(), key=lambda t: t[0].preferredemail.email)
=== modified file 'lib/lp/bugs/scripts/tests/test_bugnotification.py'
--- lib/lp/bugs/scripts/tests/test_bugnotification.py 2010-08-20 20:31:18 +0000
+++ lib/lp/bugs/scripts/tests/test_bugnotification.py 2010-09-20 11:02:47 +0000
@@ -1,6 +1,5 @@
# Copyright 2009 Canonical Ltd. This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).
-
"""Tests for construction bug notification emails for sending."""
__metaclass__ = type
@@ -109,7 +108,7 @@
self.recipients = [MockBugNotificationRecipient()]
-class TestGetEmailNotificattions(unittest.TestCase):
+class TestGetEmailNotifications(unittest.TestCase):
"""Tests for the exception handling in get_email_notifications()."""
layer = LaunchpadZopelessLayer
@@ -152,17 +151,6 @@
# will abort the current transaction.
commit()
- # Disable limiting bug watch notifications to a team, so that
- # the testing gets easier.
- config.push(
- 'no-comment-syncing-team', dedent("""
- [malone]
- comment_syncing_team:
- """))
-
- def tearDown(self):
- config.pop('no-comment-syncing-team')
-
def _getAndCheckSentNotifications(self, notifications_to_send):
"""Return the notifications that were successfully sent.
=== modified file 'lib/lp/bugs/stories/bugs/xx-remote-bug-comments.txt'
--- lib/lp/bugs/stories/bugs/xx-remote-bug-comments.txt 2010-03-30 09:00:29 +0000
+++ lib/lp/bugs/stories/bugs/xx-remote-bug-comments.txt 2010-09-20 11:02:47 +0000
@@ -4,14 +4,6 @@
formatted for display in a way that distinguishes them from comments
entered within Launchpad itself.
- >>> from canonical.config import config
- >>> from textwrap import dedent
- >>> test_data = dedent("""
- ... [malone]
- ... comment_syncing_team: None
- ... """)
- >>> config.push('test_data', test_data)
-
>>> user_browser.open('http://bugs.launchpad.dev/redfish/+bug/15')
>>> remote_bug_comment = find_tags_by_class(
... user_browser.contents, 'remoteBugComment', only_first=True)
@@ -118,6 +110,3 @@
>>> footer = remote_bug_comment.find(attrs={'class': 'boardCommentFooter'})
>>> 'Reply' in extract_text(footer)
False
-
-
- >>> test_config_data = config.pop('test_data')
=== modified file 'lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt'
--- lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt 2009-12-24 01:41:54 +0000
+++ lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt 2010-09-20 11:02:47 +0000
@@ -1,18 +1,29 @@
= Comments Imported From a Bug Watch =
-We now support importing comments from remote bug trackers. Currently
-this is only available for the DebBugs bug tracker, but it will become
-more widely implemented in the near future.
+We now support importing comments from remote bug trackers.
These comments can be displayed like any other comments on a bug. Bug
-#15 has a bug watch against a debbugs bug. If we look at the bug page we
-won't see any comments listed, since by default they're hidden from
-view.
+#15 has a bug watch against a debbugs bug.
>>> user_browser.open('http://launchpad.dev/bugs/15')
>>> print_comments(user_browser.contents)
+ <p>Package: gnome-volume...manager...
+ ----------------------------------------
+ <p>reassign 308994 pmount...
+ ----------------------------------------
+ <p>reassign 308994 gnome-volume-...
+ ----------------------------------------
+ <p>reassign 308994 pmount...
+ ----------------------------------------
+ <p>Hi!...Usually CD-ROMs are handled in /etc/fstab, so this might
+ not even be a...pmount bug...
+ ----------------------------------------
+ <p>I'll be happy to add the info you request to the bug report if it
+ will...
+ ----------------------------------------
-The page is not linked to, so we have to browse directly to it.
+The comments imported for a watch can be seen on that watch's +comments
+page. This page isn't linked to, so we need to browse to it directly.
>>> user_browser.open('http://launchpad.dev/bugs/15/+watch/11/+comments')
>>> user_browser.url
@@ -21,49 +32,6 @@
The ordinary user can't see these comments:
>>> print_comments(user_browser.contents)
-
-But members of the Launchpad Beta Testers team can see them. The comments
-that have been imported are displayed on the page in the same way as bug
-comments are displayed on bugs pages. We'll make Mark Shuttleworth a
-member of Launchpad Beta Testers in order to demonstrate this.
-
- >>> from zope.component import getUtility
- >>> from canonical.launchpad.interfaces import (
- ... ILaunchpadCelebrities, IPersonSet)
- >>> from canonical.launchpad.ftests import login, logout
- >>> login('foo.bar@xxxxxxxxxxxxx')
- >>> mark = getUtility(IPersonSet).getByName('mark')
- >>> launchpad_beta_testers = getUtility(
- ... ILaunchpadCelebrities).launchpad_beta_testers
- >>> mark.inTeam(launchpad_beta_testers)
- False
-
- >>> logout()
-
-As we can see, mark cannot see the comments yet:
-
- >>> mark_browser = setupBrowser(auth="Basic mark@xxxxxxxxxxx:test")
- >>> mark_browser.open(
- ... 'http://launchpad.dev/bugs/15/+watch/11/+comments')
- >>> print_comments(mark_browser.contents)
-
-After joining the launchpad developers team, mark can now see the
-comments.
-
- >>> login('foo.bar@xxxxxxxxxxxxx')
- >>> mark = getUtility(IPersonSet).getByName('mark')
- >>> foo_bar = getUtility(IPersonSet).getByName('name16')
- >>> launchpad_beta_testers = getUtility(
- ... ILaunchpadCelebrities).launchpad_beta_testers
- >>> ignored = launchpad_beta_testers.addMember(mark, reviewer=foo_bar)
- >>> mark.inTeam(launchpad_beta_testers)
- True
-
- >>> logout()
-
- >>> mark_browser.open(
- ... 'http://launchpad.dev/bugs/15/+watch/11/+comments')
- >>> print_comments(mark_browser.contents)
<p>Package: gnome-volume...manager...
----------------------------------------
<p>reassign 308994 pmount...
@@ -78,59 +46,3 @@
<p>I'll be happy to add the info you request to the bug report if it
will...
----------------------------------------
-
-The comments are also visible on their own pages to members of the
-Launchpad Beta Testers team such as mark:
-
- >>> mark_browser.open(
- ... 'http://bugs.launchpad.dev/redfish/+bug/15/comments/1')
- >>> print_comments(mark_browser.contents)
- <p>Package: gnome-volume-<wbr></wbr>manager<br />
- Version: 1.2.0-1<br />
- Severity: important</p>
- <p>When gnome-volume-<wbr></wbr>manager automounts a dvd+rw
- containing an fs in my dvd<br />
- burner on my system, the volume is unreadable, since it gets
- pmounted<br /> rw, and blocks get changed. unmounting the volume
- reports a dirty<br /> dvd+rw. the same volume is readable if mounted
- by hand with the<br /> read-only flag.</p> <p>I've filed a bug
- upstream for this, which is here:</p> <p><a rel="nofollow"
- href="http://bugzilla.gnome.org/show_bug.cgi?id=304070">...</a></p>
- <p>but wanted it in the debian bug database for user and maintainer
- reference.</p>...
-
-The title bar of the comments will contain the comment number (which
-is also a permalink to the comment itself within Launchpad), a to the
-profile of the author of the comment, and a link to the to the remote
-bug from which the comment was imported.
-
- >>> header = first_tag_by_class(mark_browser.contents,
- ... 'boardCommentDetails')
- >>> for link in header.findAll('a'):
- ... print "%s: %s" % (extract_text(link), link.get('href'))
- Debian Bug tracker #308994: http://bugs.debian.org/...?bug=308994
- josh: http://launchpad.dev/~jbuhl-nospam
- gnome-volume-manager...: /redfish/+bug/15/comments/1
- #1: /redfish/+bug/15/comments/1
-
-If mark leaves the Launchpad Beta Testers team the comment will no longer
-be visible to him:
-
- >>> login('foo.bar@xxxxxxxxxxxxx')
- >>> mark = getUtility(IPersonSet).getByName('mark')
- >>> mark.leave(launchpad_beta_testers)
- >>> mark.inTeam(launchpad_beta_testers)
- False
-
- >>> logout()
-
- >>> mark_browser.open(
- ... 'http://bugs.launchpad.dev/redfish/+bug/15/comments/1')
- >>> print_comments(mark_browser.contents)
-
-Anonymous users can't see the comment either.
-
- >>> anon_browser.open(
- ... 'http://bugs.launchpad.dev/redfish/+bug/15/comments/1')
- >>> print_comments(anon_browser.contents)
-
=== modified file 'lib/lp/bugs/templates/bugcomment-index.pt'
--- lib/lp/bugs/templates/bugcomment-index.pt 2009-09-02 15:52:06 +0000
+++ lib/lp/bugs/templates/bugcomment-index.pt 2010-09-20 11:02:47 +0000
@@ -9,8 +9,7 @@
<body>
<div metal:fill-slot="main" tal:define="comment view/comment">
<h1 tal:content="view/page_title">Foo doesn't work</h1>
- <tal:comment condition="comment/can_be_shown"
- replace="structure comment/@@+box-expanded-reply">
+ <tal:comment replace="structure comment/@@+box-expanded-reply">
</tal:comment>
</div>
</body>
=== modified file 'lib/lp/bugs/templates/bugtask-index.pt'
--- lib/lp/bugs/templates/bugtask-index.pt 2010-08-20 13:33:51 +0000
+++ lib/lp/bugs/templates/bugtask-index.pt 2010-09-20 11:02:47 +0000
@@ -217,8 +217,8 @@
<tal:is-comment
define="comment comment_or_activity/comment|nothing"
condition="comment">
- <tal:comment-box condition="python: comment.can_be_shown and
- (view.user_is_admin or
+ <tal:comment-box condition="python: (
+ view.user_is_admin or
comment.visible)"
replace="structure comment/@@+box">
</tal:comment-box>
=== modified file 'lib/lp/bugs/tests/test_doc.py'
--- lib/lp/bugs/tests/test_doc.py 2010-08-20 20:31:18 +0000
+++ lib/lp/bugs/tests/test_doc.py 2010-09-20 11:02:47 +0000
@@ -132,11 +132,6 @@
tearDown=uploadQueueTearDown,
layer=LaunchpadZopelessLayer
),
- 'bugnotification-comment-syncing-team.txt': LayeredDocFileSuite(
- '../doc/bugnotification-comment-syncing-team.txt',
- layer=LaunchpadZopelessLayer, setUp=bugNotificationSendingSetUp,
- tearDown=bugNotificationSendingTearDown
- ),
'bugnotificationrecipients.txt-branchscanner': LayeredDocFileSuite(
'../doc/bugnotificationrecipients.txt',
setUp=branchscannerBugsSetUp,