+The MilestoneView used can be adapted to a MilestoneInlineNavigationMenu
+for use with inline presentation of milestones.
+
+ >>> from canonical.lazr.canonicalurl import nearest_adapter
+ >>> from canonical.launchpad.webapp.interfaces import INavigationMenu
+
+ >>> view = create_view(milestone, name='+productseries-table-row')
+ >>> nearest_adapter(view, INavigationMenu, name='overview')
+ <lp.registry.browser.milestone.MilestoneInlineNavigationMenu ...>
The MilestoneView provides access to the milestone and to its release if
it has one.
}}}
Hi Gavin.
Thanks for the review.
On Wed, 2009-12-02 at 12:11 +0000, Gavin Panella wrote:
...
> > === modified file 'lib/lp/ registry/ browser/ milestone. py' registry/ browser/ milestone. py 2009-11-24 21:27:17 +0000 registry/ browser/ milestone. py 2009-12-02 12:04:29 +0000 xtMenu' , eView', iew', eNavigationMenu ', ation', iewNavigationMe nu', vigation' , cachedproperty import cachedproperty e(Interface) : NavigationMenu( NavigationMenu, MilestoneLinkMi xin):
> > --- lib/lp/
> > +++ lib/lp/
> > @@ -11,6 +11,7 @@
> > 'MilestoneConte
> > 'MilestoneDelet
> > 'MilestoneEditV
> > + 'MilestoneInlin
> > 'MilestoneNavig
> > 'MilestoneOverv
> > 'MilestoneSetNa
> > @@ -22,6 +23,7 @@
> >
> > from zope.component import getUtility
> > from zope.formlib import form
> > +from zope.interface import implements, Interface
> > from zope.schema import Choice
> >
> > from canonical.
> > @@ -131,11 +133,22 @@
> > links = ('create_release', )
> >
> >
> > +class IMilestoneInlin
> > + """A marker interface for views that show a milestone inline."""
> > +
> > +
> > +class MilestoneInline
> > + """An inline navigation menus for milestone views."""
>
> s/menus/menu
Fixed.
...
> > === modified file 'lib/lp/ registry/ browser/ tests/milestone -views. txt' registry/ browser/ tests/milestone -views. txt 2009-09-30 22:49:58 +0000 registry/ browser/ tests/milestone -views. txt 2009-12-02 12:04:29 +0000 browser. milestone import ( tMenu, MilestoneOvervi ewMenu, ewNavigationMen u) tMenu, MilestoneInline NavigationMenu, ewMenu, MilestoneOvervi ewNavigationMen u) links(Milestone ContextMenu( milestone) ) links(Milestone OverviewNavigat ionMenu( milestone) ) links(Milestone InlineNavigatio nMenu(milestone )) NavigationMenu is chosen for MilestoneView, or is that
> > --- lib/lp/
> > +++ lib/lp/
> > @@ -21,8 +21,8 @@
> > Milestone defines several menus.
> >
> > >>> from lp.registry.
> > - ... MilestoneContex
> > - ... MilestoneOvervi
> > + ... MilestoneContex
> > + ... MilestoneOvervi
> > >>> from lp.testing.menu import check_menu_links
> >
> > >>> check_menu_
> > @@ -31,6 +31,9 @@
> > True
> > >>> check_menu_
> > True
> > + >>> check_menu_
> > + True
> > +
>
> Should there also be a test to show that the
> MilestoneInline
> going too far?
Yes, I think there should given that I botched the ZCML registration the
first time.
{{{ registry/ browser/ milestone. py' registry/ browser/ milestone. py 2009-12-01 18:31:10 +0000 registry/ browser/ milestone. py 2009-12-02 14:53:08 +0000
=== modified file 'lib/lp/
--- lib/lp/
+++ lib/lp/
@@ -120,7 +120,7 @@
class MilestoneOvervi ewNavigationMen u(NavigationMen u, MilestoneLinkMi xin):
- """Overview navigation menus for `IMilestone` objects."""
+ """Overview navigation menu for `IMilestone` objects."""
usedfor = IMilestone
facet = 'overview'
links = ('edit', 'delete', 'subscribe')
=== modified file 'lib/lp/ registry/ browser/ tests/milestone -views. txt' registry/ browser/ tests/milestone -views. txt 2009-12-01 18:31:10 +0000 registry/ browser/ tests/milestone -views. txt 2009-12-02 15:14:33 +0000 links(Milestone InlineNavigatio nMenu(milestone ))
--- lib/lp/
+++ lib/lp/
@@ -34,6 +34,15 @@
>>> check_menu_
True
+The MilestoneView used can be adapted to a MilestoneInline NavigationMenu lazr.canonicalu rl import nearest_adapter launchpad. webapp. interfaces import INavigationMenu view(milestone, name='+ productseries- table-row' ) adapter( view, INavigationMenu, name='overview') browser. milestone. MilestoneInline NavigationMenu ...>
+for use with inline presentation of milestones.
+
+ >>> from canonical.
+ >>> from canonical.
+
+ >>> view = create_
+ >>> nearest_
+ <lp.registry.
The MilestoneView provides access to the milestone and to its release if
it has one.
}}}
-- launchpad. net/
__Curtis C. Hovey_________
http://