[Z3lab-checkins] r2922 - CPSSkins4Five/trunk

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread bree
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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

2006-04-21 Thread jmorliaguet
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