[Checkins] SVN: zf.zscp/trunk/src/zf/zscp/ Implemented content provider for logo and breadcrumb

Roger Ineichen roger at projekt01.ch
Sun Apr 9 16:16:24 EDT 2006


Log message for revision 66750:
  Implemented content provider for logo and breadcrumb
  because the have to show up on complicated conditions.

Changed:
  U   zf.zscp/trunk/src/zf/zscp/interfaces.py
  U   zf.zscp/trunk/src/zf/zscp/repository.py
  A   zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.pt
  A   zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.zcml
  U   zf.zscp/trunk/src/zf/zscp/skin/browser/img/threeCircles.png
  A   zf.zscp/trunk/src/zf/zscp/skin/browser/logo.pt
  U   zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt
  U   zf.zscp/trunk/src/zf/zscp/skin/browser/viewlet.zcml
  A   zf.zscp/trunk/src/zf/zscp/skin/browser/views.py
  A   zf.zscp/trunk/src/zf/zscp/website/browser/package.gif
  U   zf.zscp/trunk/src/zf/zscp/website/browser/repository.zcml
  A   zf.zscp/trunk/src/zf/zscp/website/browser/site.gif
  A   zf.zscp/trunk/src/zf/zscp/website/browser/site.py
  U   zf.zscp/trunk/src/zf/zscp/website/browser/site.zcml
  A   zf.zscp/trunk/src/zf/zscp/website/browser/site_index.pt

-=-
Modified: zf.zscp/trunk/src/zf/zscp/interfaces.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/interfaces.py	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/interfaces.py	2006-04-09 20:16:21 UTC (rev 66750)
@@ -364,10 +364,14 @@
                     u"are checked out.",
         required=True)
 
-    password = zope.schema.TextLine(
+    username = zope.schema.TextLine(
+        title=u"User name",
+        description=u"The username used without SSH keys.",
+        required=False)
+
+    password = zope.schema.Password(
         title=u"SSH Password",
-        description=u"The directory on the server in to which the packages "
-                    u"are checked out.",
+        description=u"The password used for the user or for a shh key.",
         required=False)
 
     def initialize():

Modified: zf.zscp/trunk/src/zf/zscp/repository.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/repository.py	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/repository.py	2006-04-09 20:16:21 UTC (rev 66750)
@@ -29,9 +29,10 @@
     """A ZSCP-compliant repository."""
     zope.interface.implements(interfaces.IZSCPRepository)
 
-    def __init__(self, svnRoot, localRoot, password):
+    def __init__(self, svnRoot, localRoot, username=u'', password=u''):
         self.svnRoot = svnRoot
         self.localRoot = localRoot
+        self.username = username
         self.password = password
 
     def _getClient(self):
@@ -42,6 +43,10 @@
             return True, self.password, True
         client.callback_ssl_client_cert_password_prompt = ssl_password
 
+        def get_login( realm, username, may_save ):
+            return True, self.username, self.password, True
+        client.callback_get_login = get_login
+
         return client
 
     def initialize(self):

Added: zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.pt	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.pt	2006-04-09 20:16:21 UTC (rev 66750)
@@ -0,0 +1,7 @@
+<div id="portal-breadcrumbs">
+	<div class="breadcrumbLink"><a href="#" tal:attributes="href request/getApplicationURL">Home</a></div>
+	<div><img class="breadcrumbSeparator" src="/++skin++ZSCP/@@/img/arrowRight3.png" /></div>
+	<div class="breadcrumbLink"><a href="#">Packages</a></div>
+	<div><img class="breadcrumbSeparator" src="/++skin++ZSCP/@@/img/arrowRight3.png" /></div>
+	<div class="breadcrumbItem">zope.search</div>
+</div>


Property changes on: zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.pt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.zcml	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.zcml	2006-04-09 20:16:21 UTC (rev 66750)
@@ -0,0 +1,7 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    i18n_domain="zf.zscp">
+
+
+
+</configure>


Property changes on: zf.zscp/trunk/src/zf/zscp/skin/browser/breadcrumb.zcml
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/img/threeCircles.png
===================================================================
(Binary files differ)

Added: zf.zscp/trunk/src/zf/zscp/skin/browser/logo.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/logo.pt	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/logo.pt	2006-04-09 20:16:21 UTC (rev 66750)
@@ -0,0 +1,11 @@
+<div id="homeMainImage">
+	<!-- rounded corners, yeah! -->
+	<div id="homeImageTopLeft">&nbsp;
+	</div>
+	<div id="homeImageTopRight">&nbsp;
+	</div>
+	<!-- "Packages, Benefits, Contribute" links overlaying image -->
+	<a href="#" id="homePackagesLink" class="homeImgOverlay"></a>
+	<a href="#" id="homeBenefitsLink" class="homeImgOverlay"></a>
+	<a href="#" id="homeContributeLink" class="homeImgOverlay"></a>
+</div>
\ No newline at end of file


Property changes on: zf.zscp/trunk/src/zf/zscp/skin/browser/logo.pt
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt	2006-04-09 20:16:21 UTC (rev 66750)
@@ -47,33 +47,17 @@
         </div>
         <!-- end left column -->
         <!-- begin main column -->
-		<div id="portal-column-content" 
-			tal:define="showtitle python: request.URL[-1]==request.getApplicationURL()">
+		<div id="portal-column-content">
             <!-- begin breadcrumbs -->
-            <div id="portal-breadcrumbs" tal:condition="not: showtitle" >
-                <div class="breadcrumbLink"><a href="#" tal:attributes="href request/getApplicationURL">Home</a></div>
-                <div><img class="breadcrumbSeparator" src="/++skin++ZSCP/@@/img/arrowRight3.png" /></div>
-                <div class="breadcrumbLink"><a href="#">Packages</a></div>
-                <div><img class="breadcrumbSeparator" src="/++skin++ZSCP/@@/img/arrowRight3.png" /></div>
-                <div class="breadcrumbItem">zope.search</div>
-            </div>
+            <tal:block replace="structure provider:IBreadcrumb">logo</tal:block>
             <!-- end breadcrumbs -->			
+
 			<!-- begin main content area -->
 			<div id="region-content" >
+
 				<!-- main home image -->
+				<tal:block replace="structure provider:ILogo">logo</tal:block>
 
-				<div id="homeMainImage" tal:condition="showtitle" >
-					<!-- rounded corners, yeah! -->
-					<div id="homeImageTopLeft">&nbsp;
-					</div>
-					<div id="homeImageTopRight">&nbsp;
-					</div>
-					<!-- "Packages, Benefits, Contribute" links overlaying image -->
-						<a href="#" id="homePackagesLink" class="homeImgOverlay">
-					</a> <a href="#" id="homeBenefitsLink" class="homeImgOverlay">
-					</a> <a href="#" id="homeContributeLink" class="homeImgOverlay">
-					</a>
-				</div>
 				<!-- text below main image -->
 				<div id="body" metal:define-slot="body">
 				</div>

Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/viewlet.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/viewlet.zcml	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/viewlet.zcml	2006-04-09 20:16:21 UTC (rev 66750)
@@ -33,4 +33,27 @@
       weight="3"
       />
 
+  <!-- content provider for Breadcrumb -->
+  <zope:adapter
+      for="zope.interface.Interface
+           zf.zscp.skin.IZSCPLayer
+           zope.interface.Interface"
+      provides="zope.contentprovider.interfaces.IContentProvider"
+      name="IBreadcrumb"
+      factory=".views.BreadcrumbProvider"
+      permission="zope.Public"
+      />
+
+  <!-- content provider for Logo on index site -->
+  <zope:adapter
+      for="zope.interface.Interface
+           zf.zscp.skin.IZSCPLayer
+           zope.interface.Interface"
+      provides="zope.contentprovider.interfaces.IContentProvider"
+      name="ILogo"
+      factory=".views.LogoProvider"
+      permission="zope.Public"
+      />
+
+
 </configure>

Added: zf.zscp/trunk/src/zf/zscp/skin/browser/views.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/views.py	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/views.py	2006-04-09 20:16:21 UTC (rev 66750)
@@ -0,0 +1,72 @@
+##############################################################################
+#
+# Copyright (c) 2005, 2006 Perse Engineering GmbH 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$
+"""
+
+from zope.interface import implements
+from zope.contentprovider.interfaces import IContentProvider
+from zope.app.pagetemplate import ViewPageTemplateFile
+
+from zf.zscp.website.browser.site import ISiteIndex
+
+
+
+class BreadcrumbProvider(object):
+    """Provides a breadcrumb."""
+
+    implements(IContentProvider)
+
+    template = ViewPageTemplateFile('breadcrumb.pt')
+
+    def __init__(self, context, request, view):
+        self.context = context
+        self.request = request
+        self.view = view
+
+    def update(self):
+        """Update."""
+        pass
+
+    def render(self):
+        """Returns the template."""
+        if ISiteIndex.providedBy(self.view):
+            return u""
+        return self.template() 
+
+
+
+class LogoProvider(object):
+    """Provides a logo."""
+
+    implements(IContentProvider)
+
+    template = ViewPageTemplateFile('logo.pt')
+
+    def __init__(self, context, request, view):
+        self.context = context
+        self.request = request
+        self.view = view
+
+    def update(self):
+        """Update."""
+        pass
+
+    def render(self):
+        """Returns the template."""
+        if ISiteIndex.providedBy(self.view):
+            return self.template()
+        return u""
+


Property changes on: zf.zscp/trunk/src/zf/zscp/skin/browser/views.py
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: zf.zscp/trunk/src/zf/zscp/website/browser/package.gif
===================================================================
(Binary files differ)


Property changes on: zf.zscp/trunk/src/zf/zscp/website/browser/package.gif
___________________________________________________________________
Name: svn:mime-type
   + image/gif

Modified: zf.zscp/trunk/src/zf/zscp/website/browser/repository.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/repository.zcml	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/repository.zcml	2006-04-09 20:16:21 UTC (rev 66750)
@@ -8,8 +8,8 @@
       schema="zf.zscp.interfaces.IZSCPRepository"
       label="Add ZSCP Repository"
       content_factory="zf.zscp.website.repository.Repository"
-      fields="svnRoot localRoot password"
-      keyword_arguments="svnRoot localRoot password"
+      fields="svnRoot localRoot username password"
+      keyword_arguments="svnRoot localRoot username password"
       permission="zope.ManageServices"
       />
 
@@ -24,7 +24,7 @@
   <editform
       name="edit.html"
       schema="zf.zscp.interfaces.IZSCPRepository"
-      fields="svnRoot localRoot password"
+      fields="svnRoot localRoot username password"
       menu="zmi_views" title="Edit"
       label="Edit ZSCP repository"
       permission="zope.ManageContent"

Added: zf.zscp/trunk/src/zf/zscp/website/browser/site.gif
===================================================================
(Binary files differ)


Property changes on: zf.zscp/trunk/src/zf/zscp/website/browser/site.gif
___________________________________________________________________
Name: svn:mime-type
   + image/gif

Added: zf.zscp/trunk/src/zf/zscp/website/browser/site.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/site.py	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/site.py	2006-04-09 20:16:21 UTC (rev 66750)
@@ -0,0 +1,34 @@
+##############################################################################
+#
+# Copyright (c) 2005 Zope Corporation 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$
+"""
+
+from zope.interface import Interface
+from zope.interface import implements
+from zope.formlib import page
+
+
+class ISiteIndex(Interface):
+    """Marker interface for Site index.
+    
+    Provider like logo provider need this for show up at the index view.
+    """
+
+
+class SiteIndex(page.Page):
+    """Index for IZSCPSite"""
+
+    implements(ISiteIndex)


Property changes on: zf.zscp/trunk/src/zf/zscp/website/browser/site.py
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: zf.zscp/trunk/src/zf/zscp/website/browser/site.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/site.zcml	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/site.zcml	2006-04-09 20:16:21 UTC (rev 66750)
@@ -17,4 +17,25 @@
       add="zope.ManageContent"
       />
 
+  <page
+      name="index.html"
+      for="zf.zscp.website.interfaces.IZSCPSite"
+      template="site_index.pt"
+      class=".site.SiteIndex"
+      permission="zope.Public"
+      layer="zf.zscp.skin.IZSCPLayer"
+      />
+
+  <icon
+      name="zmi_icon"
+      for="zf.zscp.website.interfaces.IZSCPSite"
+      file="site.gif"
+      />
+
+  <defaultView
+      name="index.html"
+      for="zf.zscp.website.interfaces.IZSCPSite"
+      layer="zf.zscp.skin.IZSCPLayer"
+      />
+
 </configure>

Added: zf.zscp/trunk/src/zf/zscp/website/browser/site_index.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/site_index.pt	2006-04-09 20:11:32 UTC (rev 66749)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/site_index.pt	2006-04-09 20:16:21 UTC (rev 66750)
@@ -0,0 +1,7 @@
+<html metal:use-macro="context/@@standard_macros/page">
+<body>
+<div align="center" metal:fill-slot="body">
+my index
+</div>
+</body>
+</html>


Property changes on: zf.zscp/trunk/src/zf/zscp/website/browser/site_index.pt
___________________________________________________________________
Name: svn:eol-style
   + native



More information about the Checkins mailing list