[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - converted two more tools
Yvo Schubbe
y.2011 at wcm-solutions.de
Wed Sep 14 07:31:04 EST 2011
Log message for revision 122805:
- converted two more tools
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
UU Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/content/favorite.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/content/rss.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/metadata.txt
U Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/authentication.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_members.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py
U Products.CMFDefault/trunk/Products/CMFDefault/browser/utils.py
U Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml
UU Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/logout.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/setRedirect.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/RSS.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/breadcrumbs.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/discussion_reply_form.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/expanded_title.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_contents.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_rename_form.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/getMainGlobals.py
UU Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/get_permalink.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/logged_in.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_delete_form.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py
UU Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_email.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_form.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/recent_news.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/reconfig_form.py
UU Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/registered_email.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search.py
U Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py
U Products.CMFDefault/trunk/Products/CMFDefault/tests/RegistrationTool.txt
U Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt 2011-09-14 12:31:04 UTC (rev 122805)
@@ -5,8 +5,8 @@
------------------------
- tools: Converted several tools into utilities.
- CookieCrumbler, MemberDataTool, MembershipTool and RegistrationTool are now
- local utilities.
+ ActionsTool, CookieCrumbler, MemberDataTool, MembershipTool, RegistrationTool
+ and URLTool are now local utilities.
- skins and browser views: setRedirect now checks Action conditions.
Modified: Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -11,8 +11,6 @@
#
##############################################################################
""" Favorites are references to other objects within the same CMF site.
-
-$Id$
"""
import urlparse
@@ -27,6 +25,7 @@
from zope.interface import implements
from Products.CMFCore.interfaces import ISiteRoot
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.DublinCore import DefaultDublinCoreImpl
from Products.CMFDefault.interfaces import IFavorite
@@ -111,11 +110,11 @@
def _getRemoteUrlTheOldWay(self):
"""Build the url without having taking the uid into account
"""
- portal_url = getToolByName(self, 'portal_url')
+ utool = getUtility(IURLTool)
if self.remote_url:
- return portal_url() + '/' + self.remote_url
+ return utool() + '/' + self.remote_url
else:
- return portal_url()
+ return utool()
security.declareProtected(View, 'getIconURL')
def getIconURL(self):
@@ -126,7 +125,7 @@
try:
return self.getObject().getIconURL()
except KeyError:
- utool = getToolByName(self, 'portal_url')
+ utool = getUtility(IURLTool)
return '%s/p_/broken' % utool()
security.declareProtected(View, 'getObject')
@@ -138,9 +137,8 @@
if remote_obj is not None:
return remote_obj
- # XXX: can't use ISiteRoot because absolute_url() depends on REQUEST
- portal_url = getToolByName(self, 'portal_url')
- return portal_url.getPortalObject().restrictedTraverse(self.remote_url)
+ utool = getUtility(IURLTool)
+ return utool.getPortalObject().restrictedTraverse(self.remote_url)
security.declarePrivate('_edit')
def _edit( self, remote_url ):
@@ -155,7 +153,7 @@
t=('', '') + tokens[2:]
remote_url=urlparse.urlunparse(t)
# if URL begins with site URL, remove site URL
- portal_url = getToolByName(self, 'portal_url').getPortalPath()
+ portal_url = getUtility(IURLTool).getPortalPath()
i = remote_url.find(portal_url)
if i==0:
remote_url=remote_url[len(portal_url):]
Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/Favorite.py
___________________________________________________________________
Deleted: svn:keywords
- Id
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/admin/tests/test_syndication.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -20,9 +20,11 @@
from zope.interface import alsoProvides
from zope.testing.cleanup import cleanUp
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import IFolderish
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import ISyndicationInfo
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.tests.base.dummy import DummyFolder
from Products.CMFCore.tests.base.dummy import DummySite
from Products.CMFCore.tests.base.dummy import DummyTool
@@ -51,9 +53,10 @@
"""Setup a site"""
self.site = site = DummySite('site')
site.portal_syndication = DummySyndicationTool()
- site._setObject('portal_actions', DummyTool())
- site._setObject('portal_url', DummyTool())
- getSiteManager().registerUtility(DummyTool(), IMembershipTool)
+ sm = getSiteManager()
+ sm.registerUtility(DummyTool(), IActionsTool)
+ sm.registerUtility(DummyTool(), IMembershipTool)
+ sm.registerUtility(DummyTool().__of__(self.site), IURLTool)
def tearDown(self):
cleanUp()
@@ -118,13 +121,13 @@
"""Setup a site"""
from Products.CMFDefault.SyndicationInfo import SyndicationInfo
- self.site = site = DummySite('site')
+ self.site = DummySite('site')
+ self.site.portal_syndication = DummySyndicationTool()
sm = getSiteManager()
sm.registerAdapter(SyndicationInfo, [IFolderish], ISyndicationInfo)
- site.portal_syndication = DummySyndicationTool()
- site._setObject('portal_actions', DummyTool())
- site._setObject('portal_url', DummyTool())
+ sm.registerUtility(DummyTool(), IActionsTool)
sm.registerUtility(DummyTool(), IMembershipTool)
+ sm.registerUtility(DummyTool().__of__(self.site), IURLTool)
def tearDown(self):
cleanUp()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/favorite.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/favorite.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/favorite.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -16,6 +16,7 @@
import urlparse
from zope.component import adapts
+from zope.component import getUtility
from zope.formlib import form
from zope.formlib.widgets import BytesWidget
from zope.interface import implements
@@ -25,7 +26,7 @@
from zope.schema import Text
from zope.schema import TextLine
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFDefault.formlib.form import ContentAddFormBase
from Products.CMFDefault.formlib.form import ContentEditFormBase
from Products.CMFDefault.formlib.schema import ProxyFieldProperty
@@ -98,9 +99,7 @@
tokens = ('', '') + tokens[2:]
value = urlparse.urlunparse(tokens)
# if URL begins with site URL, remove site URL
- context = getattr(self.context.context, 'context',
- self.context.context)
- portal_url = getToolByName(context, 'portal_url').getPortalPath()
+ portal_url = getUtility(IURLTool).getPortalPath()
if value.startswith(portal_url):
value = value[len(portal_url):]
# if site is still absolute, make it relative
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/rss.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/rss.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/rss.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -12,12 +12,13 @@
##############################################################################
"""RSS view for syndicatable items"""
-from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from zope.component import getAdapter
+from zope.component import getUtility
from zope.sequencesort.ssort import sort
from ZTUtils import LazyFilter
from Products.CMFCore.interfaces import ISyndicationInfo
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFDefault.browser.utils import decode
from Products.CMFDefault.browser.utils import memoize
from Products.CMFDefault.browser.utils import ViewBase
@@ -64,6 +65,6 @@
'period': self.synd_info['period'],
'title': self.context.Title(),
'description': self.context.Description(),
- 'portal_url': self._getTool('portal_url')()
+ 'portal_url': getUtility(IURLTool)()
}
return info
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/metadata.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/metadata.txt 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/metadata.txt 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,8 +1,11 @@
Metadata Views
--------------
-Set up content and user.
+Set up site, content and user.
+ >>> from zope.site.hooks import setSite
+ >>> setSite(app.site)
+
>>> from Products.CMFDefault.Document import Document
>>> id = app.site._setObject('myContent', Document('myContent'))
>>> app.site.myContent._setPortalTypeName('Document')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -23,6 +23,7 @@
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import IPropertiesTool
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.PortalFolder import PortalFolder
from Products.CMFCore.tests.base.dummy import DummyContent
from Products.CMFCore.tests.base.dummy import DummySite
@@ -42,8 +43,8 @@
sm = getSiteManager()
sm.registerUtility(DummyTool(), IMembershipTool)
sm.registerUtility(DummyTool().__of__(site), IPropertiesTool)
+ sm.registerUtility(DummyTool().__of__(site), IURLTool)
site._setObject('portal_types', DummyTool())
- site._setObject('portal_url', DummyTool())
folder = PortalFolder('test_folder')
self.folder = site._setObject('test_folder', folder)
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/authentication.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/authentication.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/authentication.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -35,10 +35,10 @@
from Products.CMFCore.CookieCrumbler import ATTEMPT_LOGIN
from Products.CMFCore.CookieCrumbler import ATTEMPT_NONE
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import ICookieCrumbler
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import IRegistrationTool
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.browser.utils import ViewBase, memoize
from Products.CMFDefault.formlib.form import EditFormBase
from Products.CMFDefault.utils import Message as _
@@ -62,10 +62,14 @@
forbidden_template = ViewPageTemplateFile('forbidden.pt')
def __call__(self):
+ atool = queryUtility(IActionsTool)
+ if atool is None:
+ # re-raise the unhandled exception
+ raise self.context
+
try:
- atool = getToolByName(self, 'portal_actions')
target = atool.getActionInfo('user/login')['url']
- except (AttributeError, ValueError):
+ except ValueError:
# re-raise the unhandled exception
raise self.context
@@ -218,7 +222,7 @@
def first_login(self, member):
"""First time login, reset password"""
- atool = self._getTool('portal_actions')
+ atool = getUtility(IActionsTool)
now = DateTime()
member.setProperties(last_login_time='1999/01/01', login_time=now)
target = atool.getActionInfo('user/change_password')['url']
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/join.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -23,6 +23,7 @@
from zope.schema import Bool
from zope.schema import Password
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import IPropertiesTool
from Products.CMFCore.interfaces import IRegistrationTool
@@ -121,7 +122,7 @@
return _(u'Become a Member')
def personalize(self):
- atool = self._getTool('portal_actions')
+ atool = getUtility(IActionsTool)
return atool.getActionInfo("user/preferences")['url']
def handle_register_validate(self, action, data):
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_members.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_members.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/membership/tests/test_members.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -21,7 +21,9 @@
from zope.publisher.interfaces.browser import IBrowserPublisher
from zope.testing.cleanup import cleanUp
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import IMembershipTool
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.tests.base.dummy import DummySite
from Products.CMFCore.tests.base.dummy import DummyTool
from Products.CMFCore.tests.base.dummy import DummyUser
@@ -66,11 +68,12 @@
def setUp(self):
"""Setup a site"""
- self.site = site = DummySite('site')
+ self.site = DummySite('site')
self.mtool = DummyMemberTool()
- getSiteManager().registerUtility(self.mtool, IMembershipTool)
- site._setObject('portal_actions', DummyTool())
- site._setObject('portal_url', DummyTool())
+ sm = getSiteManager()
+ sm.registerUtility(DummyTool(), IActionsTool)
+ sm.registerUtility(self.mtool, IMembershipTool)
+ sm.registerUtility(DummyTool().__of__(self.site), IURLTool)
def tearDown(self):
cleanUp()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -17,16 +17,15 @@
LOG = getLogger("Action Icons CSS")
+from Products.Five import BrowserView
from zope.component import getUtility
-from Products.Five.browser import BrowserView
-
-from Products.CMFCore.interfaces import IPropertiesTool
from Products.CMFCore.Expression import getExprContext
-from Products.CMFCore.utils import getToolByName
-
+from Products.CMFCore.interfaces import IActionsTool
+from Products.CMFCore.interfaces import IPropertiesTool
from Products.CMFDefault.browser.utils import memoize, ViewBase
+
class View(ViewBase):
"""
CSS that dynamically checks whether Action Icons are can be used.
@@ -44,7 +43,7 @@
@memoize
def _show_icons(self):
"""Are action icons enabled?"""
- ptool = self._getTool('portal_properties')
+ ptool = getUtility(IPropertiesTool)
show = ptool.getProperty('enable_actionicons', False)
if show:
self.icon = ".icon {padding-left: 1.5em;}\n\n"
@@ -64,7 +63,7 @@
@memoize
def actions(self):
"""List all action icons"""
- atool = self._getTool('portal_actions')
+ atool = getUtility(IActionsTool)
all_actions = atool.listFilteredActionsFor(self.context)
icons = []
for cat in ['user', 'object', 'folder', 'workflow', 'global']:
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -14,13 +14,16 @@
"""
import unittest
+
+from Acquisition import Implicit
from zope.component.testing import PlacelessSetup
+from zope.globalrequest import setRequest
from .test_ursa import DummyActionsTool
-from .test_ursa import DummyContext
from .test_ursa import DummyPropertiesTool
-from .test_ursa import DummyRequest
+from .test_ursa import DummyResponse
from .test_ursa import DummyURLTool
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import IMembershipTool
@@ -40,6 +43,7 @@
if site is None:
site = self._makeSite()
request = DummyRequest()
+ setRequest(request)
return self._getTargetClass()(site, request)
def _makeSite(self, types=None, actions=None):
@@ -54,7 +58,7 @@
site.portal_url = DummyURLTool(site)
sm.registerUtility(DummyMembershipTool(), IMembershipTool)
if actions is not None:
- site.portal_actions = DummyActionsTool(actions)
+ sm.registerUtility(DummyActionsTool(actions), IActionsTool)
site.absolute_url = lambda: 'http://example.com'
return site
@@ -162,6 +166,20 @@
.Undo {background: url(Undo.png) no-repeat 0.1em}""")
+class DummyContext(Implicit):
+
+ pass
+
+
+class DummyRequest:
+
+ def __init__(self):
+ self.RESPONSE = DummyResponse()
+
+ def get(self, key, default=None):
+ return {}
+
+
class DummyType:
def __init__(self, id):
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -18,8 +18,10 @@
from zope.component import getSiteManager
from zope.component.testing import PlacelessSetup
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import IPropertiesTool
+from Products.CMFCore.interfaces import IURLTool
class UrsineGlobalsTests(unittest.TestCase, PlacelessSetup):
@@ -54,7 +56,7 @@
context = self._makeContext()
request = DummyRequest()
response = request.RESPONSE
- view = self._makeOne(context, request)
+ self._makeOne(context, request)
self.assertEqual(len(response._set_headers), 0)
def test_ctor_w_resp_charset_doesnt_set_content_type(self):
@@ -62,7 +64,7 @@
request = DummyRequest()
response = request.RESPONSE
response._orig_headers['content-type'] = 'text/html; charset=UTF-8'
- view = self._makeOne(context, request)
+ self._makeOne(context, request)
self.assertEqual(len(response._set_headers), 0)
def test_ctor_w_resp_charset_w_def_charset_doesnt_override_charset(self):
@@ -71,7 +73,7 @@
request = DummyRequest()
response = request.RESPONSE
response._orig_headers['content-type'] = 'text/html; charset=UTF-8'
- view = self._makeOne(context, request)
+ self._makeOne(context, request)
self.assertEqual(len(response._set_headers), 0)
def test_ctor_wo_resp_charst_w_def_charset_sets_charset(self):
@@ -80,7 +82,7 @@
request = DummyRequest()
response = request.RESPONSE
response._orig_headers['content-type'] = 'text/html'
- view = self._makeOne(context, request)
+ self._makeOne(context, request)
self.assertEqual(len(response._set_headers), 1)
self.assertEqual(response._set_headers[0],
('content-type', 'text/html; charset=latin1'))
@@ -92,7 +94,8 @@
def test_utool(self):
view = self._makeOne()
- tool = view.context.portal_url = DummyURLTool()
+ tool = DummyURLTool()
+ getSiteManager().registerUtility(tool, IURLTool)
self.failUnless(view.utool is tool)
def test_mtool(self):
@@ -102,7 +105,8 @@
def test_atool(self):
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool()
+ tool = DummyActionsTool()
+ getSiteManager().registerUtility(tool, IActionsTool)
self.failUnless(view.atool is tool)
def test_wtool(self):
@@ -145,23 +149,26 @@
def test_portal_object(self):
view = self._makeOne()
- tool = view.context.portal_url = DummyURLTool()
portal = DummyContext()
+ tool = DummyURLTool()
tool.getPortalObject = lambda: portal
+ getSiteManager().registerUtility(tool, IURLTool)
self.failUnless(view.portal_object is portal)
def test_portal_url(self):
view = self._makeOne()
- tool = view.context.portal_url = DummyURLTool()
+ tool = DummyURLTool()
tool.__call__ = lambda: 'http://example.com/'
+ getSiteManager().registerUtility(tool, IURLTool)
self.assertEqual(view.portal_url, 'http://example.com/')
def test_portal_title(self):
view = self._makeOne()
- tool = view.context.portal_url = DummyURLTool()
portal = DummyContext()
portal.Title = lambda: 'TITLE'
+ tool = DummyURLTool()
tool.getPortalObject = lambda: portal
+ getSiteManager().registerUtility(tool, IURLTool)
self.assertEqual(view.portal_title, 'TITLE')
def test_object_title(self):
@@ -212,19 +219,21 @@
def test_page_title_wo_match(self):
view = self._makeOne()
view.context.Title = lambda: 'CONTEXT'
- tool = view.context.portal_url = DummyURLTool()
portal = DummyContext()
portal.Title = lambda: 'SITE'
+ tool = DummyURLTool()
tool.getPortalObject = lambda: portal
+ getSiteManager().registerUtility(tool, IURLTool)
self.assertEqual(view.page_title, 'SITE: CONTEXT')
def test_page_title_w_match(self):
view = self._makeOne()
view.context.Title = lambda: 'MATCH'
- tool = view.context.portal_url = DummyURLTool()
portal = DummyContext()
portal.Title = lambda: 'MATCH'
+ tool = DummyURLTool()
tool.getPortalObject = lambda: portal
+ getSiteManager().registerUtility(tool, IURLTool)
self.assertEqual(view.page_title, 'MATCH')
def test_breadcrumbs_at_root(self):
@@ -236,6 +245,7 @@
ptool.title = lambda: 'SITE'
utool = site.portal_url = DummyURLTool(site, PATHS_TO_CONTEXTS)
utool.__call__ = lambda: 'http://example.com/'
+ sm.registerUtility(utool, IURLTool)
view = self._makeOne(context=site)
crumbs = view.breadcrumbs
self.assertEqual(len(crumbs), 1)
@@ -260,6 +270,7 @@
ptool.title = lambda: 'SITE'
utool = context.portal_url = DummyURLTool(site, PATHS_TO_CONTEXTS)
utool.__call__ = lambda: 'http://example.com/'
+ sm.registerUtility(utool, IURLTool)
view = self._makeOne(context=context)
@@ -345,7 +356,8 @@
'workflow': [],
}
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool(ACTIONS)
+ tool = DummyActionsTool(ACTIONS)
+ getSiteManager().registerUtility(tool, IActionsTool)
self.assertEqual(view.actions, ACTIONS)
def test_global_actions(self):
@@ -356,7 +368,8 @@
'workflow': [],
}
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool(ACTIONS)
+ tool = DummyActionsTool(ACTIONS)
+ getSiteManager().registerUtility(tool, IActionsTool)
self.assertEqual(view.global_actions, ACTIONS['global'])
def test_user_actions(self):
@@ -367,7 +380,8 @@
'workflow': [],
}
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool(ACTIONS)
+ tool = DummyActionsTool(ACTIONS)
+ getSiteManager().registerUtility(tool, IActionsTool)
self.assertEqual(view.user_actions, ACTIONS['user'])
def test_object_actions(self):
@@ -378,7 +392,8 @@
'workflow': [],
}
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool(ACTIONS)
+ tool = DummyActionsTool(ACTIONS)
+ getSiteManager().registerUtility(tool, IActionsTool)
self.assertEqual(view.object_actions, ACTIONS['object'])
def test_folder_actions(self):
@@ -389,7 +404,8 @@
'workflow': [],
}
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool(ACTIONS)
+ tool = DummyActionsTool(ACTIONS)
+ getSiteManager().registerUtility(tool, IActionsTool)
self.assertEqual(view.folder_actions, ACTIONS['folder'])
def test_workflow_actions(self):
@@ -400,7 +416,8 @@
'workflow': [DummyAction('a'), DummyAction('b')],
}
view = self._makeOne()
- tool = view.context.portal_actions = DummyActionsTool(ACTIONS)
+ tool = DummyActionsTool(ACTIONS)
+ getSiteManager().registerUtility(tool, IActionsTool)
self.assertEqual(view.workflow_actions, ACTIONS['workflow'])
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -15,8 +15,10 @@
from zope.component import getUtility
+from Products.CMFCore.interfaces import IActionsTool
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import IPropertiesTool
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.browser.utils import memoize
from Products.CMFDefault.browser.utils import ViewBase
@@ -48,7 +50,7 @@
@property
@memoize
def utool(self):
- return self._getTool('portal_url')
+ return getUtility(IURLTool)
@property
@memoize
@@ -58,7 +60,7 @@
@property
@memoize
def atool(self):
- return self._getTool('portal_actions')
+ return getUtility(IActionsTool)
@property
@memoize
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/utils.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/utils.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/utils.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -20,6 +20,7 @@
from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import IPropertiesTool
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.permissions import View
from Products.CMFDefault.utils import getBrowserCharset
@@ -75,7 +76,7 @@
@memoize
def _getPortalURL(self):
- utool = self._getTool('portal_url')
+ utool = getUtility(IURLTool)
return utool()
@memoize
Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml 2011-09-14 12:31:04 UTC (rev 122805)
@@ -3,6 +3,8 @@
<adapters/>
<subscribers/>
<utilities>
+ <utility interface="Products.CMFCore.interfaces.IActionsTool"
+ object="portal_actions"/>
<utility interface="Products.CMFCore.interfaces.ICookieCrumbler"
object="cookie_authentication"/>
<utility interface="Products.CMFCore.interfaces.IDiscussionTool"
@@ -22,6 +24,8 @@
object="portal_syndication"/>
<utility interface="Products.CMFCore.interfaces.IUndoTool"
object="portal_undo"/>
+ <utility interface="Products.CMFCore.interfaces.IURLTool"
+ object="portal_url"/>
<utility interface="Products.GenericSetup.interfaces.ISetupTool"
object="portal_setup"/>
<utility interface="Products.MailHost.interfaces.IMailHost"
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/logout.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/logout.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/logout.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -5,7 +5,7 @@
from Products.CMFCore.utils import getUtilityByInterfaceName
stool = getToolByName(context, 'portal_skins')
-utool = getToolByName(context, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
REQUEST = context.REQUEST
stool.clearSkinCookie()
Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/logout.py
___________________________________________________________________
Deleted: svn:keywords
- Author Date Id Revision
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/setRedirect.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/setRedirect.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_control/setRedirect.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,11 +1,11 @@
##parameters=provider, action_path, **kw
##
from ZTUtils import make_query
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.exceptions import zExceptions_Unauthorized
from Products.CMFDefault.utils import getBrowserCharset
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/RSS.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/RSS.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/RSS.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -3,11 +3,10 @@
from ZTUtils import Batch
from ZTUtils import LazyFilter
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.utils import decode
-utool = getToolByName(script, 'portal_url')
stool = getUtilityByInterfaceName('Products.CMFCore.interfaces.ISyndicationTool')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
if not stool.isSyndicationAllowed(context):
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/breadcrumbs.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/breadcrumbs.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/breadcrumbs.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -2,11 +2,10 @@
##title=Return breadcrumbs
##
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.utils import Message as _
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
result = []
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/discussion_reply_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/discussion_reply_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/discussion_reply_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,12 +1,12 @@
##parameters=add='', edit='', preview=''
##
from Products.PythonScripts.standard import structured_text
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import html_marshal
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
form = context.REQUEST.form
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/expanded_title.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/expanded_title.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/expanded_title.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -2,10 +2,10 @@
##parameters=
##title=Build title which includes site title
##
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
site_title = utool.getPortalObject().Title()
page_title = context.Title()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_contents.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_contents.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_contents.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -2,7 +2,6 @@
##
from ZTUtils import Batch
from ZTUtils import make_query
-from Products.CMFCore.utils import getToolByName
from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.permissions import AddPortalContent
from Products.CMFDefault.permissions import DeleteObjects
@@ -14,7 +13,7 @@
from Products.CMFDefault.utils import Message as _
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_rename_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_rename_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/folder_rename_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,11 +1,11 @@
##parameters=b_start=0, key='', reverse=0, ids=(), new_ids=(), rename='', cancel=''
##
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import html_marshal
from Products.CMFDefault.utils import Message as _
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/getMainGlobals.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/getMainGlobals.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/getMainGlobals.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -5,13 +5,17 @@
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import getBrowserCharset
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool',
+ # BBB: fallback for CMF 2.2 instances
+ getToolByName(script, 'portal_actions'))
caltool = getToolByName(script, 'portal_calendar', None)
-# BBB: fallback for CMF 2.2 instances
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool',
+ # BBB: fallback for CMF 2.2 instances
getToolByName(script, 'portal_membership'))
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool',
+ # BBB: fallback for CMF 2.2 instances
+ getToolByName(script, 'portal_url'))
wtool = getToolByName(script, 'portal_workflow')
uidtool = getToolByName(script, 'portal_uidhandler', None)
syndtool = getToolByName(script, 'portal_syndication', None)
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/get_permalink.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/get_permalink.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/get_permalink.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,9 +1,3 @@
-## Script (Python) "get_permalink"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
##parameters=
##title=Returns the permalink url or None
##
@@ -17,10 +11,10 @@
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
showPermalink = getattr(ptool, 'enable_permalink', None)
isFolderish = getattr(context.aq_explicit, 'isPrincipiaFolderish', None)
-
+
if showPermalink and not isFolderish:
# returns the uid (generates one if necessary)
- utool = getToolByName(context, 'portal_url')
+ utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
uid = uidtool.register(context)
url = "%s/permalink/%s" % (utool(), uid)
return url
Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/get_permalink.py
___________________________________________________________________
Deleted: svn:executable
- *
Deleted: svn:keywords
- Author Date Id Revision
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/join_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,15 +1,14 @@
##parameters=b_start=0, member_id='', member_email='', password='', confirm='', send_password='', add='', cancel=''
##
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.permissions import ManageUsers
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
validate_email = ptool.getProperty('validate_email')
is_anon = mtool.isAnonymousUser()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/logged_in.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/logged_in.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/logged_in.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -5,7 +5,7 @@
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
stool = getToolByName(script, 'portal_skins')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_delete_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_delete_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_delete_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,12 +1,11 @@
##parameters=ids, b_start=0, delete='', cancel=''
##
-from Products.CMFCore.utils import getToolByName
from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import html_marshal
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/members_manage_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,13 +1,12 @@
##parameters=b_start=0, ids=(), members_new='', members_delete=''
##
from ZTUtils import Batch
-from Products.CMFCore.utils import getToolByName
from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import html_marshal
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_email.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_email.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_email.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,14 +1,13 @@
##parameters=member=None, password='secret'
##
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import makeEmail
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_email.py
___________________________________________________________________
Deleted: svn:keywords
- Id
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/password_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,14 +1,13 @@
##parameters=change='', cancel=''
##
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
member = mtool.getAuthenticatedMember()
portal_url = utool()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/recent_news.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/recent_news.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/recent_news.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -3,10 +3,11 @@
from Products.PythonScripts.standard import structured_text
from ZTUtils import Batch
from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
ctool = getToolByName(script, 'portal_catalog')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/reconfig_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/reconfig_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/reconfig_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,11 +1,10 @@
##parameters=change=''
##
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/registered_email.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/registered_email.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/registered_email.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -1,14 +1,13 @@
##parameters=member=None, password='secret', email='foo at example.org'
##
from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import makeEmail
from Products.CMFDefault.utils import Message as _
-atool = getToolByName(script, 'portal_actions')
+atool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IActionsTool')
ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/registered_email.py
___________________________________________________________________
Deleted: svn:keywords
- Id
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -3,11 +3,12 @@
from Products.PythonScripts.standard import thousands_commas
from ZTUtils import Batch
from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
from Products.CMFDefault.utils import Message as _
ctool = getToolByName(script, 'portal_catalog')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
epoch = DateTime('1970/01/01 00:00:01 GMT')
Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -9,7 +9,7 @@
ctool = getToolByName(script, 'portal_catalog')
mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
ttool = getToolByName(script, 'portal_types')
-utool = getToolByName(script, 'portal_url')
+utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
portal_url = utool()
Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/RegistrationTool.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/RegistrationTool.txt 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/RegistrationTool.txt 2011-09-14 12:31:04 UTC (rev 122805)
@@ -28,10 +28,12 @@
>>> from zope.component import getSiteManager
>>> from zope.component import getUtility
+ >>> from zope.globalrequest import setRequest
>>> from zope.site.hooks import setSite
>>> from Products.CMFCore.interfaces import IMembershipTool
>>> from Products.MailHost.interfaces import IMailHost
>>> setSite(app.site)
+ >>> setRequest(app.REQUEST)
>>> app.site.setupCurrentSkin(app.REQUEST)
>>> sm = getSiteManager()
>>> sm.registerUtility(MailHost(), IMailHost)
Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -20,7 +20,9 @@
from zope.interface.verify import verifyClass
from zope.testing.cleanup import cleanUp
+from Products.CMFCore.interfaces import IMembershipTool
from Products.CMFCore.interfaces import ISiteRoot
+from Products.CMFCore.interfaces import IURLTool
from Products.CMFCore.testing import ConformsToContent
from Products.CMFCore.tests.base.dummy import DummyContent
from Products.CMFCore.tests.base.dummy import DummySite
@@ -38,11 +40,11 @@
return self._getTargetClass()(*args, **kw)
def setUp(self):
+ self.site = DummySite('site')
sm = getSiteManager()
- self.site = DummySite('site')
sm.registerUtility(self.site, ISiteRoot)
- self.site._setObject( 'portal_membership', DummyTool() )
- self.site._setObject( 'portal_url', DummyTool() )
+ sm.registerUtility(DummyTool(), IMembershipTool)
+ sm.registerUtility(DummyTool().__of__(self.site), IURLTool)
self.site._setObject( 'target', DummyContent() )
def tearDown(self):
@@ -60,7 +62,7 @@
verifyClass(IMutableLink, self._getTargetClass())
def test_Empty( self ):
- utool = self.site.portal_url
+ utool = getSiteManager().getUtility(IURLTool)
f = self.site._setObject('foo', self._makeOne('foo'))
self.assertEqual( f.getId(), 'foo' )
@@ -72,7 +74,7 @@
self.assertEqual( f.icon(), self.site.icon() )
def test_CtorArgs( self ):
- utool = self.site.portal_url
+ utool = getSiteManager().getUtility(IURLTool)
target = self.site.target
self.assertEqual( self._makeOne( 'foo'
, title='Title'
@@ -90,7 +92,7 @@
self.assertEqual( baz.icon(), target.icon() )
def test_edit( self ):
- utool = self.site.portal_url
+ utool = getSiteManager().getUtility(IURLTool)
target = self.site.target
f = self.site._setObject('foo', self._makeOne('foo'))
f.edit( 'target' )
@@ -100,7 +102,7 @@
self.assertEqual( f.icon(), target.icon() )
def test_editEmpty( self ):
- utool = self.site.portal_url
+ utool = getSiteManager().getUtility(IURLTool)
f = self.site._setObject('gnnn', self._makeOne('gnnn'))
f.edit( '' )
self.assertEqual( f.getObject(), self.site )
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py 2011-09-14 12:30:40 UTC (rev 122804)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py 2011-09-14 12:31:04 UTC (rev 122805)
@@ -264,9 +264,11 @@
_TOOL_UTILITIES = (
('cookie_authentication', 'Products.CMFCore.interfaces.ICookieCrumbler'),
+ ('portal_actions', 'Products.CMFCore.interfaces.IActionsTool'),
('portal_memberdata', 'Products.CMFCore.interfaces.IMemberDataTool'),
('portal_membership', 'Products.CMFCore.interfaces.IMembershipTool'),
('portal_registration', 'Products.CMFCore.interfaces.IRegistrationTool'),
+ ('portal_url', 'Products.CMFCore.interfaces.IURLTool'),
)
def check_root_site_manager(tool):
More information about the checkins
mailing list