← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~sinzui/launchpad/hugs-and-kisses into lp:launchpad

 

Curtis Hovey has proposed merging lp:~sinzui/launchpad/hugs-and-kisses into lp:launchpad.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)
Related bugs:
  Bug #401653 in Launchpad itself: "Launchpad claims to be "affected by this bug""
  https://bugs.launchpad.net/launchpad/+bug/401653
  Bug #501538 in Launchpad itself: "blueprint-nofollow"
  https://bugs.launchpad.net/launchpad/+bug/501538
  Bug #607282 in Launchpad itself: "IDistribution.archives title text is wrong"
  https://bugs.launchpad.net/launchpad/+bug/607282
  Bug #759211 in Launchpad itself: "ProductSeries+edit mis-spelling"
  https://bugs.launchpad.net/launchpad/+bug/759211

For more details, see:
https://code.launchpad.net/~sinzui/launchpad/hugs-and-kisses/+merge/57795

Trivial fixes while making movies.

    Launchpad bugs:
        https://bugs.launchpad.net/bugs/759211
        https://bugs.launchpad.net/bugs/607282
        https://bugs.launchpad.net/bugs/401653
        https://bugs.launchpad.net/bugs/501538
    Pre-implementation: no one


Bug #759211	"ProductSeries+edit mis-spelling"
    "isHosted" should read "is hosted".

Bug #607282 "IDistribution.archives title text is wrong"
    The title is wrong, it should say "A sequence of the distribution's
    primary, partner and debug archives"

Bug #401653 "Launchpad claims to be "affected by this bug""
    When reporting a bug, the "Is the bug you’re reporting one of these?"
    page, click one of the bug summaries, then "Yes, this is the bug I'm
    trying to report".

Bug #501538 "blueprint-nofollow"
    The offsite link for the specification is crawlable. It should
    use rel="nofollow" as all other user provides URLs do.

--------------------------------------------------------------------

RULES

Bug #759211	"ProductSeries+edit mis-spelling"
    Fix the spelling

Bug #607282 "IDistribution.archives title text is wrong"
    Change the title attr of IDistribution.all_distro_archives.

Bug #401653 "Launchpad claims to be "affected by this bug""
    Change "I am affected by this bug" to "Affected by this bug?"

Bug #501538 "blueprint-nofollow"
    Add rel="nofollow" tot he specurl link.


QA

Bug #759211	"ProductSeries+edit mis-spelling"
    * Visit https://qastaging.launchpad.net/+apidoc/devel.html
    * The branch URL field reads "is hosted".

Bug #607282 "IDistribution.archives title text is wrong"
    * Visit https://code.qastaging.launchpad.net/~registry/bugzilla/trunk/+edit
    * Verify the "archive" attr description for Distribution:
      "A sequence of the distribution's primary, partner and debug archives"

Bug #401653 "Launchpad claims to be "affected by this bug""
    * Start a bug report.
    * In the "Is the bug you’re reporting one of these?", verify the actions
      read "Affected by this bug?"

Bug #501538 "blueprint-nofollow"
    * Visit https://blueprints.launchpad.net/launchpad/+spec/build-from-branch
    * Verify the link has the attr rel="nofollow"


LINT

    lib/lp/blueprints/browser/tests/test_specification.py
    lib/lp/blueprints/templates/specification-index.pt
    lib/lp/bugs/javascript/filebug_dupefinder.js
    lib/lp/code/interfaces/branch.py
    lib/lp/registry/interfaces/distribution.py

^ Lint hates some of these files. I clean clean up the white space issue
before I land.


IMPLEMENTATION

Bug #759211	"ProductSeries+edit mis-spelling"
    Fixed the string concatenation and capitalisation.
    lib/lp/code/interfaces/branch.py

Bug #607282 "IDistribution.archives title text is wrong"
    Revised the title per the bug.
    lib/lp/registry/interfaces/distribution.py

Bug #401653 "Launchpad claims to be "affected by this bug""
    Revised the heading per the bug.
    lib/lp/bugs/javascript/filebug_dupefinder.js


Bug #501538 "blueprint-nofollow"
    Added rel="nofollow" and a test.
    lib/lp/blueprints/browser/tests/test_specification.py
    lib/lp/blueprints/templates/specification-index.pt
-- 
https://code.launchpad.net/~sinzui/launchpad/hugs-and-kisses/+merge/57795
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~sinzui/launchpad/hugs-and-kisses into lp:launchpad.
=== modified file 'lib/lp/blueprints/browser/tests/test_specification.py'
--- lib/lp/blueprints/browser/tests/test_specification.py	2011-03-09 03:19:48 +0000
+++ lib/lp/blueprints/browser/tests/test_specification.py	2011-04-14 22:43:27 +0000
@@ -14,6 +14,7 @@
 
 from canonical.launchpad.webapp.interfaces import BrowserNotificationLevel
 from canonical.launchpad.webapp.servers import StepsToGo
+from canonical.launchpad.testing.pages import find_tag_by_id
 from canonical.testing.layers import DatabaseFunctionalLayer
 from lp.app.browser.tales import format_link
 from lp.blueprints.browser import specification
@@ -121,6 +122,24 @@
             self.specification.getBranchLink(branch), self.traverse(segments))
 
 
+class TestSpecificationView(TestCaseWithFactory):
+    """Test the SpecificationView."""
+
+    layer = DatabaseFunctionalLayer
+
+    def test_offsite_url(self):
+        """The specification URL is rendered when present."""
+        spec = self.factory.makeSpecification()
+        login_person(spec.owner)
+        spec.specurl = 'http://eg.dom/parrot'
+        view = create_initialized_view(
+            spec, name='+index', principal=spec.owner,
+            rootsite='blueprints')
+        li = find_tag_by_id(view.render(), 'spec-url')
+        self.assertEqual('nofollow', li.a['rel'])
+        self.assertEqual(spec.specurl, li.a['href'])
+
+
 class TestSpecificationEditStatusView(TestCaseWithFactory):
     """Test the SpecificationEditStatusView."""
 

=== modified file 'lib/lp/blueprints/templates/specification-index.pt'
--- lib/lp/blueprints/templates/specification-index.pt	2011-04-01 01:54:45 +0000
+++ lib/lp/blueprints/templates/specification-index.pt	2011-04-14 22:43:27 +0000
@@ -46,9 +46,9 @@
       <tal:widget replace="structure view/summary_widget" />
 
       <ul class="horizontal">
-        <li
+        <li id="spec-url"
             tal:condition="context/specurl">
-          <a class="sprite external-link"
+          <a class="sprite external-link" rel="nofollow"
             tal:attributes="href context/specurl">Read the full specification</a>
         </li>
         <tal:block condition="python:context.specurl is None">

=== modified file 'lib/lp/bugs/javascript/filebug_dupefinder.js'
--- lib/lp/bugs/javascript/filebug_dupefinder.js	2011-04-06 16:59:07 +0000
+++ lib/lp/bugs/javascript/filebug_dupefinder.js	2011-04-14 22:43:27 +0000
@@ -248,7 +248,7 @@
 
     // Create the do-you-want-to-subscribe FormOverlay.
     subscribe_form_overlay = new Y.lazr.FormOverlay({
-        headerContent: '<h2>I am affected by this bug</h2>',
+        headerContent: '<h2>Affected by this bug?</h2>',
         form_content: subscribe_form_body,
         form_submit_button: Y.Node.create(submit_button_html),
         form_cancel_button: Y.Node.create(cancel_button_html),

=== modified file 'lib/lp/code/interfaces/branch.py'
--- lib/lp/code/interfaces/branch.py	2011-03-28 20:54:50 +0000
+++ lib/lp/code/interfaces/branch.py	2011-04-14 22:43:27 +0000
@@ -979,8 +979,8 @@
             trailing_slash=False,
             description=_(
                 "This is the external location where the Bazaar "
-                "branch is hosted. This is None when the branch is"
-                "Hosted by Launchpad")))
+                "branch is hosted. This is None when the branch is "
+                "hosted by Launchpad")))
 
     mirror_status_message = exported(
         Text(

=== modified file 'lib/lp/registry/interfaces/distribution.py'
--- lib/lp/registry/interfaces/distribution.py	2011-04-08 07:43:39 +0000
+++ lib/lp/registry/interfaces/distribution.py	2011-04-14 22:43:27 +0000
@@ -318,7 +318,9 @@
 
     all_distro_archives = exported(doNotSnapshot(
         CollectionField(
-            title=_("A sequence of the distribution's non-PPA Archives."),
+            title=_(
+                "A sequence of the distribution's primary, "
+                "partner and debug archives."),
             readonly=True, required=False,
             value_type=Reference(schema=Interface))),
                 # Really IArchive, see _schema_circular_imports.py.