[Z3lab-checkins] r2922 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 12:00:47 2006 New Revision: 2922 Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py CPSSkins4Five/trunk/site.py Log: - correctly register the site Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py == --- CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py(original) +++ CPSSkins4Five/trunk/CPSSkinsSiteInstaller.pyFri Apr 21 12:00:47 2006 @@ -18,16 +18,23 @@ __docformat__ = reStructuredText +# zope2 import Globals - from OFS.SimpleItem import SimpleItem -from Products.CPSSkins4Five.site import CPSSkinsSite +# five +from Products.Five.component import enableSite + +# zope3 +from zope.app.component.hooks import setSite + + +# CPSSkins4Five +from Products.CPSSkins4Five.site import CPSSkinsSite manage_addInstaller = Globals.DTMLFile('zmi/addCPSSkinsSiteForm', globals()) class Installer(SimpleItem): - meta_type = 'CPSSkins v3 Site Installer' Globals.InitializeClass(Installer) @@ -37,8 +44,16 @@ container = dispatcher.Destination() -ob = CPSSkinsSite(id) -container._setObject(id, ob) +# create the site +site = CPSSkinsSite(id) +container._setObject(id, site) + +# enable the site in zope2 / zope3 +enableSite(site) +setSite(site) + +# TODO +sm = site.getSiteManager() if REQUEST is not None: url = dispatcher.DestinationURL() Modified: CPSSkins4Five/trunk/site.py == --- CPSSkins4Five/trunk/site.py (original) +++ CPSSkins4Five/trunk/site.py Fri Apr 21 12:00:47 2006 @@ -18,9 +18,21 @@ __docformat__ = reStructuredText +#zope2 from OFS.Folder import Folder +from Acquisition import Implicit + +# zope3 +from zope.component.interfaces import IComponentLookup +from zope.interface import implementsOnly, Interface + +class ICPSSkinsSite(Interface): +pass class CPSSkinsSite(Folder): A CPSSkins v3 site meta_type = portal_type = CPSSkins v3 Site + +implementsOnly(ICPSSkinsSite) + -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2923 - azax/branches/plugin
Author: bree Date: Fri Apr 21 13:40:50 2006 New Revision: 2923 Modified: azax/branches/plugin/commands.py Log: Parameter value should restrict to string only later, this way it can be avoided with the new style transport Modified: azax/branches/plugin/commands.py == --- azax/branches/plugin/commands.py(original) +++ azax/branches/plugin/commands.pyFri Apr 21 13:40:50 2006 @@ -39,8 +39,11 @@ def __init__(self, name, content=''): self.name = name +self.content = content + +def force_content_unicode(self): # Content must be str with ascii encoding, or unicode! -self.content = force_unicode(content) +self.content = force_unicode(self.content) def getName(self): return self.name @@ -101,6 +104,10 @@ # is available from the page template. if not hasattr(self.request, 'debug'): self.request.debug = None + +# Force parameters content to be unicode +for param in self.getParams(): +param.force_content_unicode() # XML output gets rendered via a page template # XXX note: barefoot rendering, use python: only after zope2.9 -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2925 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 15:37:36 2006 New Revision: 2925 Added: CPSSkins4Five/trunk/info.pt (contents, props changed) CPSSkins4Five/trunk/views.py (contents, props changed) CPSSkins4Five/trunk/views.zcml (contents, props changed) Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py CPSSkins4Five/trunk/configure.zcml CPSSkins4Five/trunk/site.py Log: - added a view for testing that cpsskins3 objects are available Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py == --- CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py(original) +++ CPSSkins4Five/trunk/CPSSkinsSiteInstaller.pyFri Apr 21 15:37:36 2006 @@ -28,6 +28,13 @@ # zope3 from zope.app.component.hooks import setSite +from cpsskins.thememanager import ThemeManagementFolder + +def donothing(object): +pass + +ThemeManagementFolder.manage_fixupOwnershipAfterAdd = donothing + # CPSSkins4Five from Products.CPSSkins4Five.site import CPSSkinsSite @@ -52,9 +59,14 @@ enableSite(site) setSite(site) -# TODO sm = site.getSiteManager() +tmutil = ThemeManagementFolder() +site._setObject('themes', tmutil) + +# TODO +# register folder as a local utility + if REQUEST is not None: url = dispatcher.DestinationURL() REQUEST.RESPONSE.redirect('%s/manage_main' % url) Modified: CPSSkins4Five/trunk/configure.zcml == --- CPSSkins4Five/trunk/configure.zcml (original) +++ CPSSkins4Five/trunk/configure.zcml Fri Apr 21 15:37:36 2006 @@ -6,11 +6,17 @@ include file=browser.zcml / + include file=views.zcml / !-- demo site -- five:localsite class=.site.CPSSkinsSite / + five:traversable class=.site.CPSSkinsSite / + + + five:traversable class=OFS.Folder.Folder / + !-- cpsskins v3 zcml configuration -- Added: CPSSkins4Five/trunk/info.pt == --- (empty file) +++ CPSSkins4Five/trunk/info.pt Fri Apr 21 15:37:36 2006 @@ -0,0 +1,8 @@ + +h1Site info/h1 + +h2Site manager/h2 +tal:block content=view/getSiteManager / + +h2Theme management folder/h2 +tal:block content=view/getThemeManagementFolder / Modified: CPSSkins4Five/trunk/site.py == --- CPSSkins4Five/trunk/site.py (original) +++ CPSSkins4Five/trunk/site.py Fri Apr 21 15:37:36 2006 @@ -22,8 +22,6 @@ from OFS.Folder import Folder from Acquisition import Implicit -from Products.Five.traversable import Traversable - # zope3 from zope.component.interfaces import IComponentLookup from zope.interface import implementsOnly, Interface @@ -31,7 +29,7 @@ class ICPSSkinsSite(Interface): pass -class CPSSkinsSite(Folder, Traversable): +class CPSSkinsSite(Folder): A CPSSkins v3 site meta_type = portal_type = CPSSkins v3 Site Added: CPSSkins4Five/trunk/views.py == --- (empty file) +++ CPSSkins4Five/trunk/views.pyFri Apr 21 15:37:36 2006 @@ -0,0 +1,37 @@ +## +# +# Copyright (c) 2006 Nuxeo and Contributors. +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED AS IS AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# +## + + +$Id$ + + +__docformat__ = reStructuredText + +from zope.component import getSiteManager + +from cpsskins.thememanager import IThemeManagementFolder + +class InfoView: +Info view. + + +def __init__(self, context, request): +self.context = context +self.request = request + +def getSiteManager(self): +return getSiteManager(self.context) + +def getThemeManagementFolder(self): +return getSiteManager(self.context).queryUtility(IThemeManagementFolder) Added: CPSSkins4Five/trunk/views.zcml == --- (empty file) +++ CPSSkins4Five/trunk/views.zcml Fri Apr 21 15:37:36 2006 @@ -0,0 +1,12 @@ +configure +xmlns:browser=http://namespaces.zope.org/browser; + + browser:page + for=* + name=site-info.html + template=info.pt + class=.views.InfoView + permission=zope2.ManageProperties + / + +/configure -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2924 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 14:35:59 2006 New Revision: 2924 Modified: CPSSkins4Five/trunk/site.py Log: - make the site traversable by Five Modified: CPSSkins4Five/trunk/site.py == --- CPSSkins4Five/trunk/site.py (original) +++ CPSSkins4Five/trunk/site.py Fri Apr 21 14:35:59 2006 @@ -22,6 +22,8 @@ from OFS.Folder import Folder from Acquisition import Implicit +from Products.Five.traversable import Traversable + # zope3 from zope.component.interfaces import IComponentLookup from zope.interface import implementsOnly, Interface @@ -29,7 +31,7 @@ class ICPSSkinsSite(Interface): pass -class CPSSkinsSite(Folder): +class CPSSkinsSite(Folder, Traversable): A CPSSkins v3 site meta_type = portal_type = CPSSkins v3 Site -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2926 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 16:53:17 2006 New Revision: 2926 Added: CPSSkins4Five/trunk/themesfolder.py (contents, props changed) Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py CPSSkins4Five/trunk/info.pt CPSSkins4Five/trunk/views.py Log: - added a info view - the theme management folder is registered as a local utility Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py == --- CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py(original) +++ CPSSkins4Five/trunk/CPSSkinsSiteInstaller.pyFri Apr 21 16:53:17 2006 @@ -28,16 +28,11 @@ # zope3 from zope.app.component.hooks import setSite -from cpsskins.thememanager import ThemeManagementFolder - -def donothing(object): -pass - -ThemeManagementFolder.manage_fixupOwnershipAfterAdd = donothing - +from cpsskins.thememanager import IThemeManagementFolder # CPSSkins4Five from Products.CPSSkins4Five.site import CPSSkinsSite +from Products.CPSSkins4Five.themesfolder import ThemesFolder manage_addInstaller = Globals.DTMLFile('zmi/addCPSSkinsSiteForm', globals()) @@ -46,6 +41,8 @@ Globals.InitializeClass(Installer) +from OFS.Folder import Folder + def manage_addCPSSkinsSite(dispatcher, id, REQUEST=None): CPSSkins Site installer @@ -61,11 +58,10 @@ sm = site.getSiteManager() -tmutil = ThemeManagementFolder() -site._setObject('themes', tmutil) +tmutil = ThemesFolder() -# TODO -# register folder as a local utility +# register the themes folder as a local utility +sm.registerUtility(IThemeManagementFolder, tmutil) if REQUEST is not None: url = dispatcher.DestinationURL() Modified: CPSSkins4Five/trunk/info.pt == --- CPSSkins4Five/trunk/info.pt (original) +++ CPSSkins4Five/trunk/info.pt Fri Apr 21 16:53:17 2006 @@ -1,3 +1,22 @@ +html +head + titleSite information/title + + style type=text/css + body { +font: 11px Verdana, Arial, sans-serif; + } + h1 { +font-size: 1.5em; + } + h2 { +font-size: 1.3em; +border-bottom: 1px solid gray; + } + /style +/head + +body h1Site info/h1 @@ -6,3 +25,33 @@ h2Theme management folder/h2 tal:block content=view/getThemeManagementFolder / + +h2Id registry/h2 +tal:block content=view/getIdRegistry / + +h2Image cache/h2 +tal:block content=view/getImageCache / + +h2Relation storage/h2 +tal:block content=view/getRelationStorage / + +h2Display storage/h2 +tal:block content=view/getDisplayStorage / + +h2Format storage/h2 +tal:block content=view/getFormatStorage / + +h2Display storage/h2 +tal:block content=view/getDisplayStorage / + +h2Portlet storage/h2 +tal:block content=view/getPortletStorage / + +h2Snapshot storage/h2 +tal:block content=view/getSnapshotStorage / + +h2Settings/h2 +tal:block content=view/getSettings / + +/body +/html Added: CPSSkins4Five/trunk/themesfolder.py == --- (empty file) +++ CPSSkins4Five/trunk/themesfolder.py Fri Apr 21 16:53:17 2006 @@ -0,0 +1,26 @@ +## +# +# Copyright (c) 2006 Nuxeo and Contributors. +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED AS IS AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# +## + + +$Id$ + + +__docformat__ = reStructuredText + +from OFS.SimpleItem import SimpleItem + +from cpsskins.thememanager import ThemeManagementFolder + +class ThemesFolder(ThemeManagementFolder, SimpleItem): +Theme management folder for Zope2 Modified: CPSSkins4Five/trunk/views.py == --- CPSSkins4Five/trunk/views.py(original) +++ CPSSkins4Five/trunk/views.pyFri Apr 21 16:53:17 2006 @@ -34,4 +34,29 @@ return getSiteManager(self.context) def getThemeManagementFolder(self): -return getSiteManager(self.context).queryUtility(IThemeManagementFolder) +return self.getSiteManager().queryUtility(IThemeManagementFolder) + +def getIdRegistry(self): +return self.getThemeManagementFolder().getIdRegistry() + +def getImageCache(self): +return self.getThemeManagementFolder().getImageCache() + +def getRelationStorage(self): +return self.getThemeManagementFolder().getRelationStorage() + +def getDisplayStorage(self): +return self.getThemeManagementFolder().getDisplayStorage() + +def getFormatStorage(self): +
[Z3lab-checkins] r2928 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 17:34:26 2006 New Revision: 2928 Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py CPSSkins4Five/trunk/configure.zcml CPSSkins4Five/trunk/info.pt CPSSkins4Five/trunk/views.py Log: - saving work Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py == --- CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py(original) +++ CPSSkins4Five/trunk/CPSSkinsSiteInstaller.pyFri Apr 21 17:34:26 2006 @@ -41,8 +41,6 @@ Globals.InitializeClass(Installer) -from OFS.Folder import Folder - def manage_addCPSSkinsSite(dispatcher, id, REQUEST=None): CPSSkins Site installer @@ -63,6 +61,7 @@ # register the themes folder as a local utility sm.registerUtility(IThemeManagementFolder, tmutil) + if REQUEST is not None: url = dispatcher.DestinationURL() REQUEST.RESPONSE.redirect('%s/manage_main' % url) Modified: CPSSkins4Five/trunk/configure.zcml == --- CPSSkins4Five/trunk/configure.zcml (original) +++ CPSSkins4Five/trunk/configure.zcml Fri Apr 21 17:34:26 2006 @@ -8,16 +8,32 @@ include file=views.zcml / - !-- demo site -- + !-- CPSSkins site -- five:localsite class=.site.CPSSkinsSite / five:traversable class=.site.CPSSkinsSite / + !-- zope2 -- + five:traversable class=OFS.Folder.Folder / + !-- name choosers -- + + adapter + provides=zope.app.container.interfaces.INameChooser + for=cpsskins.storage.interfaces.IStorage + factory=zope.app.container.contained.NameChooser + / + + adapter + provides=zope.app.container.interfaces.INameChooser + for=cpsskins.thememanager.IThemeManagementFolder + factory=zope.app.container.contained.NameChooser + / + !-- cpsskins v3 zcml configuration -- include package=cpsskins / Modified: CPSSkins4Five/trunk/info.pt == --- CPSSkins4Five/trunk/info.pt (original) +++ CPSSkins4Five/trunk/info.pt Fri Apr 21 17:34:26 2006 @@ -26,6 +26,12 @@ h2Theme management folder/h2 tal:block content=view/getThemeManagementFolder / +h2Themes/h2 +tal:block content=view/getThemes / + +h2Perspectives/h2 +tal:block content=view/listPerspectives / + h2Id registry/h2 tal:block content=view/getIdRegistry / Modified: CPSSkins4Five/trunk/views.py == --- CPSSkins4Five/trunk/views.py(original) +++ CPSSkins4Five/trunk/views.pyFri Apr 21 17:34:26 2006 @@ -60,3 +60,9 @@ def getSettings(self): return self.getThemeManagementFolder().getSettings() +def getThemes(self): +return self.getThemeManagementFolder().getThemes() + +def listPerspectives(self): +return self.getThemeManagementFolder().listPerspectives() + -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2932 - cpsskins/branches/paris-sprint-2006/elements
Author: jmorliaguet Date: Fri Apr 21 18:58:30 2006 New Revision: 2932 Modified: cpsskins/branches/paris-sprint-2006/elements/theme.py Log: - got rid of SiteManagementFolder Modified: cpsskins/branches/paris-sprint-2006/elements/theme.py == --- cpsskins/branches/paris-sprint-2006/elements/theme.py (original) +++ cpsskins/branches/paris-sprint-2006/elements/theme.py Fri Apr 21 18:58:30 2006 @@ -17,15 +17,16 @@ __docformat__ = reStructuredText -from zope.app.component.site import SiteManagementFolder from zope.component import adapts, getUtilitiesFor +from zope.component.persistentregistry import PersistentComponents from zope.interface import implements +from zope.app.container.btree import BTreeContainer -from cpsskins.elements.interfaces import INode, INodeTraverser +from cpsskins.elements.interfaces import INodeTraverser from cpsskins.elements.interfaces import ITheme, IThemePage from cpsskins.utils import getThemeManager -class Theme(SiteManagementFolder): +class Theme(BTreeContainer, PersistentComponents): Theme theme = Theme('Some theme') @@ -37,6 +38,7 @@ def __init__(self, title=u''): super(Theme, self).__init__() +PersistentComponents.__init__(self) self.title = title def __repr__(self): -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2933 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 19:15:48 2006 New Revision: 2933 Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py CPSSkins4Five/trunk/configure.zcml CPSSkins4Five/trunk/info.pt CPSSkins4Five/trunk/views.py CPSSkins4Five/trunk/views.zcml Log: - UI updates Modified: CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py == --- CPSSkins4Five/trunk/CPSSkinsSiteInstaller.py(original) +++ CPSSkins4Five/trunk/CPSSkinsSiteInstaller.pyFri Apr 21 19:15:48 2006 @@ -54,15 +54,12 @@ enableSite(site) setSite(site) -sm = site.getSiteManager() - -tmutil = ThemesFolder() - # register the themes folder as a local utility +tmutil = ThemesFolder() +sm = site.getSiteManager() sm.registerUtility(IThemeManagementFolder, tmutil) - if REQUEST is not None: url = dispatcher.DestinationURL() -REQUEST.RESPONSE.redirect('%s/manage_main' % url) +REQUEST.RESPONSE.redirect('%s/%s/@@site-info.html' % (url, id)) Modified: CPSSkins4Five/trunk/configure.zcml == --- CPSSkins4Five/trunk/configure.zcml (original) +++ CPSSkins4Five/trunk/configure.zcml Fri Apr 21 19:15:48 2006 @@ -19,21 +19,36 @@ five:traversable class=OFS.Folder.Folder / + !-- + adapter + for=persistent.interfaces.IPersistent + provides=zope.app.keyreference.interfaces.IKeyReference + factory=zope.app.keyreference.persistent.KeyReferenceToPersistent + trusted=y + / + -- !-- name choosers -- adapter provides=zope.app.container.interfaces.INameChooser - for=cpsskins.storage.interfaces.IStorage + for=cpsskins.thememanager.IThemeManagementFolder factory=zope.app.container.contained.NameChooser / adapter provides=zope.app.container.interfaces.INameChooser - for=cpsskins.thememanager.IThemeManagementFolder + for=cpsskins.setup.settings.ISettings factory=zope.app.container.contained.NameChooser / + adapter + provides=zope.app.container.interfaces.INameChooser + for=cpsskins.storage.interfaces.IStorage + factory=zope.app.container.contained.NameChooser + / + + !-- cpsskins v3 zcml configuration -- include package=cpsskins / Modified: CPSSkins4Five/trunk/info.pt == --- CPSSkins4Five/trunk/info.pt (original) +++ CPSSkins4Five/trunk/info.pt Fri Apr 21 19:15:48 2006 @@ -29,6 +29,12 @@ h2Themes/h2 tal:block content=view/getThemes / +form action=addTheme.html method=post + p +button type=submitAdd a theme/button + /p +/form + h2Perspectives/h2 tal:block content=view/listPerspectives / Modified: CPSSkins4Five/trunk/views.py == --- CPSSkins4Five/trunk/views.py(original) +++ CPSSkins4Five/trunk/views.pyFri Apr 21 19:15:48 2006 @@ -66,3 +66,8 @@ def listPerspectives(self): return self.getThemeManagementFolder().listPerspectives() +def createTheme(self): +from cpsskins.tests.setup import addThemeSkeleton +addThemeSkeleton(self.getThemeManagementFolder()) + +self.request.response.redirect('./@@site-info.html') Modified: CPSSkins4Five/trunk/views.zcml == --- CPSSkins4Five/trunk/views.zcml (original) +++ CPSSkins4Five/trunk/views.zcml Fri Apr 21 19:15:48 2006 @@ -6,7 +6,19 @@ name=site-info.html template=info.pt class=.views.InfoView - permission=zope2.ManageProperties + permission=zope.ManageContent / + browser:pages + for=* + permission=zope.ManageContent + class=.views.InfoView + +page +name=addTheme.html +attribute=createTheme +/ + + /browser:pages + /configure -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2934 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 20:56:39 2006 New Revision: 2934 Modified: CPSSkins4Five/trunk/configure.zcml Log: - added missing adapter declarations. Not sure why Five did not take them into account Modified: CPSSkins4Five/trunk/configure.zcml == --- CPSSkins4Five/trunk/configure.zcml (original) +++ CPSSkins4Five/trunk/configure.zcml Fri Apr 21 20:56:39 2006 @@ -19,14 +19,23 @@ five:traversable class=OFS.Folder.Folder / - !-- adapter for=persistent.interfaces.IPersistent provides=zope.app.keyreference.interfaces.IKeyReference factory=zope.app.keyreference.persistent.KeyReferenceToPersistent trusted=y - / - -- + / + + class class=zope.app.keyreference.persistent.KeyReferenceToPersistent + require permission=zope.Public + interface=zope.app.keyreference.interfaces.IKeyReference / + /class + + adapter + for=persistent.interfaces.IPersistent + provides=ZODB.interfaces.IConnection + factory=zope.app.keyreference.persistent.connectionOfPersistent + / !-- name choosers -- -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2935 - cpsskins/branches/paris-sprint-2006/standard/negotiation
Author: jmorliaguet Date: Fri Apr 21 21:21:37 2006 New Revision: 2935 Modified: cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py Log: - fix in case the session is None (e.g. Five) Modified: cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py == --- cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py (original) +++ cpsskins/branches/paris-sprint-2006/standard/negotiation/perspective.py Fri Apr 21 21:21:37 2006 @@ -31,7 +31,10 @@ def __call__(self): pkg_id = 'cpsskins' -session = ISession(self.request)[pkg_id] +s = ISession(self.request, None) +if s is None: +return None +session = s[pkg_id] try: perspective = session['perspective'] except KeyError: -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins
[Z3lab-checkins] r2936 - CPSSkins4Five/trunk
Author: jmorliaguet Date: Fri Apr 21 21:22:57 2006 New Revision: 2936 Modified: CPSSkins4Five/trunk/info.pt CPSSkins4Five/trunk/views.py Log: - added theme viewer Modified: CPSSkins4Five/trunk/info.pt == --- CPSSkins4Five/trunk/info.pt (original) +++ CPSSkins4Five/trunk/info.pt Fri Apr 21 21:22:57 2006 @@ -29,6 +29,10 @@ h2Themes/h2 tal:block content=view/getThemes / +h2Rendered theme/h2 +tal:block define=viewer view/getViewer condition=nocall:viewer + content=python: viewer(location=context, view=view, template=template) / + form action=addTheme.html method=post p button type=submitAdd a theme/button Modified: CPSSkins4Five/trunk/views.py == --- CPSSkins4Five/trunk/views.py(original) +++ CPSSkins4Five/trunk/views.pyFri Apr 21 21:22:57 2006 @@ -71,3 +71,15 @@ addThemeSkeleton(self.getThemeManagementFolder()) self.request.response.redirect('./@@site-info.html') + +def getViewer(self): +themes = self.getThemeManagementFolder().getThemes() +if not themes: +return None +theme = themes[0] + +from zope.app import zapi +from cpsskins.browser.rendering.interfaces import IViewer + +return zapi.getMultiAdapter((theme, self.request), IViewer) + -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins