[Checkins] SVN: Products.CMFCalendar/trunk/Products/CMFCalendar/ - finished converting tools into local utilities
Yvo Schubbe
y.2011 at wcm-solutions.de
Mon Sep 26 03:50:57 EST 2011
Log message for revision 122939:
- finished converting tools into local utilities
Changed:
U Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt
U Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py
UU Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py
A Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml
U Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py
UU Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py
UU Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py
UU Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py
-=-
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/CHANGES.txt 2011-09-26 08:50:57 UTC (rev 122939)
@@ -4,6 +4,8 @@
2.3.0-alpha (unreleased)
------------------------
+- Converted the CalendarTool into a local utility.
+
- Made sure converted tools are used as utilities.
- Fixed tests to be compatibility with DateTime 3.
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/CalendarTool.py 2011-09-26 08:50:57 UTC (rev 122939)
@@ -26,6 +26,7 @@
from Products.CMFCalendar.interfaces import ICalendarTool
from Products.CMFCalendar.permissions import ManagePortal
from Products.CMFCore.interfaces import ICatalogTool
+from Products.CMFCore.utils import registerToolInterface
from Products.CMFCore.utils import UniqueObject
def sort_by_date(x, y):
@@ -35,7 +36,7 @@
if not z:
return cmp(x.end, y.end)
return z
-
+
def unique_results(results):
""" Utility function to create a sequence of unique calendar results
"""
@@ -45,7 +46,7 @@
return rids.values()
-class CalendarTool (UniqueObject, SimpleItem):
+class CalendarTool(UniqueObject, SimpleItem):
""" A tool for encapsulating how calendars work and are displayed """
@@ -67,25 +68,19 @@
#
# ZMI methods
#
- security.declareProtected( ManagePortal, 'manage_overview' )
+ security.declareProtected(ManagePortal, 'manage_overview')
manage_overview = PageTemplateFile('www/explainCalendarTool', globals(),
__name__='manage_overview')
- security.declareProtected( ManagePortal, 'manage_configure' )
+ security.declareProtected(ManagePortal, 'manage_configure')
manage_configure = PageTemplateFile('www/configureCalendarTool', globals(),
__name__='manage_configure')
- security.declareProtected( ManagePortal, 'edit_configuration' )
- def edit_configuration( self
- , show_types
- , use_session
- , show_states=None
- , firstweekday=None
- ):
+ security.declareProtected(ManagePortal, 'edit_configuration')
+ def edit_configuration(self, show_types, use_session, show_states=None,
+ firstweekday=None, REQUEST=None):
""" Change the configuration of the calendar tool
"""
- # XXX: this method violates the rules for tools/utilities:
- # it depends on self.REQUEST
self.calendar_types = tuple(show_types)
self.use_session = bool(use_session)
@@ -103,8 +98,8 @@
# Do nothing with illegal values
pass
- if hasattr(self.REQUEST, 'RESPONSE'):
- self.REQUEST.RESPONSE.redirect('manage_configure')
+ if REQUEST is not None:
+ REQUEST.RESPONSE.redirect('manage_configure')
security.declarePrivate('_getCalendar')
def _getCalendar(self):
@@ -367,7 +362,7 @@
end = DateTime('%d/%02d/%02d 23:59:59' % (year, month, day))
return (begin, end)
-
+
security.declarePublic('getNextEvent')
def getNextEvent(self, start_date=None):
""" Get the next event that starts after start_date
@@ -390,3 +385,4 @@
return results[0]
InitializeClass(CalendarTool)
+registerToolInterface('portal_calendar', ICalendarTool)
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py 2011-09-26 08:50:57 UTC (rev 122939)
@@ -11,12 +11,12 @@
#
##############################################################################
"""Browser views for the portal calendar.
-
-$Id$
"""
from DateTime.DateTime import DateTime
+from zope.component import getUtility
+from Products.CMFCalendar.interfaces import ICalendarTool
from Products.CMFDefault.browser.utils import decode
from Products.CMFDefault.browser.utils import memoize
from Products.CMFDefault.browser.utils import ViewBase
@@ -34,7 +34,7 @@
"""
day = self.viewDay()
event_start = event_brain.getObject().start()
- first_date = DateTime(day.Date()+" 00:00:00")
+ first_date = DateTime(day.Date() + " 00:00:00")
if event_start < first_date:
return event_start.aCommon()[:12]
@@ -46,7 +46,7 @@
"""
day = self.viewDay()
event_end = event_brain.getObject().end()
- last_date = DateTime(day.Date()+" 23:59:59")
+ last_date = DateTime(day.Date() + " 23:59:59")
if event_end > last_date:
return event_end.aCommon()[:12]
@@ -76,7 +76,7 @@
day = self.viewDay()
view_url = self._getViewURL()
- return '%s?date=%s' % (view_url, (day-1).Date())
+ return '%s?date=%s' % (view_url, (day - 1).Date())
@memoize
def nextDayURL(self):
@@ -85,14 +85,14 @@
day = self.viewDay()
view_url = self._getViewURL()
- return '%s?date=%s' % (view_url, (day+1).Date())
+ return '%s?date=%s' % (view_url, (day + 1).Date())
@memoize
@decode
def listItemInfos(self):
""" List item infos for all event catalog records for a specific day.
"""
- caltool = self._getTool('portal_calendar')
+ caltool = getUtility(ICalendarTool)
thisDay = self.viewDay()
items = [ {'title': item.Title,
@@ -112,7 +112,7 @@
def getMonthAndYear(self):
""" Retrieve month/year tuple
"""
- caltool = self._getTool('portal_calendar')
+ caltool = getUtility(ICalendarTool)
current = DateTime()
session = None
@@ -146,10 +146,10 @@
def getNextMonthLink(self, base_url, month, year):
""" Return URL for the next month link
"""
- caltool = self._getTool('portal_calendar')
+ caltool = getUtility(ICalendarTool)
nextMonthTime = caltool.getNextMonth(month, year)
- x = '%s?month:int=%d&year:int=%d' % ( base_url
+ x = '%s?month:int=%d&year:int=%d' % (base_url
, nextMonthTime.month()
, nextMonthTime.year()
)
@@ -159,10 +159,10 @@
def getPreviousMonthLink(self, base_url, month, year):
""" Return URL for the previous month link
"""
- caltool = self._getTool('portal_calendar')
+ caltool = getUtility(ICalendarTool)
prevMonthTime = caltool.getPreviousMonth(month, year)
- x = '%s?month:int=%d&year:int=%d' % ( base_url
+ x = '%s?month:int=%d&year:int=%d' % (base_url
, prevMonthTime.month()
, prevMonthTime.year()
)
@@ -174,9 +174,9 @@
"""
current = DateTime()
- if ( current.year()==year and
- current.month()==month and
- current.day()==int(day) ):
+ if (current.year() == year and
+ current.month() == month and
+ current.day() == int(day)):
if event:
return 'todayevent'
else:
Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/browser/calendartool.py
___________________________________________________________________
Deleted: svn:keywords
- Id
Added: Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml (rev 0)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml 2011-09-26 08:50:57 UTC (rev 122939)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<componentregistry>
+ <adapters/>
+ <subscribers/>
+ <utilities>
+ <utility interface="Products.CMFCalendar.interfaces.ICalendarTool"
+ object="portal_calendar"/>
+ </utilities>
+</componentregistry>
Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/profiles/default/componentregistry.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/calendar_day_view.py 2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,16 +1,16 @@
##parameters=
##
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFDefault.utils import decode
-caltool = getToolByName(script, 'portal_calendar')
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
options = {}
base_url = script.absolute_url()
thisDay = DateTime(context.REQUEST.get('date', DateTime().aCommon()[:12]))
-options['previous_url'] = '%s?date=%s' % (base_url, (thisDay-1).Date())
+options['previous_url'] = '%s?date=%s' % (base_url, (thisDay - 1).Date())
options['date'] = thisDay.aCommon()[:12]
-options['next_url'] = '%s?date=%s' % (base_url, (thisDay+1).Date())
+options['next_url'] = '%s?date=%s' % (base_url, (thisDay + 1).Date())
items = [ {'title': item.Title,
'url': item.getURL(),
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py 2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,9 +1,9 @@
-
+##parameters=
+##
# Get the year and month that the calendar should display.
+from Products.CMFCore.utils import getUtilityByInterfaceName
-from Products.CMFCore.utils import getToolByName
-
-caltool = getToolByName(script, 'portal_calendar')
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
current = DateTime()
session = None
Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getMonthAndYear.py
___________________________________________________________________
Deleted: svn:keywords
- Author Date Id Revision
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py 2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,6 +1,9 @@
##parameters=base_url, month, year
+##
+from Products.CMFCore.utils import getUtilityByInterfaceName
-nextMonthTime = container.portal_calendar.getNextMonth(month, year)
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
+nextMonthTime = caltool.getNextMonth(month, year)
# Takes a base url and returns a link to the previous month
x = '%s?month:int=%d&year:int=%d' % (
@@ -9,4 +12,4 @@
nextMonthTime.year()
)
-return x
\ No newline at end of file
+return x
Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getNextMonthLink.py
___________________________________________________________________
Deleted: svn:keywords
- Author Date Id Revision
Modified: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py
===================================================================
--- Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py 2011-09-26 08:08:38 UTC (rev 122938)
+++ Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py 2011-09-26 08:50:57 UTC (rev 122939)
@@ -1,6 +1,9 @@
##parameters=base_url, month, year
+##
+from Products.CMFCore.utils import getUtilityByInterfaceName
-prevMonthTime = container.portal_calendar.getPreviousMonth(month, year)
+caltool = getUtilityByInterfaceName('Products.CMFCalendar.interfaces.ICalendarTool')
+prevMonthTime = caltool.getPreviousMonth(month, year)
# Takes a base url and returns a link to the previous month
x = '%s?month:int=%d&year:int=%d' % (
@@ -9,4 +12,4 @@
prevMonthTime.year()
)
-return x
\ No newline at end of file
+return x
Property changes on: Products.CMFCalendar/trunk/Products/CMFCalendar/skins/zpt_calendar/getPreviousMonthLink.py
___________________________________________________________________
Deleted: svn:keywords
- Author Date Id Revision
More information about the checkins
mailing list