← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~wgrant/launchpad/drop-unused-views into lp:launchpad

 

William Grant has proposed merging lp:~wgrant/launchpad/drop-unused-views into lp:launchpad.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~wgrant/launchpad/drop-unused-views/+merge/84888

There are lots of unused views and templates. Delete some of them.

The only really notable thing here is +teamhierarchy, which is not linked from anywhere but was accessed a grand total of once last month.
-- 
https://code.launchpad.net/~wgrant/launchpad/drop-unused-views/+merge/84888
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~wgrant/launchpad/drop-unused-views into lp:launchpad.
=== modified file 'lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt'
--- lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt	2011-09-29 05:41:31 +0000
+++ lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt	2011-12-08 04:15:38 +0000
@@ -355,7 +355,6 @@
 
 This is for a team:
 
->>> check("/~name18/+teamhierarchy")
 >>> check("/~name18/+edit", auth=True)
 >>> check("/~name18/+members")
 >>> check_redirect("/~name18/+projects", status=301)

=== removed file 'lib/canonical/launchpad/templates/logintoken-claimprofile.pt'
--- lib/canonical/launchpad/templates/logintoken-claimprofile.pt	2009-09-16 20:51:57 +0000
+++ lib/canonical/launchpad/templates/logintoken-claimprofile.pt	1970-01-01 00:00:00 +0000
@@ -1,19 +0,0 @@
-<html
-  xmlns="http://www.w3.org/1999/xhtml";
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  metal:use-macro="view/macro:page/locationless"
-  i18n:domain="launchpad"
->
-<body>
-
-  <div metal:fill-slot="main">
-
-    <div metal:use-macro="context/@@launchpad_form/form" />
-
-  </div>
-</body>
-
-</html>
-

=== removed file 'lib/canonical/launchpad/webapp/templates/launchpad-model.pt'
--- lib/canonical/launchpad/webapp/templates/launchpad-model.pt	2011-07-27 15:24:03 +0000
+++ lib/canonical/launchpad/webapp/templates/launchpad-model.pt	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-<div
-  xmlns="http://www.w3.org/1999/xhtml";
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  xml:lang="en"
-  lang="en"
-  dir="ltr"
-  i18n:domain="launchpad">
-
-  <tal:json replace="structure context/getCacheJSON" />
-
-</div>

=== modified file 'lib/lp/blueprints/browser/configure.zcml'
--- lib/lp/blueprints/browser/configure.zcml	2011-11-27 01:16:55 +0000
+++ lib/lp/blueprints/browser/configure.zcml	2011-12-08 04:15:38 +0000
@@ -263,9 +263,6 @@
             for="lp.blueprints.interfaces.specification.ISpecification"
             permission="zope.Public">
             <browser:page
-                name="+listing-column"
-                template="../templates/specification-listing-column.pt"/>
-            <browser:page
                 name="+listing-simple"
                 template="../templates/specification-listing-simple.pt"/>
             <browser:page

=== removed file 'lib/lp/blueprints/templates/specification-listing-column.pt'
--- lib/lp/blueprints/templates/specification-listing-column.pt	2009-07-17 17:59:07 +0000
+++ lib/lp/blueprints/templates/specification-listing-column.pt	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-<tal:root
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  omit-tag="">
-
-<img src="/@@/blueprint" tal:replace="structure context/image:icon" />
-<a tal:content="context/name"
-   tal:attributes="href context/fmt:url; title context/title">
-   spec-listing-name</a> for
-<a tal:content="context/target/name"
-   tal:attributes="href context/target/fmt:url">ubuntu</a>
-</tal:root>

=== modified file 'lib/lp/bugs/browser/bugtask.py'
--- lib/lp/bugs/browser/bugtask.py	2011-12-07 04:56:36 +0000
+++ lib/lp/bugs/browser/bugtask.py	2011-12-08 04:15:38 +0000
@@ -24,7 +24,6 @@
     'BugTaskListingItem',
     'BugTaskListingView',
     'BugTaskNavigation',
-    'BugTaskPortletView',
     'BugTaskPrivacyAdapter',
     'BugTaskRemoveQuestionView',
     'BugTasksAndNominationsView',
@@ -1189,20 +1188,6 @@
             self.next_offset < (self.total_comments + self.total_activity))
 
 
-class BugTaskPortletView:
-    """A portlet for displaying a bug's bugtasks."""
-
-    def alsoReportedIn(self):
-        """Return a list of IUpstreamBugTasks in which this bug is reported.
-
-        If self.context is an IUpstreamBugTasks, it will be excluded
-        from this list.
-        """
-        return [
-            task for task in self.context.bug.bugtasks
-            if task.id is not self.context.id]
-
-
 def get_prefix(bugtask):
     """Return a prefix that can be used for this form.
 

=== modified file 'lib/lp/bugs/browser/configure.zcml'
--- lib/lp/bugs/browser/configure.zcml	2011-12-07 04:56:36 +0000
+++ lib/lp/bugs/browser/configure.zcml	2011-12-08 04:15:38 +0000
@@ -18,12 +18,6 @@
             template="../templates/bugtarget-portlet-latestbugs.pt"/>
         <browser:page
             for="lp.bugs.interfaces.bugtarget.IHasBugs"
-            class="lp.bugs.browser.bugtask.BugTargetView"
-            name="+portlet-recently-touched-bugs"
-            permission="zope.Public"
-            template="../templates/bugtarget-portlet-recently-touched-bugs.pt"/>
-        <browser:page
-            for="lp.bugs.interfaces.bugtarget.IHasBugs"
             class="lp.bugs.browser.bugtask.BugListingPortletInfoView"
             permission="zope.Public"
             name="+portlet-bugfilters"
@@ -454,20 +448,6 @@
             classes="
                 BugTaskNavigation
                 BugTaskSetNavigation"/>
-        <browser:pages
-            for="lp.bugs.interfaces.bugtask.IBugTask"
-            class="lp.bugs.browser.bugtask.BugTaskPortletView"
-            permission="launchpad.View">
-            <browser:page
-                name="+portlet-alsoreportedin"
-                template="../templates/bugtask-portlet-alsoreportedin.pt"/>
-            <browser:page
-                name="+portlet-status-details"
-                template="../templates/bugtask-status-portlet-details.pt"/>
-            <browser:page
-                name="+portlet-search"
-                template="../templates/bugtarget-portlet-search.pt"/>
-        </browser:pages>
         <browser:page
             for="lp.bugs.interfaces.bug.IBug"
             class="lp.bugs.browser.bug.BugSubscriptionPortletView"
@@ -956,11 +936,6 @@
             attribute="__call__"/>
         <browser:page
             for="lp.bugs.interfaces.bug.IBug"
-            name="+listing-column"
-            template="../templates/bug-listing-column.pt"
-            permission="zope.Public"/>
-        <browser:page
-            for="lp.bugs.interfaces.bug.IBug"
             name="+listing-detailed"
             template="../templates/bug-listing-detailed.pt"
             permission="zope.Public"/>

=== removed file 'lib/lp/bugs/browser/tests/special/bugtarget-recently-touched-bugs.txt'
--- lib/lp/bugs/browser/tests/special/bugtarget-recently-touched-bugs.txt	2011-09-26 06:30:07 +0000
+++ lib/lp/bugs/browser/tests/special/bugtarget-recently-touched-bugs.txt	1970-01-01 00:00:00 +0000
@@ -1,102 +0,0 @@
-Recently Touched Bugs for a IBugTarget
-======================================
-
-Every IBugTarget has a portlet for showing the most recently touched
-bugs (i.e bugs that have been recently modified/created).
-
-    >>> from zope.component import getMultiAdapter
-    >>> from canonical.launchpad.webapp.servers import LaunchpadTestRequest
-    >>> portlet_view = getMultiAdapter(
-    ...     (bugtarget, LaunchpadTestRequest()),
-    ...     name='+portlet-recently-touched-bugs')
-    >>> portlet_view.initialize()
-
-    >>> import pytz
-    >>> from datetime import datetime, timedelta
-    >>> now = datetime.now(pytz.timezone('UTC'))
-    >>> def set_date_updated(bug, minutes_in_future):
-    ...     bug.date_last_updated = now + timedelta(minutes=minutes_in_future)
-
-If we have three bugs with a recent date_last_updated set, they will
-appear in the top of the list.
-
-    >>> login('test@xxxxxxxxxxxxx')
-    >>> sample_person = getUtility(ILaunchBag).user
-    >>> bug_a = filebug(bugtarget, 'Bug A')
-    >>> set_date_updated(bug_a, 1)
-    >>> bug_b = filebug(bugtarget, 'Bug B')
-    >>> set_date_updated(bug_b, 2)
-    >>> bug_c = filebug(bugtarget, 'Bug C')
-    >>> set_date_updated(bug_c, 3)
-
-    >>> for bugtask in portlet_view.getMostRecentlyUpdatedBugTasks()[:3]:
-    ...     print bugtask.bug.title
-    Bug C
-    Bug B
-    Bug A
-
-If one of the bug's date_last_updated gets updated to a newer value, it
-will be first in the list.
-
-    >>> set_date_updated(bug_b, 4)
-    >>> for bugtask in portlet_view.getMostRecentlyUpdatedBugTasks()[:3]:
-    ...     print bugtask.bug.title
-    Bug B
-    Bug C
-    Bug A
-
-Private bugs
-------------
-
-Only bugs that the user is allowed to see will be present in the list.
-
-    >>> bug_c.setPrivate(True, getUtility(ILaunchBag).user)
-    True
-
-    >>> login('no-priv@xxxxxxxxxxxxx')
-    >>> portlet_view = getMultiAdapter(
-    ...     (bugtarget, LaunchpadTestRequest()),
-    ...     name='+portlet-recently-touched-bugs')
-    >>> portlet_view.initialize()
-    >>> for bugtask in portlet_view.getMostRecentlyUpdatedBugTasks()[:2]:
-    ...     print bugtask.bug.title
-    Bug B
-    Bug A
-
-    >>> login('test@xxxxxxxxxxxxx')
-    >>> portlet_view = getMultiAdapter(
-    ...     (bugtarget, LaunchpadTestRequest()),
-    ...     name='+portlet-recently-touched-bugs')
-    >>> portlet_view.initialize()
-    >>> for bugtask in portlet_view.getMostRecentlyUpdatedBugTasks()[:3]:
-    ...     print bugtask.bug.title
-    Bug B
-    Bug A
-    Bug C
-
-Duplicate bugs
---------------
-
-Bugs that are duplicates of other bugs will be omitted from the list as
-well.
-
-    >>> bug_b.markAsDuplicate(bug_c)
-
-    >>> for bugtask in portlet_view.getMostRecentlyUpdatedBugTasks()[:2]:
-    ...     print bugtask.bug.title
-    Bug A
-    Bug C
-
-Limit
------
-
-By default only five bugs will be returned, but it's possible to specify
-a custom limit.
-
-    >>> for index in range(6):
-    ...     bug = filebug(bugtarget, 'Bug %s' % index)
-    >>> len(portlet_view.getMostRecentlyUpdatedBugTasks())
-    5
-
-    >>> len(portlet_view.getMostRecentlyUpdatedBugTasks(limit=2))
-    2

=== removed file 'lib/lp/bugs/browser/tests/test_bugtarget_recently_touched.py'
--- lib/lp/bugs/browser/tests/test_bugtarget_recently_touched.py	2010-10-04 19:50:45 +0000
+++ lib/lp/bugs/browser/tests/test_bugtarget_recently_touched.py	1970-01-01 00:00:00 +0000
@@ -1,51 +0,0 @@
-# Copyright 2009 Canonical Ltd.  This software is licensed under the
-# GNU Affero General Public License version 3 (see the file LICENSE).
-
-"""Test harness for running the bugtarget-recently-touched-bugs.txt tests.
-
-This module will run the tests against the all the current IBugTarget
-implementations.
-"""
-
-__metaclass__ = type
-
-__all__ = []
-
-import unittest
-
-from canonical.launchpad.testing.systemdocs import (
-    LayeredDocFileSuite,
-    tearDown,
-    )
-from canonical.testing.layers import LaunchpadFunctionalLayer
-from lp.bugs.tests.test_bugtarget import (
-    distributionSeriesSetUp,
-    distributionSetUp,
-    distributionSourcePackageSetUp,
-    productSeriesSetUp,
-    productSetUp,
-    projectSetUp,
-    sourcePackageSetUp,
-    )
-
-
-def test_suite():
-    suite = unittest.TestSuite()
-
-    setUpMethods = [
-        productSetUp,
-        productSeriesSetUp,
-        projectSetUp,
-        distributionSetUp,
-        distributionSourcePackageSetUp,
-        distributionSeriesSetUp,
-        sourcePackageSetUp,
-        ]
-
-    for setUpMethod in setUpMethods:
-        test = LayeredDocFileSuite(
-            'special/bugtarget-recently-touched-bugs.txt',
-            setUp=setUpMethod, tearDown=tearDown,
-            layer=LaunchpadFunctionalLayer)
-        suite.addTest(test)
-    return suite

=== removed file 'lib/lp/bugs/templates/bug-listing-column.pt'
--- lib/lp/bugs/templates/bug-listing-column.pt	2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/bug-listing-column.pt	1970-01-01 00:00:00 +0000
@@ -1,14 +0,0 @@
-<tal:root
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  omit-tag="">
-<img alt="" src="/@@/bug" />
-<a href="#" tal:attributes="href context/fmt:url"
-  ><span tal:replace="string:#${context/id}: ${context/title/fmt:shorten/50}"
-         tal:condition="context/required:launchpad.View">
-      #42: Bug Title
-   </span
-   ><span tal:replace="string:#${context/id}: Private Bug"
-          tal:condition="not:context/required:launchpad.View">
-      #42: Private Bug
-   </span></a>
-</tal:root>

=== removed file 'lib/lp/bugs/templates/bugtarget-portlet-recently-touched-bugs.pt'
--- lib/lp/bugs/templates/bugtarget-portlet-recently-touched-bugs.pt	2009-09-13 20:53:27 +0000
+++ lib/lp/bugs/templates/bugtarget-portlet-recently-touched-bugs.pt	1970-01-01 00:00:00 +0000
@@ -1,15 +0,0 @@
-<div
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  class="portlet" id="portlet-recently-touched-bugs"
-  tal:define="recently_updated_bugtasks view/getMostRecentlyUpdatedBugTasks"
-  tal:condition="recently_updated_bugtasks">
-  <h2>Latest bugs touched</h2>
-  <table>
-    <tbody>
-      <tal:per_task repeat="bugtask recently_updated_bugtasks"
-                    replace="structure bugtask/@@+listing-detailed"/>
-    </tbody>
-  </table>
-</div>

=== removed file 'lib/lp/bugs/templates/bugtarget-portlet-search.pt'
--- lib/lp/bugs/templates/bugtarget-portlet-search.pt	2009-09-13 20:53:27 +0000
+++ lib/lp/bugs/templates/bugtarget-portlet-search.pt	1970-01-01 00:00:00 +0000
@@ -1,26 +0,0 @@
-<div
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  tal:define="bugs_url context/target/fmt:url/+bugs"
-  class="portlet" id="portlet-search">
-  <h2>Search</h2>
-  <form name="bugtask_search" method="GET" tal:attributes="action bugs_url">
-    <ul>
-      <li>
-        <label for="field.searchtext">Enter bug ID or keywords:</label>
-      </li>
-      <li>
-        <input id="field.searchtext" name="field.searchtext" />
-      </li>
-      <li>
-        <input type="submit" name="search" value="Search" />
-      </li>
-    </ul>
-  </form>
-  <ul>
-    <li>
-      <a tal:attributes="href bugs_url">Show all open bugs</a>
-    </li>
-  </ul>
-</div>

=== removed file 'lib/lp/bugs/templates/bugtask-portlet-alsoreportedin.pt'
--- lib/lp/bugs/templates/bugtask-portlet-alsoreportedin.pt	2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/bugtask-portlet-alsoreportedin.pt	1970-01-01 00:00:00 +0000
@@ -1,38 +0,0 @@
-<div
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  class="portlet" id="portlet-also-reported-in">
-
-    <h2>Also reported in</h2>
-
-    <div class="portletBody"
-         tal:define="other_occurrences view/alsoReportedIn;">
-      <div class="portletContent">
-
-        <tal:block condition="not:other_occurrences">
-            <i>No other known occurrences.</i>
-        </tal:block>
-        <tal:block condition="other_occurrences">
-          This bug is also known to affect:
-        </tal:block>
-
-
-        <ul tal:condition="other_occurrences">
-          <li tal:repeat="task other_occurrences"><a href="#"
-                 tal:condition="not: task/required:launchpad.Edit"
-                 tal:attributes="href task/fmt:url"
-                 tal:content="task/bugtargetname"
-                 style="text-decoration: underline">Firefox</a><a href="#"
-                 tal:condition="task/required:launchpad.Edit"
-                 tal:attributes="href string:${task/fmt:url}/+editstatus"
-                 tal:content="task/bugtargetname"
-                 style="text-decoration: underline">Firefox</a>
-                 <br />
-                 [<span tal:replace="task/status/title">Pending</span>]
-
-          </li>
-        </ul>
-    </div>
-  </div>
-</div>

=== removed file 'lib/lp/bugs/templates/bugtask-status-portlet-details.pt'
--- lib/lp/bugs/templates/bugtask-status-portlet-details.pt	2009-07-17 17:59:07 +0000
+++ lib/lp/bugs/templates/bugtask-status-portlet-details.pt	1970-01-01 00:00:00 +0000
@@ -1,27 +0,0 @@
-<div
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  class="portlet" id="portlet-details">
-
-  <h2>Details</h2>
-
-  <div class="portletBody"
-       tal:define="bug context/bug">
-    <div class="portletContent">
-
-      <b>Reported by:</b><br />
-      <a tal:replace="structure context/owner/fmt:link" /><br />
-
-      <b>In:</b>
-      <a tal:content="context/bugtargetname"
-         tal:attributes="href string:${context/target/fmt:url}/+bugs">ubuntu</a><br />
-
-      <b>When:</b>
-      <span
-        tal:attributes="title context/datecreated/fmt:datetime"
-        tal:content="context/datecreated/fmt:displaydate" />
-
-    </div>
-  </div>
-</div>

=== modified file 'lib/lp/registry/browser/configure.zcml'
--- lib/lp/registry/browser/configure.zcml	2011-12-01 19:24:30 +0000
+++ lib/lp/registry/browser/configure.zcml	2011-12-08 04:15:38 +0000
@@ -1023,12 +1023,6 @@
         <browser:page
             for="lp.registry.interfaces.person.IPerson"
             permission="zope.Public"
-            class="lp.registry.browser.team.TeamHierarchyView"
-            name="+teamhierarchy"
-            template="../templates/person-teamhierarchy.pt"/>
-        <browser:page
-            for="lp.registry.interfaces.person.IPerson"
-            permission="zope.Public"
             class="lp.registry.browser.person.PersonSubscriptionsView"
             name="+subscriptions"
             template="../templates/person-subscriptions.pt"/>

=== modified file 'lib/lp/registry/browser/team.py'
--- lib/lp/registry/browser/team.py	2011-11-15 01:29:55 +0000
+++ lib/lp/registry/browser/team.py	2011-12-08 04:15:38 +0000
@@ -13,7 +13,6 @@
     'TeamContactAddressView',
     'TeamEditMenu',
     'TeamEditView',
-    'TeamHierarchyView',
     'TeamIndexMenu',
     'TeamJoinView',
     'TeamLeaveView',
@@ -1254,34 +1253,6 @@
     """An XML dump of the locations of limited number of team members."""
 
 
-class TeamHierarchyView(LaunchpadView):
-    """View for ~team/+teamhierarchy page."""
-
-    @property
-    def label(self):
-        return 'Team relationships for ' + self.context.displayname
-
-    @property
-    def has_sub_teams(self):
-        return self.context.sub_teams.count() > 0
-
-    @property
-    def has_super_teams(self):
-        return self.context.super_teams.count() > 0
-
-    @property
-    def has_only_super_teams(self):
-        return self.has_super_teams and not self.has_sub_teams
-
-    @property
-    def has_only_sub_teams(self):
-        return not self.has_super_teams and self.has_sub_teams
-
-    @property
-    def has_relationships(self):
-        return self.has_sub_teams or self.has_super_teams
-
-
 class TeamNavigation(PersonNavigation):
 
     usedfor = ITeam

=== removed file 'lib/lp/registry/browser/tests/team-hierarchy-views.txt'
--- lib/lp/registry/browser/tests/team-hierarchy-views.txt	2009-11-13 13:06:50 +0000
+++ lib/lp/registry/browser/tests/team-hierarchy-views.txt	1970-01-01 00:00:00 +0000
@@ -1,100 +0,0 @@
-====================
-Team hierarchy views
-====================
-
-Team hierarchies are displayed via the ~team/+teamhierarchy page.  By default,
-brand new teams have no relationships at all.
-
-    >>> team = factory.makeTeam(displayname='Brand New Team')
-    >>> view = create_initialized_view(team, '+teamhierarchy')
-    >>> print view.label
-    Team relationships for Brand New Team
-
-    >>> view.has_relationships
-    False
-    >>> view.has_sub_teams
-    False
-    >>> view.has_super_teams
-    False
-    >>> view.has_only_sub_teams
-    False
-    >>> view.has_only_super_teams
-    False
-
-
-Only sub-teams
-==============
-
-Guadamen is related to some other teams.
-
-    >>> from lp.registry.interfaces.person import IPersonSet
-    >>> person_set = getUtility(IPersonSet)
-
-    >>> guadamen = person_set.getByName('guadamen')
-    >>> view = create_initialized_view(guadamen, '+teamhierarchy')
-    >>> print view.label
-    Team relationships for GuadaMen
-    >>> view.has_relationships
-    True
-
-Guadamen has sub-teams...
-
-    >>> view.has_sub_teams
-    True
-
-...but no super teams.
-
-    >>> view.has_super_teams
-    False
-
-In other words, Guadamen has only sub-teams.
-
-    >>> view.has_only_super_teams
-    False
-
-    >>> view.has_only_sub_teams
-    True
-
-
-Only super-teams
-================
-
-The Warty Gnome Team has only super-teams.
-
-    >>> warty = person_set.getByName('warty-gnome')
-    >>> view = create_initialized_view(warty, '+teamhierarchy')
-    >>> print view.label
-    Team relationships for Warty Gnome Team
-
-    >>> view.has_super_teams
-    True
-    >>> view.has_sub_teams
-    False
-    >>> view.has_only_super_teams
-    True
-    >>> view.has_only_sub_teams
-    False
-    >>> view.has_relationships
-    True
-
-
-Both super-teams and sub-teams
-==============================
-
-The Ubuntu Team has both sub-teams and super-teams.
-
-    >>> ubuntu = person_set.getByName('ubuntu-team')
-    >>> view = create_initialized_view(ubuntu, '+teamhierarchy')
-    >>> print view.label
-    Team relationships for Ubuntu Team
-
-    >>> view.has_super_teams
-    True
-    >>> view.has_sub_teams
-    True
-    >>> view.has_only_super_teams
-    False
-    >>> view.has_only_sub_teams
-    False
-    >>> view.has_relationships
-    True

=== removed file 'lib/lp/registry/templates/person-teamhierarchy.pt'
--- lib/lp/registry/templates/person-teamhierarchy.pt	2009-09-15 22:55:30 +0000
+++ lib/lp/registry/templates/person-teamhierarchy.pt	1970-01-01 00:00:00 +0000
@@ -1,56 +0,0 @@
-<html
-  xmlns="http://www.w3.org/1999/xhtml";
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  metal:use-macro="view/macro:page/main_only"
-  i18n:domain="launchpad"
-  >
-
-<body>
-  <div metal:fill-slot="main">
-    <p tal:condition="not: view/has_relationships">
-      None of the members of
-      &#8220;<span tal:replace="context/displayname"/>&#8221;
-      are teams, nor is it a member of any other team.
-    </p>
-    <p tal:condition="view/has_only_super_teams">
-      None of the members of
-      &#8220;<span tal:replace="context/displayname"/>&#8221;
-      are teams.
-    </p>
-    <tal:block condition="view/has_sub_teams">
-      <p>
-        These teams are members of
-        &#8220;<span tal:replace="context/displayname"/>&#8221;:
-      </p>
-      <ul id="subteams">
-        <tal:subteams repeat="team context/sub_teams">
-          <li
-            tal:condition="team/@@+restricted-membership/userCanViewMembership">
-            <tal:link replace="structure team/fmt:link" />
-          </li>
-        </tal:subteams>
-    </ul>
-    </tal:block>
-    <p tal:condition="view/has_only_sub_teams">
-      &#8220;<span tal:replace="context/displayname"/>&#8221;
-      is not a member of any other team.
-    </p>
-    <tal:block condition="view/has_super_teams">
-      <p>
-        &#8220;<span tal:replace="context/displayname"/>&#8221;
-        is a member of these teams:
-      </p>
-      <ul id="superteams">
-        <tal:superteams repeat="team context/super_teams">
-          <li
-            tal:condition="team/@@+restricted-membership/userCanViewMembership">
-            <tal:link replace="structure team/fmt:link" />
-          </li>
-        </tal:superteams>
-      </ul>
-    </tal:block>
-  </div>
-</body>
-</html>

=== removed file 'lib/lp/soyuz/templates/buildfarmjob-current.pt'
--- lib/lp/soyuz/templates/buildfarmjob-current.pt	2010-03-27 11:57:01 +0000
+++ lib/lp/soyuz/templates/buildfarmjob-current.pt	1970-01-01 00:00:00 +0000
@@ -1,9 +0,0 @@
-<tal:root
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  omit-tag="">
-
-  Working on
-  <tal:jobtype replace="context/__class__/__name__" />.
-</tal:root>

=== removed file 'lib/lp/translations/templates/object-portlet-preflangs.pt'
--- lib/lp/translations/templates/object-portlet-preflangs.pt	2009-07-17 17:59:07 +0000
+++ lib/lp/translations/templates/object-portlet-preflangs.pt	1970-01-01 00:00:00 +0000
@@ -1,28 +0,0 @@
-<div
-  xmlns:tal="http://xml.zope.org/namespaces/tal";
-  xmlns:metal="http://xml.zope.org/namespaces/metal";
-  xmlns:i18n="http://xml.zope.org/namespaces/i18n";
-  class="portlet" id="portlet-preferred-langs">
-
-  <h2>Your languages</h2>
-
-  <div class="portletBody">
-
-    <div class="portletContent">
-
-      <ul tal:condition="view/translatable_languages">
-          <li class="language"
-              tal:content="lang/englishname"
-              tal:repeat="lang view/translatable_languages">
-            A Language</li>
-      </ul>
-
-      <ul style="text-align: right;">
-        <li class="add">
-          <a href="/+editmylanguages">Select Languages...</a>
-        </li>
-      </ul>
-
-    </div>
-  </div>
-</div>


Follow ups