r13338 - in MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget: browser tests
"Thomas Desvenain" <[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.archetypes.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: thomasdesvenain
Date: Wed Dec 8 00:37:37 2010
New Revision: 13338
Modified:
MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py
MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/tests/test_product.py
Log:
when browser is restricted, all items from startup directory are interesting...
browsing was broken
Modified: MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py
==============================================================================
--- MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py (original)
+++ MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/browser/view.py Wed Dec 8 00:37:37 2010
@@ -250,11 +250,10 @@
def breadcrumbs(self, startup_directory=None):
assert self._updated
-
context = aq_inner(self.context)
portal_state = getMultiAdapter((context, self.request),
name=u'plone_portal_state')
- bc_view = context.restrictedTraverse('@@breadcrumbs_view')
+ bc_view = aq_inner(context).restrictedTraverse('@@breadcrumbs_view')
crumbs = bc_view.breadcrumbs()
if not self.widget.restrict_browsing_to_startup_directory:
@@ -262,14 +261,18 @@
'absolute_url': self.genRefBrowserUrl(
portal_state.navigation_root_url())}]
else:
- # browsing is restricted, so only the last item is
- # interesting
- crumbs = crumbs[-1:]
+ # display only crumbs into startup directory
+ startup_dir_url = startup_directory or \
+ utils.getStartupDirectory(context,
+ self.widget.getStartupDirectory(context, self.field))
newcrumbs = []
+ crumbs = [c for c in crumbs \
+ if c['absolute_url'].startswith(startup_dir_url)]
+
for c in crumbs:
c['absolute_url'] = self.genRefBrowserUrl(c['absolute_url'])
newcrumbs.append(c)
-
+
return newcrumbs
def genRefBrowserUrl(self, urlbase):
Modified: MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/tests/test_product.py
==============================================================================
--- MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/tests/test_product.py (original)
+++ MoreFieldsAndWidgets/archetypes.referencebrowserwidget/trunk/src/archetypes/referencebrowserwidget/tests/test_product.py Wed Dec 8 00:37:37 2010
@@ -339,7 +339,8 @@
widget.restrict_browsing_to_startup_directory = 1
popup = self._getPopup(obj=self.portal.layer1.layer2)
- bc = popup.breadcrumbs(widget)
+ widget.startup_directory = 'layer1/layer2'
+ bc = popup.breadcrumbs()
self.assertEqual(len(bc), 1)
self.assertEqual(bc[0]['Title'], 'Layer2')
------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d