[Checkins] SVN: zf.zscp/trunk/src/zf/zscp/ Worked on package list
and package details view.
Stephan Richter
srichter at cosmos.phy.tufts.edu
Wed Apr 12 06:04:52 EDT 2006
Log message for revision 66878:
Worked on package list and package details view.
Changed:
U zf.zscp/trunk/src/zf/zscp/interfaces.py
U zf.zscp/trunk/src/zf/zscp/skin/__init__.py
U zf.zscp/trunk/src/zf/zscp/skin/browser/configure.zcml
U zf.zscp/trunk/src/zf/zscp/skin/browser/css/base.css
U zf.zscp/trunk/src/zf/zscp/skin/browser/css/packages.css
A zf.zscp/trunk/src/zf/zscp/skin/browser/css/table.css
A zf.zscp/trunk/src/zf/zscp/skin/browser/package_macros.pt
U zf.zscp/trunk/src/zf/zscp/skin/browser/standardmacros.py
U zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt
U zf.zscp/trunk/src/zf/zscp/website/browser/configure.zcml
U zf.zscp/trunk/src/zf/zscp/website/browser/package.py
U zf.zscp/trunk/src/zf/zscp/website/browser/package.zcml
U zf.zscp/trunk/src/zf/zscp/website/browser/package_certifications.pt
U zf.zscp/trunk/src/zf/zscp/website/browser/package_classifiers.pt
A zf.zscp/trunk/src/zf/zscp/website/browser/package_community.pt
U zf.zscp/trunk/src/zf/zscp/website/browser/package_info.pt
U zf.zscp/trunk/src/zf/zscp/website/browser/package_releases.pt
U zf.zscp/trunk/src/zf/zscp/website/browser/site.py
U zf.zscp/trunk/src/zf/zscp/website/browser/site_packages.pt
-=-
Modified: zf.zscp/trunk/src/zf/zscp/interfaces.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/interfaces.py 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/interfaces.py 2006-04-12 10:04:50 UTC (rev 66878)
@@ -299,7 +299,7 @@
required=False)
repositoryWebLocation = zope.schema.URI(
- title=u"Repository Web Location",
+ title=u"Browsable Repository",
description=u"The URL to the repository's browsable HTML UI.",
required=False)
Modified: zf.zscp/trunk/src/zf/zscp/skin/__init__.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/__init__.py 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/__init__.py 2006-04-12 10:04:50 UTC (rev 66878)
@@ -17,21 +17,28 @@
__docformat__ = "reStructuredText"
+from zope.interface import Interface, directlyProvides
from zope.publisher.interfaces.browser import IBrowserRequest
from zope.publisher.interfaces.browser import IDefaultBrowserLayer
from zope.viewlet.interfaces import IViewletManager
from zope.viewlet.manager import ViewletManagerBase
+from zope.app.publisher.interfaces.browser import IMenuItemType
+class IPackageTabs(Interface):
+ """Package Tabs"""
+directlyProvides(IPackageTabs, IMenuItemType)
+
+
class IZSCPLayer(IBrowserRequest):
"""``Layer for ZSCP Website``"""
class ZSCP(IZSCPLayer, IDefaultBrowserLayer):
- """The `ZSCP` skin
-
+ """The `ZSCP` skin
+
This skin is based on IZSCPLayer and IDefaultBrowserLayer.
and accessible via `++skin++ZSCP`.
"""
@@ -49,4 +56,5 @@
return viewlet.weight
except:
return 0
- return sorted(viewlets, lambda x, y: cmp(getWeight(x[1]), getWeight(y[1])))
+ return sorted(viewlets,
+ lambda x, y: cmp(getWeight(x[1]), getWeight(y[1])))
Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/configure.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/configure.zcml 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/configure.zcml 2006-04-12 10:04:50 UTC (rev 66878)
@@ -1,9 +1,15 @@
<configure
xmlns="http://namespaces.zope.org/zope"
- xmlns:browser="http://namespaces.zope.org/browser"
+ xmlns:browser="http://namespaces.zope.org/browser"
i18n_domain="zf.zscp"
>
-
+
+ <browser:menu
+ title="Package Tabs"
+ description="ZSCP Package Tabs"
+ interface="zf.zscp.skin.IPackageTabs"
+ />
+
<browser:resource
name="base.css"
file="css/base.css"
@@ -17,7 +23,7 @@
layer="zf.zscp.skin.IZSCPLayer"
permission="zope.Public"
/>
-
+
<browser:resource
name="packages.css"
file="css/packages.css"
@@ -32,6 +38,13 @@
permission="zope.Public"
/>
+ <browser:resource
+ name="table.css"
+ file="css/table.css"
+ layer="zf.zscp.skin.IZSCPLayer"
+ permission="zope.Public"
+ />
+
<browser:resourceDirectory
directory="img"
name="img"
@@ -47,6 +60,14 @@
<browser:page
for="*"
+ name="package_macros"
+ permission="zope.Public"
+ template="package_macros.pt"
+ layer="zf.zscp.skin.IZSCPLayer"
+ />
+
+ <browser:page
+ for="*"
name="standard_macros"
permission="zope.Public"
class=".standardmacros.StandardMacros"
Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/css/base.css
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/css/base.css 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/css/base.css 2006-04-12 10:04:50 UTC (rev 66878)
@@ -32,7 +32,7 @@
h1,h2,h3,h4,h5,h6 {
color: #666;
- margin-top: 20px;
+ margin-top: 10px;
margin-bottom: 8px;
}
Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/css/packages.css
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/css/packages.css 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/css/packages.css 2006-04-12 10:04:50 UTC (rev 66878)
@@ -13,12 +13,13 @@
border-bottom: 2px solid #ccc;
min-height: 260px;
background: #eee url(/@@/img/packageBodyBg.jpg) repeat-x left top;
- padding: 30px 30px 20px 20px;
+ padding: 10px 30px 20px 20px;
}
#package-tabs {
border-bottom: 1px solid #ccc;
}
.packageTab {
+ margin: 0px;
position: relative;
bottom: 1px;
display: inline;
@@ -37,6 +38,7 @@
background: url(/@@/img/packageTabCurLeft.png) no-repeat left top;
}
.packageTab.selected a {
+ font-size: 110%;
background: url(/@@/img/packageTabCurRight.png) no-repeat right top;
font-weight: bold;
}
@@ -73,6 +75,14 @@
top: 15px; right: 15px;
width: 56px; height: 56px;
}
+
+hr.white-line {
+ background-color: #ffffff;
+ color: #ffffff;
+ border: #ffffff;
+ height: 2px;
+}
+
#certifiedGold {
background: url(/@@/img/certifiedGold.png) no-repeat left top;
}
Added: zf.zscp/trunk/src/zf/zscp/skin/browser/css/table.css
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/css/table.css 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/css/table.css 2006-04-12 10:04:50 UTC (rev 66878)
@@ -0,0 +1,4 @@
+div.package-table {
+}
+div.package-table table {
+}
Property changes on: zf.zscp/trunk/src/zf/zscp/skin/browser/css/table.css
___________________________________________________________________
Name: svn:eol-style
+ native
Added: zf.zscp/trunk/src/zf/zscp/skin/browser/package_macros.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/package_macros.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/package_macros.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -0,0 +1,48 @@
+<metal:block define-macro="package-view">
+ <html metal:use-macro="context/@@standard_macros/view"
+ i18n:domain="zf.zscp">
+ <body>
+ <div metal:fill-slot="body">
+
+ <div id="documentFirstHeading">
+ <metal:block define-slot="package-heading">
+ Package:
+ <span tal:replace="context/name">zope.demo</span>
+ (<span tal:replace="context/publication/name">Zope Demo</span>)
+ </metal:block>
+ </div>
+
+ <div id="package-wrapper">
+ <metal:block use-macro="context/@@standard_macros/package-tabs" />
+ <div id="package-info" class="packageBody">
+ <metal:block define-slot="package-info">
+ Package Info.
+ </metal:block>
+ </div>
+ </div>
+ </div>
+ </body>
+ </html>
+</metal:block>
+
+<metal:block define-macro="package-tabs">
+
+ <div id="package-tabs">
+ <tal:block
+ repeat="tab context/@@view_get_menu/zf.zscp.skin.IPackageTabs">
+ <div class="packageTab selected"
+ tal:condition="tab/selected">
+ <a href="index.html"
+ tal:attributes="href tab/action"
+ tal:content="tab/title">Info</a>
+ </div>
+ <div class="packageTab"
+ tal:condition="not: tab/selected">
+ <a href="index.html"
+ tal:attributes="href tab/action"
+ tal:content="tab/title">Info</a>
+ </div>
+ </tal:block>
+ </div>
+
+</metal:block>
Property changes on: zf.zscp/trunk/src/zf/zscp/skin/browser/package_macros.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/standardmacros.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/standardmacros.py 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/standardmacros.py 2006-04-12 10:04:50 UTC (rev 66878)
@@ -19,5 +19,5 @@
from zope.app.basicskin.standardmacros import StandardMacros as BaseMacros
class StandardMacros(BaseMacros):
- macro_pages = ('skin_macros', 'view_macros', 'dialog_macros'
- , 'navigation_macros')
+ macro_pages = ('skin_macros', 'view_macros', 'dialog_macros',
+ 'package_macros')
Modified: zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/skin/browser/template.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -1,28 +1,31 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<metal:block define-macro="page">
- <metal:block define-slot="doctype">
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- </metal:block>
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" i18n:domain="zf.zscp">
- <head>
- <title metal:define-slot="title"
- tal:content="string:WebSite: ${context/zope:title_or_name}">WebSite:
- title</title>
-
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-
- <!-- css viewlets -->
- <link rel="stylesheet" type="text/css" media="all"
- tal:attributes="href string:${context/++resource++base.css}" />
- <link rel="stylesheet" type="text/css" media="all"
- tal:attributes="href string:${context/++resource++home.css}" />
- <link rel="stylesheet" type="text/css" media="all"
- tal:attributes="href string:${context/++resource++packages.css}" />
- <link rel="stylesheet" type="text/css" media="all"
- tal:attributes="href string:${context/++resource++viewlets.css}" />
-
- </head>
+ <metal:block define-slot="doctype">
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ </metal:block>
+ <html xmlns="http://www.w3.org/1999/xhtml"
+ xml:lang="en" lang="en" i18n:domain="zf.zscp">
+ <head>
+ <title metal:define-slot="title"
+ tal:content="string:WebSite: ${context/zope:title_or_name}">WebSite:
+ title</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+
+ <!-- css viewlets -->
+ <link rel="stylesheet" type="text/css" media="all"
+ tal:attributes="href string:${context/++resource++base.css}" />
+ <link rel="stylesheet" type="text/css" media="all"
+ tal:attributes="href string:${context/++resource++home.css}" />
+ <link rel="stylesheet" type="text/css" media="all"
+ tal:attributes="href string:${context/++resource++packages.css}" />
+ <link rel="stylesheet" type="text/css" media="all"
+ tal:attributes="href string:${context/++resource++viewlets.css}" />
+ <link rel="stylesheet" type="text/css" media="all"
+ tal:attributes="href string:${context/++resource++table.css}" />
+
+ </head>
+
<body>
@@ -43,55 +46,59 @@
<div id="portal-columns">
<!-- begin left column -->
<div id="portal-column-one">
- <tal:block replace="structure provider:ILeft" />
+ <tal:block replace="structure provider:ILeft" />
</div>
<!-- end left column -->
<!-- begin main column -->
- <div id="portal-column-content">
- <!-- begin breadcrumbs
-
+ <div id="portal-column-content">
+ <!-- begin breadcrumbs
+
<tal:block replace="structure provider:IBreadcrumb">logo</tal:block>
-
- end breadcrumbs -->
- <!-- begin main content area -->
- <div id="region-content" >
+ end breadcrumbs -->
- <!-- main home image -->
- <tal:block replace="structure provider:ILogo">logo</tal:block>
+ <!-- begin main content area -->
+ <div id="region-content" >
- <!-- text below main image -->
- <div id="body" metal:define-slot="body">
- </div>
-
- </div>
- <!-- end main content area -->
- </div>
+ <!-- main home image -->
+ <tal:block replace="structure provider:ILogo">logo</tal:block>
+
+ <!-- text below main image -->
+ <div id="body" metal:define-slot="body">
+ </div>
+
+ </div>
+ <!-- end main content area -->
+ </div>
<!-- end main column -->
</div>
<!-- end portal body -->
-
-
+
+
<!-- begin portal footer -->
<div id="portal-footer">
- <div id="footer-left">
- This page conforms to revision <div tal:replace="pageversion | string: n/a">0.8</div>
- of the normative document. The latest version can be found
- <a href="@@ProcessAndRepository.html">here</a>.
- </div>
- <div id="footer-right">
- Design by <a href="http://www.adaptivewave.com" target="_blank">AdaptiveWave</a>
- </div>
- <div id="footer-left">
- <span class="footerItem">Copyright © 2006, Zope Foundation. All rights reserved.</span>
- <span class="footerItem"><a href="@@about.html">About</a></span>
- <span class="footerItem"><a href="@@contact.html">Contact</a></span>
- </div>
+ <div id="footer-left">
+ This page conforms to revision
+ <span tal:replace="pageversion | string: n/a">0.8</span>
+ of the normative document. The latest version can be found
+ <a href="@@ProcessAndRepository.html">here</a>.
+ </div>
+ <div id="footer-right">
+ Design by
+ <a href="http://www.adaptivewave.com" target="_blank">AdaptiveWave</a>
+ </div>
+ <div id="footer-left">
+ <span class="footerItem">
+ Copyright © 2006, Zope Foundation. All rights reserved.
+ </span>
+ <span class="footerItem"><a href="@@about.html">About</a></span>
+ <span class="footerItem"><a href="@@contact.html">Contact</a></span>
+ </div>
</div>
<!-- end footer -->
</div>
-
+
</body>
</html>
-</metal:block>
\ No newline at end of file
+</metal:block>
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/configure.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/configure.zcml 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/configure.zcml 2006-04-12 10:04:50 UTC (rev 66878)
@@ -3,6 +3,9 @@
xmlns="http://namespaces.zope.org/browser"
i18n_domain="zf.zscp">
+ <include package="zc.table" />
+
+
<include file="site.zcml" />
<include file="package.zcml" />
<include file="repository.zcml" />
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/package.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package.py 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package.py 2006-04-12 10:04:50 UTC (rev 66878)
@@ -22,6 +22,7 @@
from zf.zscp.interfaces import IRelease
from zf.zscp.interfaces import ICertification
from zf.zscp.interfaces import CERTIFICATION_LEVELS
+from zf.zscp.interfaces import CERTIFICATION_ACTIONS
from zope.app.pagetemplate import ViewPageTemplateFile
@@ -44,7 +45,7 @@
def setUpWidgets(self, ignore_request=False):
self.adapters = {}
self.widgets = form.setUpEditWidgets(
- self.form_fields, self.prefix, self.context.publication,
+ self.form_fields, self.prefix, self.context.publication,
self.request, adapters=self.adapters, ignore_request=ignore_request
)
@@ -61,28 +62,24 @@
template = ViewPageTemplateFile('package_info.pt')
def update(self):
+ formatter = self.request.locale.dates.getFormatter('date', 'medium')
publication = self.context.publication
info = {}
- info['packageName'] = publication.packageName
- info['name'] = publication.name
- info['summary'] = publication.summary
- info['description'] = publication.description
- info['homePage'] = publication.homePage
- info['developersMailinglist'] = publication.developersMailinglist
- info['usersMailinglist'] = publication.usersMailinglist
- info['issueTracker'] = publication.issueTracker
- info['repositoryLocation'] = publication.repositoryLocation
- info['repositoryWebLocation'] = publication.repositoryWebLocation
- info['certificationLevel'] = publication.certificationLevel
- info['certificationDate'] = publication.certificationDate
- info['metadataVersion'] = publication.metadataVersion
+ for name, field in zope.schema.getFieldsInOrder(IPublication):
+ info[name] = getattr(publication, name)
+ info['certificationLevel'] = CERTIFICATION_LEVELS.getTerm(
+ publication.certificationLevel).title
+ info['certificationDate'] = formatter.format(
+ publication.certificationDate)
+
+ info['author'] = [
+ {'name': name, 'email': email}
+ for name, email in zip(publication.author, publication.authorEmail)]
+
# list of strings converted to strings
- info['author'] = listToString(publication.author)
- info['authorEmail'] = listToString(publication.authorEmail)
info['license'] = listToString(publication.license)
info['platform'] = listToString(publication.platform)
- info['classifier'] = listToString(publication.classifier)
self._info = info
@@ -95,7 +92,11 @@
return self.template()
+class PackageCommunity(PackageInfo):
+ template = ViewPageTemplateFile('package_community.pt')
+
+
class PackageReleases(page.Page):
"""Release view."""
@@ -131,8 +132,7 @@
template = ViewPageTemplateFile('package_classifiers.pt')
def update(self):
- certifications = self.context.certifications
- info = {}
+ info = {'classifier': self.context.publication.classifier}
self._info = info
def render(self):
@@ -153,36 +153,29 @@
template = ViewPageTemplateFile('package_certifications.pt')
def update(self):
- info = {}
+ pass
- # publication info
- publication = self.context.publication
- info['packageName'] = publication.packageName
- info['name'] = publication.name
- self._info = info
+ def info(self):
+ return {'packageName': self.context.publication.packageName,
+ 'name': self.context.publication.name}
- # certification info
+ def certifications(self):
certifications = []
certs = self.context.certifications
+ formatter = self.request.locale.dates.getFormatter('date', 'medium')
+ levels = CERTIFICATION_LEVELS
+ actions = CERTIFICATION_ACTIONS
for cert in certs:
info = {}
- info['action'] = cert.action
- info['sourceLevel'] = cert.sourceLevel
- info['targetLevel'] = cert.targetLevel
- info['date'] = cert.date
- info['certificationManger'] = cert.certificationManger
+ info['action'] = actions.getTerm(cert.action).title
+ info['sourceLevel'] = levels.getTerm(cert.sourceLevel).title
+ info['targetLevel'] = levels.getTerm(cert.targetLevel).title
+ info['date'] = formatter.format(cert.date)
+ info['certificationManager'] = cert.certificationManager
info['comments'] = cert.comments
certifications.append(info)
- self._certifications = certifications
+ return certifications
- @property
- def info(self):
- return self._info
-
- @property
- def certifications(self):
- return self._certifications
-
def __call__(self):
self.update()
return self.template()
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/package.zcml
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package.zcml 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package.zcml 2006-04-12 10:04:50 UTC (rev 66878)
@@ -18,7 +18,35 @@
layer="zf.zscp.skin.IZSCPLayer"
/>
+ <menuItem
+ title="Summary"
+ action="index.html"
+ for="zf.zscp.interfaces.IPackage"
+ menu="zf.zscp.skin.IPackageTabs"
+ layer="zf.zscp.skin.IZSCPLayer"
+ order="1"
+ permission="zope.Public"
+ />
+
<page
+ name="community.html"
+ for="zf.zscp.interfaces.IPackage"
+ class=".package.PackageCommunity"
+ permission="zope.Public"
+ layer="zf.zscp.skin.IZSCPLayer"
+ />
+
+ <menuItem
+ title="Community"
+ action="community.html"
+ for="zf.zscp.interfaces.IPackage"
+ menu="zf.zscp.skin.IPackageTabs"
+ layer="zf.zscp.skin.IZSCPLayer"
+ order="2"
+ permission="zope.Public"
+ />
+
+ <page
name="releases.html"
for="zf.zscp.interfaces.IPackage"
class=".package.PackageReleases"
@@ -26,6 +54,16 @@
layer="zf.zscp.skin.IZSCPLayer"
/>
+ <menuItem
+ title="Releases"
+ action="releases.html"
+ for="zf.zscp.interfaces.IPackage"
+ menu="zf.zscp.skin.IPackageTabs"
+ layer="zf.zscp.skin.IZSCPLayer"
+ order="3"
+ permission="zope.Public"
+ />
+
<page
name="classifiers.html"
for="zf.zscp.interfaces.IPackage"
@@ -34,6 +72,16 @@
layer="zf.zscp.skin.IZSCPLayer"
/>
+ <menuItem
+ title="Classifiers"
+ action="classifiers.html"
+ for="zf.zscp.interfaces.IPackage"
+ menu="zf.zscp.skin.IPackageTabs"
+ layer="zf.zscp.skin.IZSCPLayer"
+ order="4"
+ permission="zope.Public"
+ />
+
<page
name="certifications.html"
for="zf.zscp.interfaces.IPackage"
@@ -42,4 +90,14 @@
layer="zf.zscp.skin.IZSCPLayer"
/>
+ <menuItem
+ title="Certifications"
+ action="certifications.html"
+ for="zf.zscp.interfaces.IPackage"
+ menu="zf.zscp.skin.IPackageTabs"
+ layer="zf.zscp.skin.IZSCPLayer"
+ order="5"
+ permission="zope.Public"
+ />
+
</configure>
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/package_certifications.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package_certifications.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package_certifications.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -1,83 +1,56 @@
-<html metal:use-macro="context/@@standard_macros/view"
- i18n:domain="zf.zscp">
- <body>
- <div metal:fill-slot="body"
- tal:define="global pageversion string: 0.8;
- info view/info;
- certifications view/certifications">
-
- <div id="documentFirstHeading">Release Detail for: TODO</div>
- <div id="package-wrapper">
- <!-- begin package tabs -->
- <div id="package-tabs">
- <div id="tab-info" class="packageTab"><a href="index.html">Info</a>
- </div>
- <div id="tab-classifiers" class="packageTab"><a href="classifiers.html">
- Classifiers</a>
- </div>
- <div id="tab-releases" class="packageTab"><a href="releases.html">
- Releases</a>
- </div>
- <div id="tab-classifiers" class="packageTab selected"><a href="certifications.html">
- Certifications</a>
- </div>
- </div>
- <!-- end package tabs -->
- <!-- begin package body -->
- <div id="package-info" class="packageBody"
- tal:define="packageName info/packageName;
- name info/name">
- <div class="infoRow" tal:condition="python:packageName and name">
- <label>Name:</label>
- <div class="infoString">
- <tal:block content="packageName">zope.search</tal:block>
- (<tal:block content="name">Zope Search</tal:block>)
- </div>
- </div>
+<html metal:use-macro="context/@@standard_macros/package-view">
+<body>
- <!-- start certifications -->
- <tal:block repeat="cert certifications">
- <tal:block define="action cert/action;
- sourceLevel cert/sourceLevel;
- targetLevel cert/targetLevel;
- date cert/date;
- certificationManger cert/certificationManger;
- comments cert/comments">
- <div id="certifiedSilver" class="certSeal">
- </div>
-
- <div class="infoRow">
- <label>Action:</label>
- <div class="infoString"
- tal:content="action">Action</div>
- </div>
- <div class="infoRow">
- <label>Source Level:</label>
- <div class="infoString"
- tal:content="sourceLevel">Action</div>
- </div>
- <div class="infoRow">
- <label>Date:</label>
- <div class="infoString"
- tal:content="date">January 31, 2006</div>
- </div>
- <div class="infoRow">
- <label>Certification Manger:</label>
- <div class="infoString"
- tal:content="certificationManger">January 31, 2006</div>
- </div>
- <div class="infoRow">
- <label>Comments:</label>
- <div class="infoString"
- tal:content="comments">January 31, 2006</div>
- </div>
- </tal:block>
- </tal:block>
- <!-- end releases -->
- </div>
- <!-- end package body -->
- </div>
+ <div metal:fill-slot="package-info">
- </div>
- </body>
-</html>
\ No newline at end of file
+ <div style="height: 10px;"></div>
+
+ <tal:block repeat="cert view/certifications">
+ <div class="infoRow">
+ <label>Action:</label>
+ <div class="infoString"
+ tal:content="cert/action">Action</div>
+ </div>
+ <div class="infoRow">
+ <label>Source Level:</label>
+ <div class="infoString"
+ tal:content="cert/sourceLevel">None</div>
+ </div>
+ <div class="infoRow">
+ <label>Target Level:</label>
+ <div class="infoString"
+ tal:content="cert/targetLevel">Listed</div>
+ </div>
+ <div class="infoRow">
+ <label>Date:</label>
+ <div class="infoString"
+ tal:content="cert/date">January 31, 2006</div>
+ </div>
+ <div class="infoRow">
+ <label>Cert. Manager:</label>
+ <div class="infoString">
+ <span tal:replace="cert/certificationManager/name" />
+ <a href=""
+ tal:attributes="href
+ string:mailto:${cert/certificationManager/email}"
+ tal:content="cert/certificationManager/email" />
+ </div>
+ </div>
+ <div class="infoRow"
+ tal:condition="cert/comments">
+ <label>Comments:</label>
+ <div class="infoString"
+ tal:content="cert/comments">January 31, 2006</div>
+ </div>
+
+ <div class="infoRow"
+ tal:condition="not:repeat/cert/end">
+ <hr class="white-line" />
+ </div>
+
+ </tal:block>
+
+ </div>
+
+</body>
+</html>
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/package_classifiers.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package_classifiers.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package_classifiers.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -1,45 +1,14 @@
-<html metal:use-macro="context/@@standard_macros/view"
- i18n:domain="zf.zscp">
- <body>
- <div metal:fill-slot="body"
- tal:define="global pageversion string: 0.8;
- info view/info">
-
- <div id="documentFirstHeading">Classifier Detail for: TODO</div>
- <div id="package-wrapper">
- <!-- begin package tabs -->
- <div id="package-tabs">
- <div id="tab-info" class="packageTab"><a href="index.html">Info</a>
- </div>
- <div id="tab-classifiers" class="packageTab selected"><a href="classifiers.html">
- Classifiers</a>
- </div>
- <div id="tab-releases" class="packageTab"><a href="releases.html">
- Releases</a>
- </div>
- <div id="tab-classifiers" class="packageTab"><a href="certifications.html">
- Certifications</a>
- </div>
- </div>
- <!-- end package tabs -->
- <!-- begin package body -->
- <div id="package-info" class="packageBody">
- <div id="certifiedSilver" class="certSeal">
- </div>
- <div class="infoRow">
- <label>Name:</label>
- <div class="infoString">zope.search (Zope Search)</div>
- </div>
- <div class="infoRow">
- <label>Description:</label>
- <div class="infoString"> The Zope search package provides
- generic user interface components, such as live search and
- advanced search forms. </div>
- </div>
- </div>
- <!-- end package body -->
- </div>
+<html metal:use-macro="context/@@standard_macros/package-view">
+<body>
- </div>
- </body>
-</html>
\ No newline at end of file
+ <div metal:fill-slot="package-info">
+
+ <div style="height: 10px;"></div>
+
+ <div tal:repeat="classifier view/info/classifier"
+ tal:content="classifier" />
+
+ </div>
+
+</body>
+</html>
Added: zf.zscp/trunk/src/zf/zscp/website/browser/package_community.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package_community.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package_community.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -0,0 +1,68 @@
+<html metal:use-macro="context/@@standard_macros/package-view">
+<body>
+
+ <div metal:fill-slot="package-info"
+ tal:define="pub view/info">
+
+ <h2>Mailing Lists</h2>
+
+ <div class="infoRow" tal:condition="pub/developersMailinglist">
+ <label>Developers:</label>
+ <div class="infoString">
+ <a href=""
+ tal:content="pub/developersMailinglist"
+ tal:attributes="href string:mailto:${pub/developersMailinglist}">
+ zope at zope.org
+ </a>
+ </div>
+ </div>
+
+ <div class="infoRow" tal:condition="pub/usersMailinglist">
+ <label>Users:</label>
+ <div class="infoString">
+ <a href=""
+ tal:content="pub/usersMailinglist"
+ tal:attributes="href string:mailto:${pub/usersMailinglist}">
+ zope at zope.org
+ </a>
+ </div>
+ </div>
+
+ <h2>Development Sites</h2>
+
+ <div class="infoRow" tal:condition="pub/issueTracker">
+ <label>Issue Tracker:</label>
+ <div class="infoString">
+ <a href=""
+ tal:content="pub/issueTracker"
+ tal:attributes="href pub/issueTracker">
+ zope at zope.org
+ </a>
+ </div>
+ </div>
+
+ <div class="infoRow" tal:condition="pub/repositoryLocation">
+ <label>Repository:</label>
+ <div class="infoString">
+ <a href=""
+ tal:content="pub/repositoryLocation"
+ tal:attributes="href pub/repositoryLocation">
+ zope at zope.org
+ </a>
+ </div>
+ </div>
+
+ <div class="infoRow" tal:condition="pub/repositoryWebLocation">
+ <label>Browsable:</label>
+ <div class="infoString">
+ <a href=""
+ tal:content="pub/repositoryWebLocation"
+ tal:attributes="href pub/repositoryWebLocation">
+ zope at zope.org
+ </a>
+ </div>
+ </div>
+
+ </div>
+</body>
+</html>
Property changes on: zf.zscp/trunk/src/zf/zscp/website/browser/package_community.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/package_info.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package_info.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package_info.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -1,92 +1,64 @@
-<html metal:use-macro="context/@@standard_macros/view"
- i18n:domain="zf.zscp">
- <body>
- <div metal:fill-slot="body"
- tal:define="global pageversion string: 0.8;
- info view/info">
-
- <div id="documentFirstHeading">Package Detail for: TODO</div>
- <div id="package-wrapper">
- <!-- begin package tabs -->
- <div id="package-tabs">
- <div id="tab-info" class="packageTab selected"><a href="index.html">Info</a>
- </div>
- <div id="tab-classifiers" class="packageTab"><a href="classifiers.html">
- Classifiers</a>
- </div>
- <div id="tab-releases" class="packageTab"><a href="releases.html">
- Releases</a>
- </div>
- <div id="tab-classifiers" class="packageTab"><a href="certifications.html">
- Certifications</a>
- </div>
- </div>
- <!-- end package tabs -->
- <!-- begin package body -->
- <div id="package-info" class="packageBody"
- tal:define="packageName info/packageName;
- name info/name;
- certificationLevel info/certificationLevel;
- certificationDate info/certificationDate;
- summary info/summary;
- license info/license;
- author info/author;
- homePage info/homePage;
- description info/description">
-
- <!-- certification Seal (possible values: certified[Gold | Silver| Bronze]) -->
- <div id="certifiedSilver" class="certSeal">
- </div>
- <div class="infoRow" tal:condition="python:packageName and name">
- <label>Name:</label>
- <div class="infoString">
- <tal:block content="packageName">zope.search</tal:block>
- (<tal:block content="name">Zope Search</tal:block>)
- </div>
- </div>
- <div class="infoRow" tal:condition="python:certificationLevel and certificationDate">
- <label>Certification:</label>
- <div class="infoString">
- <tal:block content="certificationLevel">Silver</tal:block>
- (<tal:block content="certificationDate">January 31, 2006</tal:block>)
- </div>
- </div>
- <div class="infoRow" tal:condition="summary">
- <label>Summary:</label>
- <div class="infoString"
- tal:content="summary">Zope Search UI Package</div>
- </div>
- <div class="infoRow" tal:condition="license">
- <label>License:</label>
- <div class="infoString"
- tal:content="license">ZPL</div>
- </div>
- <div class="infoRow" tal:condition="author">
- <label>Author(s):</label>
- <div class="infoString"
- tal:content="author">Stephan Richter (stephan.richter
- [at] tufts.edu)</div>
- </div>
- <div class="infoRow" tal:condition="homePage">
- <label>Homepage:</label>
- <div class="infoString"> <a
- href="http://www.zope.org/Products/zope.search"
- tal:content="info/homePage"
- tal:attributes="href homePage">
- http://www.zope.org/Products/zope.search</a>
- </div>
- </div>
- <div class="infoRow" tal:condition="description">
- <label>Description:</label>
- <div class="infoString"
- tal:content="description"> The Zope search package provides
- generic user interface components, such as live search and
- advanced search forms. </div>
- </div>
- </div>
- <!-- end package body -->
- </div>
+<html metal:use-macro="context/@@standard_macros/package-view">
+<body>
- </div>
- </body>
-</html>
\ No newline at end of file
+ <div metal:fill-slot="package-info"
+ tal:define="pub view/info">
+
+ <div style="height: 10px;"></div>
+
+ <div class="infoRow">
+ <div class="infoString"
+ tal:content="pub/summary">Zope Search UI Package</div>
+ </div>
+ <div class="infoRow"
+ tal:condition="pub/certificationLevel">
+ <label>Certification:</label>
+ <div class="infoString">
+ <tal:block content="pub/certificationLevel">Level 1</tal:block>
+ (<tal:block content="pub/certificationDate">
+ January 31, 2006</tal:block>)
+ </div>
+ </div>
+ <div class="infoRow" tal:condition="pub/license">
+ <label>License:</label>
+ <div class="infoString"
+ tal:content="pub/license">ZPL</div>
+ </div>
+ <div class="infoRow" tal:condition="pub/author">
+ <label>Author(s):</label>
+ <div class="infoString">
+ <div tal:repeat="author pub/author">
+ <span tal:replace="author/name" /> –
+ <a href=""
+ tal:attributes="href string:mailto:${author/email}"
+ tal:content="author/email" />
+ </div>
+ </div>
+ </div>
+ <div class="infoRow" tal:condition="pub/homePage">
+ <label>Homepage:</label>
+ <div class="infoString"> <a
+ href="http://www.zope.org/Products/zope.search"
+ tal:content="pub/homePage"
+ tal:attributes="href pub/homePage">
+ http://www.zope.org/Products/zope.search</a>
+ </div>
+ </div>
+ <div class="infoRow" tal:condition="pub/description">
+ <label>Description:</label>
+ <div class="infoString"
+ tal:content="pub/description"> The Zope search package provides
+ generic user interface components, such as live search and
+ advanced search forms.
+ </div>
+ </div>
+ <div class="infoRow" tal:condition="pub/description">
+ <label>Platform:</label>
+ <div class="infoString"
+ tal:content="pub/platform">all
+ </div>
+ </div>
+
+ </div>
+</body>
+</html>
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/package_releases.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/package_releases.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/package_releases.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -1,112 +1,85 @@
-<html metal:use-macro="context/@@standard_macros/view"
- i18n:domain="zf.zscp">
+<html metal:use-macro="context/@@standard_macros/package-view">
<body>
-<div metal:fill-slot="body"
- tal:define="global pageversion string: 0.8;
- releases view/releases">
- <div id="documentFirstHeading">Release Detail for: TODO</div>
- <div id="package-wrapper">
- <!-- begin package tabs -->
- <div id="package-tabs">
- <div id="tab-info" class="packageTab"><a href="index.html">Info</a>
- </div>
- <div id="tab-classifiers" class="packageTab">
- <a href="classifiers.html">Classifiers</a>
- </div>
- <div id="tab-releases" class="packageTab selected">
- <a href="releases.html">Releases</a>
- </div>
- <div id="tab-classifiers" class="packageTab">
- <a href="certifications.html">Certifications</a>
- </div>
+ <div metal:fill-slot="package-info">
+
+ <div tal:condition="not: view/releases"
+ i18n:translate="">
+ There are no releases for this package.
</div>
- <!-- end package tabs -->
- <!-- begin package body -->
- <div id="package-info" class="packageBody">
+ <div tal:repeat="release view/releases">
- <div tal:condition="not: releases"
- i18n:translate="">
- There are no releases for this package.
- </div>
+ <h2>
+ <span tal:replace="release/name" />
+ <span tal:replace="release/version" />
+ <span tal:condition="release/codename">
+ ("<span tal:replace="release/codename" />")
+ </span>
+ </h2>
- <div tal:repeat="release releases">
-
- <h2>
- <span tal:replace="release/name" />
- <span tal:replace="release/version" />
- <span tal:condition="release/codename">
- ("<span tal:replace="release/codename" />")
- </span>
- </h2>
-
- <div class="infoRow">
- <label>Release Date:</label>
- <div class="infoString"
- tal:content="release/date" />
+ <div class="infoRow">
+ <label>Release Date:</label>
+ <div class="infoString"
+ tal:content="release/date" />
+ </div>
+ <div class="infoRow">
+ <label>Certification:</label>
+ <div class="infoString"
+ tal:content="release/certification" />
+ </div>
+ <div class="infoRow">
+ <label>Package:</label>
+ <div class="infoString">
+ <a href=""
+ tal:attributes="href release/package"
+ tal:content="release/package" />
</div>
- <div class="infoRow">
- <label>Certification:</label>
- <div class="infoString"
- tal:content="release/certification" />
+ </div>
+ <div class="infoRow"
+ tal:condition="release/source">
+ <label>Source:</label>
+ <div class="infoString">
+ <a href=""
+ tal:attributes="href release/source"
+ tal:content="release/source" />
</div>
- <div class="infoRow">
- <label>Package:</label>
- <div class="infoString">
- <a href=""
- tal:attributes="href release/package"
- tal:content="release/package" />
- </div>
+ </div>
+ <div class="infoRow"
+ tal:condition="release/announcement">
+ <label>Announcement:</label>
+ <div class="infoString">
+ <a href=""
+ tal:attributes="href release/announcement"
+ tal:content="release/announcement" />
</div>
- <div class="infoRow"
- tal:condition="release/source">
- <label>Source:</label>
- <div class="infoString">
- <a href=""
- tal:attributes="href release/source"
- tal:content="release/source" />
- </div>
+ </div>
+ <div class="infoRow"
+ tal:condition="release/releaseManager">
+ <label>Release Manager:</label>
+ <div class="infoString">
+ <span tal:replace="release/releaseManager/name" />
+ <a href=""
+ tal:attributes="href
+ string:mailto:${release/releaseManager/email}"
+ tal:content="release/releaseManager/email" />
</div>
- <div class="infoRow"
- tal:condition="release/announcement">
- <label>Announcement:</label>
- <div class="infoString">
- <a href=""
- tal:attributes="href release/announcement"
- tal:content="release/announcement" />
- </div>
+ </div>
+ <div class="infoRow"
+ tal:condition="release/pressContact">
+ <label>Press Contact:</label>
+ <div class="infoString">
+ <span tal:replace="release/pressContact/name" />
+ <a href=""
+ tal:attributes="href
+ string:mailto:${release/pressContact/email}"
+ tal:content="release/pressContact/email" />
</div>
- <div class="infoRow"
- tal:condition="release/releaseManager">
- <label>Release Manager:</label>
- <div class="infoString">
- <span tal:replace="release/releaseManager/name" />
- <a href=""
- tal:attributes="href
- string:mailto:${release/releaseManager/email}"
- tal:content="release/releaseManager/email" />
- </div>
- </div>
- <div class="infoRow"
- tal:condition="release/pressContact">
- <label>Press Contact:</label>
- <div class="infoString">
- <span tal:replace="release/pressContact/name" />
- <a href=""
- tal:attributes="href
- string:mailto:${release/pressContact/email}"
- tal:content="release/pressContact/email" />
- </div>
- </div>
-
</div>
</div>
- <!-- end package body -->
</div>
-</div>
</body>
</html>
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/site.py
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/site.py 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/site.py 2006-04-12 10:04:50 UTC (rev 66878)
@@ -19,13 +19,16 @@
from zope.interface import Interface
from zope.interface import implements
from zope.formlib import page
+from zope.app import zapi
from zope.app.traversing.browser.absoluteurl import absoluteURL
from zope.app.pagetemplate import ViewPageTemplateFile
+from zc.table import table, column
+from zf.zscp import interfaces
class ISiteIndex(Interface):
"""Marker interface for Site index.
-
+
Provider like logo provider need this for show up at the index view.
"""
@@ -36,7 +39,20 @@
implements(ISiteIndex)
+class NameColumn(column.SortingColumn):
+ def renderCell(self, item, formatter):
+ url = zapi.absoluteURL(item, formatter.request)
+ return '<a href="%s">%s</a>' %(url, item.name)
+
+ def getSortKey(self, item, formatter):
+ return item.name
+
+def getCertification(item, formatter):
+ return interfaces.CERTIFICATION_LEVELS.getTerm(
+ item.publication.certificationLevel).title
+
+
class PackageList(page.Page):
"""Show a list of packages."""
@@ -61,3 +77,21 @@
def getPackageInfo(self):
return self.packageInfos
+
+
+ def table(self):
+
+ columns = [
+ NameColumn(u'Package Name', name='packageName'),
+ column.GetterColumn(u'Name', name='name',
+ getter=lambda i,f: i.publication.name),
+ column.GetterColumn(u'Certification', getCertification,
+ name='certification'),
+ ]
+
+ formatter = table.FormSortFormatter(
+ self.context, self.request, self.context['packages'].values(),
+ columns=columns,
+ sort_on=(('certification', True), ('packageName', False))
+ )
+ return formatter()
Modified: zf.zscp/trunk/src/zf/zscp/website/browser/site_packages.pt
===================================================================
--- zf.zscp/trunk/src/zf/zscp/website/browser/site_packages.pt 2006-04-12 07:40:25 UTC (rev 66877)
+++ zf.zscp/trunk/src/zf/zscp/website/browser/site_packages.pt 2006-04-12 10:04:50 UTC (rev 66878)
@@ -2,11 +2,17 @@
<body>
<div align="center" metal:fill-slot="body">
<div id="documentFirstHeading">Package List</div>
- <div tal:repeat="info view/getPackageInfo">
- <a href="#"
- tal:content="info/name"
- tal:attributes="href info/url">name</a>
- </div>
+
+<form action=""
+ tal:attributes="action request/URL">
+
+ <div class="package-table">
+ <div tal:replace="structure view/table" />
+ </div>
+
+</form>
+
</div>
+
</body>
</html>
More information about the Checkins
mailing list