[Zope3-checkins] CVS: Zope3/src/zope/app/browser/services -
adapter.py:1.12 adapter_search.pt:1.7
add_adapter_config.pt:1.4 add_svc_config.pt:1.7
addrole.pt:1.3 addservicemanager.py:1.4 adduser.pt:1.4
auth.py:1.4 auth.zcml:1.3 bundle.pt:1.13 bundle.py:1.10
cache.py:1.12 cache.zcml:1.7 caches.pt:1.12
configure.zcml:1.64 configureCache.pt:1.5
configureConnection.pt:1.5 configureView.pt:1.4
connection.py:1.14 connection.zcml:1.9 connections.pt:1.14
edituser.pt:1.5 error.pt:1.7 error.py:1.6 errorentry.pt:1.6
event.py:1.4 eventcontrol.pt:1.4 field.py:1.12 hub.py:1.4
hubcontrol.pt:1.5 pagefolder.py:1.3 pagefolder.zcml:1.4
role.py:1.3 service.py:1.34 serviceactivation.pt:1.10
services.pt:1.13 subscription_control.pt:1.2 view.py:1.22
view.zcml:1.6 views.pt:1.8 zpt.py:1.3 auth.pt:NONE
Stephan Richter
srichter at cosmos.phy.tufts.edu
Thu Aug 7 14:42:32 EDT 2003
Update of /cvs-repository/Zope3/src/zope/app/browser/services
In directory cvs.zope.org:/tmp/cvs-serv26029/services
Modified Files:
adapter.py adapter_search.pt add_adapter_config.pt
add_svc_config.pt addrole.pt addservicemanager.py adduser.pt
auth.py auth.zcml bundle.pt bundle.py cache.py cache.zcml
caches.pt configure.zcml configureCache.pt
configureConnection.pt configureView.pt connection.py
connection.zcml connections.pt edituser.pt error.pt error.py
errorentry.pt event.py eventcontrol.pt field.py hub.py
hubcontrol.pt pagefolder.py pagefolder.zcml role.py service.py
serviceactivation.pt services.pt subscription_control.pt
view.py view.zcml views.pt zpt.py
Removed Files:
auth.pt
Log Message:
Internationalized the rest of zope/app/browser.
I also took the chance to clean up some old code and remove a lot of cruft.
(This is the reason I decided to do it instead of letting a less
experienced developer do it.)
I now consider I18n of the Zope core done. What does this mean to you?
1. All code you check into the CVS must be internationalized. That means:
(a) Python and PT code must be properly tagged.
(b) zope.pot must be updated. This can be done with::
[zope/app/translation_files]$ python extract.py
Note: You do not need to merge the new POT file with the catalogs.
2. Any code snippet that has no I18n is considered a bug! Therefore, please
take care and do the I18n and make code so when you see missing spots.
Finally I would like to mention that some forms might experience some
hickups, as I changed and moved around a lot of templates and was not able
to verify them all by hand. Please let me know, if something that used to
work is not working anymore.
=== Zope3/src/zope/app/browser/services/adapter.py 1.11 => 1.12 ===
--- Zope3/src/zope/app/browser/services/adapter.py:1.11 Sat Jun 21 17:50:15 2003
+++ Zope3/src/zope/app/browser/services/adapter.py Thu Aug 7 13:41:03 2003
@@ -33,6 +33,7 @@
from zope.publisher.browser import BrowserView
from zope.app.context import ContextWrapper
+from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.interfaces.services.adapter import IAdapterRegistration
from zope.app.interfaces.services.adapter import IAdapterRegistrationInfo
from zope.app.interfaces.services.registration import IRegistration
@@ -45,12 +46,13 @@
class IAdapterSearch(Interface):
- forInterface = InterfaceField(title=u"For interface",
- required=False,
- )
- providedInterface = InterfaceField(title=u"Provided interface",
- required=False,
- )
+ forInterface = InterfaceField(
+ title=_("For interface"),
+ required=False)
+
+ providedInterface = InterfaceField(
+ title=_("Provided interface"),
+ required=False)
class AdapterServiceView(BrowserView):
=== Zope3/src/zope/app/browser/services/adapter_search.pt 1.6 => 1.7 ===
--- Zope3/src/zope/app/browser/services/adapter_search.pt:1.6 Wed Jun 25 17:18:53 2003
+++ Zope3/src/zope/app/browser/services/adapter_search.pt Thu Aug 7 13:41:03 2003
@@ -1,27 +1,26 @@
<html metal:use-macro="views/standard_macros/page">
-<head><title></title></head>
<body>
<div metal:fill-slot="body">
-<form action="." method="get"
- tal:attributes="action request/URL"
- >
+ <form action="." method="get"
+ tal:attributes="action request/URL">
<div class="row" tal:content="structure view/forInterface/row" />
<div class="row" tal:content="structure view/providedInterface/row" />
<div class="controls">
- <input type="submit" value="Refresh" />
- <input type="submit" value="Search" name="SEARCH" />
+ <input type="submit" value="Refresh"
+ i18n:attributes="value refresh-button" />
+ <input type="submit" value="Search" name="SEARCH"
+ i18n:attributes="value search-button" />
</div>
-</form>
+ </form>
-<form action="." method="post"
+ <form action="." method="post"
tal:attributes="action request/URL"
- tal:condition="request/SEARCH|nothing"
- >
+ tal:condition="request/SEARCH|nothing">
<table>
<tr>
- <th>For/<br />Provided</th>
- <th>Configuration</th>
+ <th i18n:translate="">For/<br />Provided</th>
+ <th i18n:translate="">Configuration</th>
</tr>
<tr tal:repeat="config view/configInfo">
@@ -34,7 +33,8 @@
<td></td>
<td></td>
<td>
- <input type="submit" value="Update" name="UPDATE_SUBMIT" />
+ <input type="submit" value="Update" name="UPDATE_SUBMIT" />
+ i18n:attributes="value update-button" />
</td>
</tr>
</table>
=== Zope3/src/zope/app/browser/services/add_adapter_config.pt 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/add_adapter_config.pt:1.3 Thu Jan 16 14:50:32 2003
+++ Zope3/src/zope/app/browser/services/add_adapter_config.pt Thu Aug 7 13:41:03 2003
@@ -1,20 +1,34 @@
<html metal:use-macro="views/standard_macros/dialog">
-<head><title></title></head>
+<head>
+ <title metal:fill-slot="title" i18n:translate="">
+ Add Adapter Configuration
+ </title>
+</head>
<body>
<div metal:fill-slot="body">
-<form action="." method="post"
- tal:attributes="action request/URL"
- tal:condition="view/refresh"
- >
- <div class="row"
- tal:repeat="widget view/getWidgets"
- tal:content="structure widget/row">
- <div class="label">Label</div>
- <div class="field">Roles</div>
- </div>
- <input type="submit" value="Refresh" />
- <input type="submit" name="FINISH" value="Finish" />
-</form>
+ <form action="." method="post"
+ tal:attributes="action request/URL"
+ tal:condition="view/refresh">
-</div></body></html>
+ <div class="row"
+ tal:repeat="widget view/getWidgets"
+ tal:content="structure widget/row">
+ <div class="label">Label</div>
+ <div class="field">Roles</div>
+ </div>
+
+ <div class="row">
+ <div class="controls">
+ <input type="submit" value="Refresh"
+ i18n:attributes="value refresh-button" />
+ <input type="submit" name="FINISH" value="Finish"
+ i18n:attributes="value finnish-button" />
+ </div>
+ </div>
+
+ </form>
+
+</div>
+</body>
+</html>
=== Zope3/src/zope/app/browser/services/add_svc_config.pt 1.6 => 1.7 ===
--- Zope3/src/zope/app/browser/services/add_svc_config.pt:1.6 Mon Jun 30 13:10:54 2003
+++ Zope3/src/zope/app/browser/services/add_svc_config.pt Thu Aug 7 13:41:03 2003
@@ -1,47 +1,44 @@
<html metal:use-macro="context/@@standard_macros/dialog">
- <body>
- <div metal:fill-slot="body">
+<body>
+<div metal:fill-slot="body">
- <form action="add_svc_config.html">
+ <form action="add_svc_config.html" method="post">
- <p>Register this object to provide the following service(s):</p>
+ <p i18n:translate="">
+ Register this object to provide the following service(s):
+ </p>
+
+ <table>
+ <thead>
+ <tr>
+ <th i18n:translate="">Register</th>
+ <th i18n:translate="">Service name</th>
+ <th i18n:translate="">Activate</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr tal:repeat="item view/listServiceTypes">
+ <td>
+ <input type="checkbox" name="name:list" value="value"
+ checked="checked" tal:attributes="value item/name" />
+ </td>
+ <td tal:content="item/name">Events</td>
+ <td>
+ <input type="checkbox" name="active:list" value="value"
+ tal:attributes="value item/name;
+ checked item/checked" />
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <input type="reset" value="Reset form"
+ i18n:attributes="value reset-button" />
+ <input type="submit" value="Submit"
+ i18n:attributes="value submit-button" />
- <table>
+ </form>
- <thead>
- <tr>
- <th>Register</th>
- <th>Service name</th>
- <th>Activate</th>
- </tr>
- </thead>
-
- <tbody>
- <tr tal:repeat="item view/listServiceTypes">
-
- <td>
- <input type="checkbox" name="name:list" value="value"
- checked="checked" tal:attributes="value item/name" />
- </td>
- <td tal:content="item/name">Events</td>
-
- <td>
- <input type="checkbox" name="active:list" value="value"
- tal:attributes="value item/name;
- checked item/checked" />
- </td>
-
- </tr>
- </tbody>
-
- </table>
-
- <input type="reset" value="Reset form" />
- <input type="submit" value="Submit" />
-
-
- </form>
-
- </div>
- </body>
+</div>
+</body>
</html>
=== Zope3/src/zope/app/browser/services/addrole.pt 1.2 => 1.3 ===
--- Zope3/src/zope/app/browser/services/addrole.pt:1.2 Wed Dec 25 09:12:36 2002
+++ Zope3/src/zope/app/browser/services/addrole.pt Thu Aug 7 13:41:03 2003
@@ -1,19 +1,44 @@
<html metal:use-macro="views/standard_macros/page">
-<head><title>Add Role</title></head>
+<head>
+ <title metal:fill-slot="title" i18n:translate="">Add Role</title>
+</head>
<body>
<div metal:fill-slot="body">
-Enter the information about the role.
-<form action="action.html" method="post">
-<table cellspacing="0" cellpadding="2" border="0">
- <tr><td>Id</td>
- <td><input type="text" name="id" size="40" value="" /> </td>
- </tr>
- <tr><td>Title</td>
- <td><input type="text" name="title" size="60" value="" /> </td>
- </tr>
- <tr><td>Descrption</td>
- <td><textarea name="description" rows="10" cols="60"></textarea></td>
- </tr>
-</table>
-<input type="submit" name="submit" value=" Create Role " />
-</form></div></body></html>
+
+ <div i18n:translate="">Enter the information about the role.</div>
+
+ <form action="action.html" method="post">
+
+ <div class="row">
+ <div class="label" i18n:translate="">Id</div>
+ <div class="field">
+ <input type="text" name="id" size="40" value="" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Title</div>
+ <div class="field">
+ <input type="text" name="title" size="60" value="" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Description</div>
+ <div class="field">
+ <textarea name="description" rows="10" cols="60" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="controls">
+ <input type="submit" name="submit" value="Create Role"
+ i18n:attributes="value create-role-button" />
+ </div>
+ </div>
+
+ </form>
+
+</div>
+</body>
+</html>
=== Zope3/src/zope/app/browser/services/addservicemanager.py 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/addservicemanager.py:1.3 Sun Mar 23 17:35:36 2003
+++ Zope3/src/zope/app/browser/services/addservicemanager.py Thu Aug 7 13:41:03 2003
@@ -11,15 +11,13 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""
+"""Add Service Manager View Class
+
$Id$
"""
-
-from zope.publisher.browser import BrowserView
from zope.app.services.service import ServiceManager
-
-class AddServiceManager(BrowserView):
+class AddServiceManager:
def addServiceManager(self):
sm = ServiceManager()
=== Zope3/src/zope/app/browser/services/adduser.pt 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/adduser.pt:1.3 Mon Jun 30 13:10:54 2003
+++ Zope3/src/zope/app/browser/services/adduser.pt Thu Aug 7 13:41:03 2003
@@ -1,62 +1,64 @@
<html metal:use-macro="views/standard_macros/page">
<head>
- <title>Add User</title>
+ <title metal:fill-slot="title" i18n:translate="">Add User</title>
</head>
<body>
<div metal:fill-slot="body">
-
<form action="." method="post" enctype="multipart/form-data">
- <table>
- <tbody>
-
- <tr>
- <th>Id:</th>
- <td>
- <input type="text" name="id" size="40" value="" />
- </td>
- </tr>
- <tr>
- <th>Title:</th>
- <td>
- <input type="text" name="title" size="40" value="" />
- </td>
- </tr>
- <tr>
- <th>Description:</th>
- <td>
- <input type="text" name="description" size="40" value="" />
- </td>
- </tr>
- <tr>
- <th>Login:</th>
- <td>
- <input type="text" name="login" size="40" value="" />
- </td>
- </tr>
- <tr>
- <th>Password:</th>
- <td>
- <input type="password" name="password" size="40" value="" />
- </td>
- </tr>
- <tr>
- <th>Roles:</th>
- <td>
- <select name="roles:list">
- <option value="Manager">Manager</option>
- </select>
- </td>
- </tr>
-
- </tbody>
- </table>
+ <div class="row">
+ <div class="label" i18n:translate="">Id</div>
+ <div class="field">
+ <input type="text" name="id" size="40" value="" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Title</div>
+ <div class="field">
+ <input type="text" name="title" size="60" value="" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Description</div>
+ <div class="field">
+ <textarea name="description" rows="10" cols="60" />
+ </div>
+ </div>
- <input type="submit" name="action.html:method" value="Add" />
+ <div class="row">
+ <div class="label" i18n:translate="">Login</div>
+ <div class="field">
+ <input type="text" name="login" size="40" value="" />
+ </div>
+ </div>
- </form>
+ <div class="row">
+ <div class="label" i18n:translate="">Password</div>
+ <div class="field">
+ <input type="password" name="password" size="40" value="" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Roles</div>
+ <div class="field">
+ <select name="roles:list">
+ <option value="Manager">Manager</option>
+ </select>
+ </div>
+ </div>
+ <div class="row">
+ <div class="controls">
+ <input type="submit" name="action.html:method" value="Add"
+ i18n:attributes="value add-button"/>
+ </div>
+ </div>
+
+ </form>
</div>
</body>
=== Zope3/src/zope/app/browser/services/auth.py 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/auth.py:1.3 Tue Mar 25 06:44:10 2003
+++ Zope3/src/zope/app/browser/services/auth.py Thu Aug 7 13:41:03 2003
@@ -15,18 +15,18 @@
$Id$
"""
-from zope.publisher.browser import BrowserView
from zope.app.services.auth import User
+from zope.app.services.servicenames import Roles
from zope.component import getService
-class AddUser(BrowserView):
+class AddUser:
def action(self, id, title, description, login, password, roles):
user = User(id, title, description, login, password)
self.context.setObject(id, user)
return self.request.response.redirect(self.request.URL[-2])
-class EditUser(BrowserView):
+class EditUser:
def action(self, title, description, login, password, roles):
user = self.context
@@ -39,5 +39,5 @@
return self.request.response.redirect(self.request.URL[-1])
def getAvailableRoles(self):
- service = getService(self.context, "Roles")
+ service = getService(self.context, Roles)
return service.getRoles()
=== Zope3/src/zope/app/browser/services/auth.zcml 1.2 => 1.3 ===
--- Zope3/src/zope/app/browser/services/auth.zcml:1.2 Sun Aug 3 13:49:27 2003
+++ Zope3/src/zope/app/browser/services/auth.zcml Thu Aug 7 13:41:03 2003
@@ -1,12 +1,10 @@
-<configure
- xmlns='http://namespaces.zope.org/browser'
- i18n_domain='zope'
- >
+<configure xmlns="http://namespaces.zope.org/browser">
<!-- Authentication Service -->
<!-- XXX This is silly -->
- <menu id="add_user"
+ <menu
+ id="add_user"
title="Menu for adding new User." />
<page
@@ -15,7 +13,7 @@
permission="zope.ManageServices"
class="zope.app.browser.container.contents.Contents"
attribute="contents"
- />
+ menu="zmi_views" title="Contents" />
<view
name="+"
@@ -27,30 +25,21 @@
<page name="index.html" template="adduser.pt" />
<page name="action.html" attribute="action" />
- </view>
-
- <menuItems
- menu="zmi_views"
- for="zope.app.services.auth.IAuthenticationService">
- <menuItem title="Contents" action="@@index.html"/>
- </menuItems>
-
- <defaultView for="zope.app.interfaces.security.IPrincipal"
- name="editForm.html" />
+ </view>
<pages
for="zope.app.interfaces.security.IPrincipal"
permission="zope.View"
class="zope.app.browser.services.auth.EditUser">
- <page name="editForm.html" template="edituser.pt" />
+ <page name="editForm.html" template="edituser.pt"
+ menu="zmi_views" title="Edit" />
<page name="edit.html" attribute="action" />
</pages>
- <menuItems menu="zmi_views"
- for="zope.app.interfaces.security.IPrincipal">
- <menuItem title="Edit" action="editForm.html"/>
- </menuItems>
+ <defaultView
+ for="zope.app.interfaces.security.IPrincipal"
+ name="editForm.html" />
</configure>
=== Zope3/src/zope/app/browser/services/bundle.pt 1.12 => 1.13 ===
--- Zope3/src/zope/app/browser/services/bundle.pt:1.12 Tue Jul 1 12:12:18 2003
+++ Zope3/src/zope/app/browser/services/bundle.pt Thu Aug 7 13:41:03 2003
@@ -1,104 +1,138 @@
<html metal:use-macro="views/standard_macros/page">
+<head>
+ <title metal:fill-slot="title" i18n:translate="">Bundle Information</title>
+</head>
<body>
<div metal:fill-slot="body" tal:define="message view/update">
-<h1>Bundle Information</h1>
+ <h1 i18n:translate="">Bundle Information</h1>
-<h4>Services needed by this bundle</h4>
+ <h4 i18n:translate="">Services needed by this bundle</h4>
-<ul>
- <li tal:repeat="svc view/listServices">
- <i tal:content="svc/service">Foo</i> service:
- <span tal:condition="svc/insite">
- present in site at
- <a tal:content="svc/path" tal:attributes="href svc/path">/path</a>
- </span>
- <span tal:condition="not:svc/insite">
- <span tal:condition="svc/inbundle">
- registered in bundle at
- <a tal:content="svc/inbundle"
- tal:attributes="href svc/inbundle">path</a>
+ <ul>
+ <li tal:repeat="svc view/listServices">
+ <span i18n:translate="">
+ <i tal:content="svc/service" i18n:name="service_name">Foo</i> service:
</span>
- <span tal:condition="not:svc/inbundle">
- <font size="+1" color="red">
- <b>UNFULFILLED DEPENDENCY</b>
- </font>
- <br /><b>(You must <a href="../default/AddService">add a
- <i tal:content="svc/service">Foo</i>
- service to this site</a> before you can activate this bundle)</b>
+ <span tal:condition="svc/insite" i18n:translate="">
+ present in site at
+ <a tal:content="svc/path" tal:attributes="href svc/path"
+ i18n:name="path">/path</a>
</span>
- </span>
- </li>
-</ul>
-
-<h4>Registrations in this bundle</h4>
-
- <div class="message" tal:condition="message">
- <span tal:replace="message">view/update message here</span>
- <br /><br /><i><a href="@@bundle.html">(click to clear message)</a></i>
- </div>
-
-<form action="@@bundle.html" method="get">
-
- <tal:block tal:repeat="svc view/listServices">
-
- <p>For <i tal:content="svc/service">Foo</i> service</p>
-
- <ul>
- <tal:block tal:repeat="cnf view/listRegistrations">
- <li tal:condition="python: cnf['service'] == svc['service']"
- tal:define="activate python:cnf['advice'] == 'Active'">
- <a tal:attributes="href cnf/path">
- <i tal:content="cnf/usage">Usage summary</i>
- implemented by
- <i tal:content="cnf/implementation">Implementation summary</i>
- </a>
- <span tal:condition="cnf/conflict">
- <br />
- <font color="red" tal:condition="not:activate">Conflicts
- with</font>
- <font color="green" tal:condition="activate">Overrides</font>
- <a tal:content="cnf/conflict"
- tal:attributes="href cnf/conflict">path</a>
- </span>
+ <span tal:condition="not:svc/insite">
+ <span tal:condition="svc/inbundle" i18n:translate="">
+ registered in bundle at
+ <a tal:content="svc/inbundle"
+ tal:attributes="href svc/inbundle" i18n:name="path">path</a>
+ </span>
+ <span tal:condition="not:svc/inbundle">
+ <font size="+1" color="red">
+ <b i18n:translate="">UNFULFILLED DEPENDENCY</b>
+ </font>
<br />
- <span tal:condition="python: cnf['advice'] == 'Active'">
- <input type="radio" tal:attributes="name cnf/path"
- value="Registered" />Register only
- <b><input type="radio" tal:attributes="name cnf/path"
- value="Active" checked="checked" />Register and activate</b>
- </span>
- <span tal:condition="python: cnf['advice'] == 'Registered'">
- <b><input type="radio" tal:attributes="name cnf/path"
- value="Registered" checked="checked" />Register only</b>
- <input type="radio" tal:attributes="name cnf/path"
- value="Active" />Register and activate
- </span>
- (is: <span tal:replace="cnf/status">Active</span>)
- </li>
- </tal:block>
- </ul>
-
- </tal:block>
-
- <p>Click "Activate bundle" to perform the above actions.</p>
-
- <p><input type="submit" value="Activate bundle" /></p>
-
- <p><input type="reset" value="Reset form" /></p>
-
-</form>
-
-<form action="@@bundle.html" method="get">
-
- <p>Click "Deactivate bundle" to unregister all registrations in
- this bundle.</p>
+ <b i18n:translate="">
+ (You must <a href="../default/AddService">add a
+ <i tal:content="svc/service" i18n:name="service_name">Foo</i>
+ service to this site</a> before you can activate this bundle)
+ </b>
+ </span>
+ </span>
+ </li>
+ </ul>
- <p><input type="submit" value="Deactivate bundle" /></p>
+ <h4 i18n:translate="">Registrations in this bundle</h4>
- <input type="hidden" name="allclear" value="1" />
+ <div class="message" tal:condition="message">
+ <span tal:replace="message">view/update message here</span>
+ <br /><br />
+ <i>
+ <a href="@@bundle.html" i18n:translate="">(click to clear message)</a>
+ </i>
+ </div>
+
+ <form action="@@bundle.html" method="get">
+
+ <tal:block tal:repeat="svc view/listServices">
+
+ <p i18n:translate="">For
+ <i tal:content="svc/service" i18n:name="service_name">Foo</i> service
+ </p>
+
+ <ul>
+ <tal:block tal:repeat="cnf view/listRegistrations">
+ <li tal:condition="python: cnf['service'] == svc['service']"
+ tal:define="activate python:cnf['advice'] == 'Active'">
+ <a tal:attributes="href cnf/path" i18n:translate="">
+ <i tal:content="cnf/usage" i18n:name="usage_summary">Usage</i>
+ implemented by
+ <i tal:content="cnf/implementation" i18n:name="impl_summary">
+ Implementation summary</i>
+ </a>
+ <span tal:condition="cnf/conflict">
+ <br />
+ <font color="red" tal:condition="not:activate" i18n:translate="">
+ Conflicts with
+ </font>
+ <font color="green" tal:condition="activate" i18n:translate="">
+ Overrides
+ </font>
+ <a tal:content="cnf/conflict"
+ tal:attributes="href cnf/conflict">path</a>
+ </span>
+ <br />
+ <span tal:condition="python: cnf['advice'] == 'Active'">
+ <input type="radio" tal:attributes="name cnf/path"
+ value="Registered" />
+ <span i18n:translate="">Register only</span>
+ <b>
+ <input type="radio" tal:attributes="name cnf/path"
+ value="Active" checked="checked" />
+ <span i18n:translate="">Register and activate</span>
+ </b>
+ </span>
+ <span tal:condition="python: cnf['advice'] == 'Registered'">
+ <b>
+ <input type="radio" tal:attributes="name cnf/path"
+ value="Registered" checked="checked" />
+ <span i18n:translate="">Register only</span>
+ </b>
+ <input type="radio" tal:attributes="name cnf/path"
+ value="Active" />
+ <span i18n:translate="">Register and activate</span>
+ </span>
+ <span i18n:translate="">
+ (is: <span tal:replace="cnf/status"
+ i18n:name="active_status">Active</span>)
+ </span>
+ </li>
+ </tal:block>
+ </ul>
+
+ </tal:block>
+
+ <p i18n:translate="">
+ Click "Activate bundle" to perform the above actions.
+ </p>
+
+ <p><input type="submit" value="Activate bundle"
+ i18n:attributes="value activate-bundle-button"/></p>
+
+ <p><input type="reset" value="Reset form"
+ i18n:attributes="value reset-button"/></p>
+
+ </form>
+
+ <form action="@@bundle.html" method="get">
+
+ <p i18n:translate="">Click "Deactivate bundle" to unregister all
+ registrations in this bundle.</p>
+
+ <p><input type="submit" value="Deactivate bundle"
+ i18n:attributes="value deactivate-bundle-button"/></p>
+
+ <input type="hidden" name="allclear" value="1" />
-</form>
+ </form>
</div>
</body>
=== Zope3/src/zope/app/browser/services/bundle.py 1.9 => 1.10 ===
--- Zope3/src/zope/app/browser/services/bundle.py:1.9 Sat Jun 21 17:21:59 2003
+++ Zope3/src/zope/app/browser/services/bundle.py Thu Aug 7 13:41:03 2003
@@ -30,10 +30,11 @@
$Id$
"""
-
import re
from transaction import get_transaction
+
from zope.app import zapi
+from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.interfaces.container import IReadContainer
from zope.app.interfaces.services.registration import IRegistration
from zope.app.interfaces.services.registration import IRegistrationManager
@@ -86,7 +87,9 @@
count += 1
if count:
get_transaction().note("deactivate bundle")
- return "unregistered %d registrations" % count
+ status = _("unregistered ${count} registrations")
+ status.mapping = {'count': str(count)}
+ return status
activated = []
registered = []
for key, value in self.request.form.items():
@@ -109,12 +112,19 @@
registered.append(path)
obj.status = RegisteredStatus
s = ""
+ mapping = {}
if activated:
- s += "Activated: %s.\n" % (", ".join(activated))
+ s += _("Activated: ${activated}.\n")
+ mapping['activated'] = ", ".join(activated)
if registered:
- s += "Registered: %s.\n" % (", ".join(registered))
+ s += _("Registered: ${registered}.\n")
+ mapping['registered'] = ", ".join(registered)
if s:
get_transaction().note("activate bundle")
+ # We have to do that again, since the adding to a message id makes it
+ # a unicode string again.
+ s = _(s)
+ s.mapping = mapping
return s
def listServices(self):
=== Zope3/src/zope/app/browser/services/cache.py 1.11 => 1.12 ===
--- Zope3/src/zope/app/browser/services/cache.py:1.11 Sat Jun 21 17:21:59 2003
+++ Zope3/src/zope/app/browser/services/cache.py Thu Aug 7 13:41:03 2003
@@ -15,19 +15,17 @@
$Id$
"""
-
from zope.app.browser.services.registration import AddComponentRegistration
+from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.interfaces.container import IZopeContainer
from zope.app.interfaces.services.registration import IRegistered
-from zope.component import getAdapter, getView
-from zope.publisher.browser import BrowserView
from zope.app.interfaces.services.registration import ActiveStatus
from zope.app.interfaces.services.registration import RegisteredStatus
from zope.app.interfaces.services.registration import UnregisteredStatus
from zope.app.traversing import traverse, getPath, getParent, getName
+from zope.component import getAdapter, getView
-class Caches(BrowserView):
-
+class Caches:
# self.context is the local caching service
def update(self):
@@ -41,7 +39,7 @@
doDelete = self.request.get("Delete")
if not todo:
if doActivate or doDeactivate or doDelete:
- return "Please select at least one checkbox"
+ return _("Please select at least one checkbox")
return None
if doActivate:
return self._activate(todo)
@@ -61,9 +59,11 @@
obj.status = ActiveStatus
done.append(name)
if done:
- return "Activated: " + ", ".join(done)
+ s = _("Activated: ${activated_caches}")
+ s.mapping = {'activated_caches': ", ".join(done)}
+ return s
else:
- return "All of the checked caches were already active"
+ return _("All of the checked caches were already active")
def _deactivate(self, todo):
done = []
@@ -74,9 +74,11 @@
obj.status = RegisteredStatus
done.append(name)
if done:
- return "Deactivated: " + ", ".join(done)
+ s = _("Deactivated: ${deactivated_caches}")
+ s.mapping = {'deactivated_caches': ", ".join(done)}
+ return s
else:
- return "None of the checked caches were active"
+ return _("None of the checked caches were active")
def _delete(self, todo):
errors = []
@@ -87,9 +89,10 @@
errors.append(name)
continue
if errors:
- return ("Can't delete active cache%s: %s; "
- "use the Deactivate button to deactivate" %
- (len(errors) != 1 and "s" or "", ", ".join(errors)))
+ s = _("Can't delete active cache(s): ${cache_names}; "
+ "use the Deactivate button to deactivate")
+ s.mapping = {'cache_names': ", ".join(errors)}
+ return s
# 1) Delete the registrations
caches = {}
@@ -115,7 +118,9 @@
container = getAdapter(parent, IZopeContainer)
del container[name]
- return "Deleted: %s" % ", ".join(todo)
+ s = _("Deleted: ${cache_names}")
+ s.mapping = {'cache_names': ", ".join(todo)}
+ return s
def getConfigs(self):
L = []
@@ -134,7 +139,7 @@
L.sort()
return [d for name, d in L]
-class ConfigureCache(BrowserView):
+class ConfigureCache:
def update(self):
cr = self.context.queryRegistrations(self.request['name'])
@@ -142,8 +147,7 @@
form.update()
return form
-class Registered(BrowserView):
-
+class Registered:
"""View for displaying the registrations for a cache."""
def uses(self):
@@ -162,5 +166,4 @@
return result
class AddCacheRegistration(AddComponentRegistration):
-
pass
=== Zope3/src/zope/app/browser/services/cache.zcml 1.6 => 1.7 ===
--- Zope3/src/zope/app/browser/services/cache.zcml:1.6 Sun Aug 3 13:49:27 2003
+++ Zope3/src/zope/app/browser/services/cache.zcml Thu Aug 7 13:41:03 2003
@@ -1,7 +1,4 @@
-<configure
- xmlns='http://namespaces.zope.org/browser'
- i18n_domain='zope'
- >
+<configure xmlns="http://namespaces.zope.org/browser">
<!-- Browser directives for the cache service -->
@@ -13,8 +10,7 @@
menu="add_service" title="Caching Service"
action="CachingService"
permission="zope.ManageServices"
- description="A Persistent Caching Service for TTW development"
- />
+ description="A Persistent Caching Service for TTW development" />
<!-- ZMI tab named "Caches" for the cache service -->
<page
@@ -23,8 +19,7 @@
template="caches.pt"
class=".cache.Caches"
permission="zope.ManageServices"
- menu="zmi_views" title="Caches"
- />
+ menu="zmi_views" title="Caches" />
<!-- Browser directives for configuring individual cache objects -->
@@ -41,8 +36,7 @@
name="configureCache.html"
template="configureCache.pt"
class=".cache.ConfigureCache"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<!-- When creating a new cache object, you are taken to this
form to configure it. The form lets you choose a name,
@@ -58,7 +52,6 @@
content_factory="zope.app.services.cache.CacheRegistration"
arguments="name componentPath"
set_after_add="status"
- fields="name componentPath permission status"
- />
+ fields="name componentPath permission status" />
</configure>
=== Zope3/src/zope/app/browser/services/caches.pt 1.11 => 1.12 ===
--- Zope3/src/zope/app/browser/services/caches.pt:1.11 Wed Jun 25 17:18:53 2003
+++ Zope3/src/zope/app/browser/services/caches.pt Thu Aug 7 13:41:03 2003
@@ -1,65 +1,64 @@
<html metal:use-macro="context/@@standard_macros/page">
-
+<body>
<div metal:fill-slot="body"
- i18n:domain="zope"
- tal:define="message view/update; configs view/getConfigs"
- >
-
-<h2 i18n:translate="">Caches registered in this cache service:</h2>
-
- <div class="message" tal:condition="message">
- <span tal:replace="message">view/update message here</span>
- <br /><br /><i><a href="">(click to clear message)</a></i>
- </div>
-
-<p tal:condition="not:configs">None</p>
-
-<form method="POST" action="index.html" tal:condition="configs">
-
- <table>
- <tr tal:repeat="config configs">
- <td><input type="checkbox" name="selected:list"
- tal:attributes="value config/name" />
- </td>
- <td>
-
- <a href="."
- tal:condition="config/url"
- tal:attributes="href config/url"
- >
- <span i18n:translate="">
- <span tal:replace="config/name" i18n:name="cache_name" />
- </span>
- </a>
+ tal:define="message view/update; configs view/getConfigs">
- <span tal:condition="not:config/url">
- <span i18n:translate="">
- <span tal:replace="config/name" i18n:name="cache_name" />
+ <h2 i18n:translate="">Caches registered in this cache service:</h2>
+
+ <div class="message" tal:condition="message">
+ <span tal:replace="message">view/update message here</span>
+ <br /><br />
+ <i><a href="" i18n:translate="">(click to clear message)</a></i>
+ </div>
+
+ <p tal:condition="not:configs">None</p>
+
+ <form method="POST" action="index.html" tal:condition="configs">
+
+ <table>
+ <tr tal:repeat="config configs">
+ <td><input type="checkbox" name="selected:list"
+ tal:attributes="value config/name" />
+ </td>
+ <td>
+
+ <a href="."
+ tal:condition="config/url"
+ tal:attributes="href config/url">
+ <span tal:replace="config/name" />
+ </a>
+
+ <span tal:condition="not:config/url">
+ <span tal:replace="config/name" />
+ <span i18n:translate="">(inactive)</span>
</span>
- <span i18n:translate="">(inactive)</span>
- </span>
- </td>
- <td>
- <a href="."
- tal:attributes="href config/configurl"
- i18n:translate=""
- >(change registration)</a>
- </td>
- </tr>
- </table>
-
- <input type="submit" name="Activate" value="Activate" />
- <input type="submit" name="Deactivate" value="Deactivate" />
-
- <input type="submit" name="Delete" value="Delete" />
-
- <input type="submit" name="Refresh" value="Refresh" />
+ </td>
+ <td>
+ <a href="."
+ tal:attributes="href config/configurl"
+ i18n:translate=""
+ >(change registration)</a>
+ </td>
+ </tr>
+ </table>
+
+ <input type="submit" name="Activate" value="Activate"
+ i18n:attributes="value activate-button"/>
+ <input type="submit" name="Deactivate" value="Deactivate"
+ i18n:attributes="value deactivate-button"/>
+
+ <input type="submit" name="Delete" value="Delete"
+ i18n:attributes="value delete-button"/>
+
+ <input type="submit" name="Refresh" value="Refresh"
+ i18n:attributes="value refresh-button"/>
-</form>
+ </form>
-<p><a href="../AddCache">Add a cache to this cache service</a></p>
+ <p><a href="../AddCache" i18n:translate="">
+ Add a cache to this cache service</a></p>
</div>
-
+</body>
</html>
=== Zope3/src/zope/app/browser/services/configure.zcml 1.63 => 1.64 ===
--- Zope3/src/zope/app/browser/services/configure.zcml:1.63 Sun Aug 3 13:49:27 2003
+++ Zope3/src/zope/app/browser/services/configure.zcml Thu Aug 7 13:41:03 2003
@@ -1,7 +1,4 @@
-<configure
- xmlns='http://namespaces.zope.org/browser'
- i18n_domain='zope'
- >
+<configure xmlns="http://namespaces.zope.org/browser">
<!-- For services, just treat @@manage as @@index.html by default -->
@@ -11,10 +8,10 @@
name="index.html"
permission="zope.ManageServices"
class="zope.app.browser.managementviewselector.ManagementViewSelector"
- allowed_interface="zope.publisher.interfaces.browser.IBrowserPublisher"
- />
+ allowed_interface="zope.publisher.interfaces.browser.IBrowserPublisher" />
-<!-- General registration views --> <include package=".registration" />
+<!-- General registration views -->
+ <include package=".registration" />
<!--Error Logging Service -->
@@ -23,33 +20,26 @@
permission="zope.Public"
class="zope.app.browser.services.error.EditErrorLog">
- <page name="index.html" template="error.pt" />
+ <page name="index.html" template="error.pt"
+ menu="zmi_views" title="Errors" />
<page name="edit.html" attribute="updateProperties" />
<page name="showEntry.html" template="errorentry.pt"/>
- <page name="showTextTBEntry.html"
- template="texttbentry.pt"/>
- </pages>
+ <page name="showTextTBEntry.html" template="texttbentry.pt"/>
+ </pages>
<menuItem
menu="add_service"
for="zope.app.interfaces.container.IAdding"
action="ErrorLogging"
title="Error Logging Service"
- description="Error Reporting Service for Logging Errors"
- />
+ description="Error Reporting Service for Logging Errors" />
<icon name="zmi_icon"
for="zope.app.interfaces.services.error.IErrorReportingService"
file="error_service.gif" />
- <menuItem
- for="zope.app.interfaces.services.error.IErrorReportingService"
- menu="zmi_views"
- title="Errors"
- action="index.html"
- />
-
-<!-- CachingService --> <include file="cache.zcml" />
+<!-- CachingService -->
+ <include file="cache.zcml" />
<!-- Event Service -->
@@ -59,22 +49,19 @@
menu="zmi_views" title="Control"
permission="zope.ManageServices"
class="zope.app.browser.services.event.Control"
- attribute="index"
- />
+ template="eventcontrol.pt" />
<menuItem
menu="add_service"
for="zope.app.interfaces.container.IAdding"
action="Events" title="Event Service"
description=
- "An event service. One of these in the root is usually enough"
- />
+ "An event service. One of these in the root is usually enough" />
<icon
name="zmi_icon"
for="zope.app.interfaces.services.event.IEventService"
- file="event_service.gif"
- />
+ file="event_service.gif" />
<!-- Role Service -->
@@ -94,7 +81,8 @@
for="zope.app.services.role.IRoleService"
class="zope.app.browser.services.role.Contents">
- <page name="index.html" attribute="contents" />
+ <page name="index.html" attribute="contents"
+ menu="zmi_views" title="Contents" />
<page name="removeObjects.html" attribute="removeObjects" />
</pages>
@@ -102,24 +90,19 @@
<pages
permission="zope.ManageServices"
for="zope.app.services.role.IRoleService"
- class="zope.app.browser.services.role.Add"
- >
+ class="zope.app.browser.services.role.Add">
- <page name="+" template="addrole.pt"
- menu="zmi_actions" title="Add"
- />
+ <page name="+" template="addrole.pt"
+ menu="zmi_actions" title="Add" />
<page name="action.html" attribute="action" />
</pages>
- <menuItems
- menu="zmi_views"
- for="zope.app.services.role.IRoleService">
- <menuItem title="Contents" action="@@index.html"/>
- </menuItems>
+<!-- Deprecated Simple Authentication Service -->
+ <include file="auth.zcml" />
-<!-- Deprecated Simple Authentication Service --> <include file="auth.zcml" />
-<!-- Pluggable Authentication Service --> <include package=".pluggableauth" />
+<!-- Pluggable Authentication Service -->
+ <include package=".pluggableauth" />
<!-- Component Location widget -->
@@ -130,16 +113,14 @@
name="edit"
class="zope.app.browser.services.field.ComponentPathWidget"
allowed_interface="zope.app.interfaces.browser.form.IBrowserWidget"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<page
for="zope.app.services.field.IComponentPath"
name="display"
class="zope.app.browser.services.field.ComponentPathDisplayWidget"
allowed_interface="zope.app.interfaces.browser.form.IBrowserWidget"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<!-- Adapters -->
@@ -152,40 +133,31 @@
/>
<page
- for = "zope.component.interfaces.IAdapterService"
- name = "index.html"
- template = "adapter_search.pt"
+ for="zope.component.interfaces.IAdapterService"
+ name="index.html"
+ template="adapter_search.pt"
permission="zope.ManageServices"
- class="zope.app.browser.services.adapter.AdapterServiceView"
- />
+ class="zope.app.browser.services.adapter.AdapterServiceView" />
<view
- for = "zope.app.interfaces.container.IAdding"
+ for="zope.app.interfaces.container.IAdding"
name="AdapterRegistration"
permission="zope.ManageServices"
class="zope.app.browser.services.adapter.AdapterRegistrationAdd"
- >
- <page
- name="index.html"
- template="add_adapter_config.pt"
- />
- </view>
+ menu="add_registration" title="Adapter">
- <menuItem
- for="zope.app.interfaces.container.IAdding"
- menu="add_registration"
- action="AdapterRegistration"
- title="Adapter"
- />
+ <page name="index.html" template="add_adapter_config.pt" />
+
+ </view>
<menuItem
for="zope.app.interfaces.container.IAdding"
menu="add_service"
action="zope.app.services.AdapterService"
- title="Adapter Service"
- />
+ title="Adapter Service" />
-<!-- Views --> <include file="view.zcml" />
+<!-- Views -->
+ <include file="view.zcml" />
<!-- ZPT Templates -->
@@ -193,23 +165,20 @@
for="zope.app.interfaces.services.view.IZPTTemplate"
name="index.html"
class=".zpt.Source"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<editform
schema="zope.app.interfaces.services.view.IZPTTemplate"
name="edit.html"
menu="zmi_views"
label="ZPT Template"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<menuItem
for="zope.app.interfaces.container.IAdding"
menu="add_component"
action="zope.app.services.zpt.template"
- title="ZPT Template"
- />
+ title="ZPT Template" />
<!-- Service Manager navigation action -->
@@ -218,26 +187,26 @@
for="zope.app.interfaces.services.service.IServiceManagerContainer"
permission="zope.ManageServices"
class="zope.app.browser.services.addservicemanager.AddServiceManager"
- attribute="addServiceManager"
- />
+ attribute="addServiceManager" />
- <menuItems menu="zmi_actions"
- for="zope.app.interfaces.services.service.IServiceManagerContainer"
- >
+ <menuItems
+ menu="zmi_actions"
+ for="zope.app.interfaces.services.service.IServiceManagerContainer">
- <menuItem title="Manage Local Services"
- action="++etc++site/@@SelectedManagementView.html"
- filter="context/hasServiceManager"
- />
-
- <menuItem title="Turn On Local Service Manager"
- action="@@addServiceManager.html"
- filter="not:context/hasServiceManager"
- />
+ <menuItem
+ title="Manage Local Services"
+ action="++etc++site/@@SelectedManagementView.html"
+ filter="context/hasServiceManager" />
+
+ <menuItem
+ title="Turn On Local Service Manager"
+ action="@@addServiceManager.html"
+ filter="not:context/hasServiceManager" />
</menuItems>
-<!-- ConnectionService --> <include file="connection.zcml" />
+<!-- ConnectionService -->
+ <include file="connection.zcml" />
<!-- ServiceManager -->
@@ -247,16 +216,14 @@
menu="zmi_views" title="Services"
template="services.pt"
class=".service.ServiceSummary"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<page
for="zope.app.interfaces.services.service.IServiceManager"
name="serviceActivation.html"
template="serviceactivation.pt"
class=".service.ServiceActivation"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<icon
name="zmi_icon"
@@ -265,18 +232,17 @@
<menuItems
menu="zmi_actions"
- for="zope.app.interfaces.services.service.IServiceManager"
- >
+ for="zope.app.interfaces.services.service.IServiceManager">
+
<menuItem
title="Visit default package"
action="default/@@SelectedManagementView.html"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<menuItem
title="Add service"
action="default/AddService"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
+
</menuItems>
<page
@@ -285,8 +251,7 @@
menu="zmi_views" title="Contents"
permission="zope.ManageServices"
class="zope.app.browser.container.contents.Contents"
- attribute="contents"
- />
+ attribute="contents" />
<!-- Override the add action with a link to add a page folder -->
<menuItem
@@ -295,8 +260,7 @@
title="Add"
action=
"@@contents.html?type_name=zope.app.services.folder.SiteManagementFolder"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices"/>
<pages
for="zope.app.interfaces.services.service.IServiceManager"
@@ -313,8 +277,7 @@
for="zope.app.interfaces.services.folder.ISiteManagementFolder"
permission="zope.ManageServices"
class="zope.app.browser.container.contents.JustContents"
- name="index.html" attribute="index"
- />
+ name="index.html" attribute="index" />
<page
name="contents.html"
@@ -322,8 +285,7 @@
menu="zmi_views" title="Contents"
permission="zope.ManageServices"
class="zope.app.browser.container.contents.Contents"
- attribute="contents"
- />
+ attribute="contents" />
<view
name="+"
@@ -345,8 +307,7 @@
template="registration/registered.pt"
class=".registration.NameRegistered"
permission="zope.ManageServices"
- menu="zmi_views" title="Registrations"
- />
+ menu="zmi_views" title="Registrations" />
<!-- ServiceRegistration -->
@@ -355,28 +316,28 @@
for="zope.app.interfaces.services.service.ILocalService"
template="add_svc_config.pt"
class=".service.AddServiceRegistration"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<page
name="add_svc_config.html"
for="zope.app.interfaces.services.service.ILocalService"
attribute="action"
class=".service.AddServiceRegistration"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
-<!-- Persistent Modules --> <include package=".module" />
+<!-- Persistent Modules -->
+ <include package=".module" />
-<!-- PageFolder --> <include file="pagefolder.zcml" />
+<!-- PageFolder -->
+ <include file="pagefolder.zcml" />
<!-- Session service -->
<menuItem
menu="add_service"
for="zope.app.interfaces.container.IAdding"
- action="ISessionService" title='Cookie Session Service'
- description='Simplistic session support using cookies' />
+ action="ISessionService" title="Cookie Session Service"
+ description="Simplistic session support using cookies" />
<!-- Principal annotations (user data) service -->
@@ -385,8 +346,7 @@
for="zope.app.interfaces.container.IAdding"
action="IPrincipalAnnotationService"
title="Principal Annotation Service"
- description="Stores Annotations for Principals"
- />
+ description="Stores Annotations for Principals" />
<!-- Object Hub -->
@@ -397,8 +357,7 @@
permission="zope.ManageServices"
for="zope.app.interfaces.services.hub.IObjectHub"
class="zope.app.browser.services.hub.Control"
- attribute="index"
- />
+ template="hubcontrol.pt" />
<menuItem
menu="add_service"
@@ -406,8 +365,7 @@
action="HubIds"
title="HubIds Service"
description="An object hub, for cataloging, unique object ids, and
- more: use sparingly"
- />
+ more: use sparingly" />
<icon
name="zmi_icon"
@@ -430,10 +388,10 @@
name="index.html"
menu="zmi_views"
title="Control"
- template="subscription_control.pt"
- />
+ template="subscription_control.pt" />
-<!-- Utility Service --> <include package=".utility" />
+<!-- Utility Service -->
+ <include package=".utility" />
<!-- "Add Service" menu -->
@@ -443,8 +401,7 @@
action="../AddService"
title="Service"
description="Takes you to a menu of services to add"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<view
name="AddService"
@@ -505,14 +462,13 @@
menu="zmi_views" title="Bundle"
permission="zope.ManageServices"
class=".bundle.BundleView"
- template="bundle.pt"
- />
+ template="bundle.pt" />
<!-- Translation Service Views -->
-<include package=".translation" />
+ <include package=".translation" />
<!-- Local Interface Service -->
-<include package=".interface" />
+ <include package=".interface" />
</configure>
=== Zope3/src/zope/app/browser/services/configureCache.pt 1.4 => 1.5 ===
--- Zope3/src/zope/app/browser/services/configureCache.pt:1.4 Wed Jun 25 18:14:26 2003
+++ Zope3/src/zope/app/browser/services/configureCache.pt Thu Aug 7 13:41:03 2003
@@ -1,31 +1,25 @@
<html metal:use-macro="context/@@standard_macros/page">
<body>
-<div metal:fill-slot="body"
- i18n:domain="zope"
- >
+<div metal:fill-slot="body">
-<h2 i18n:translate="">Cache registrations for
- <i tal:content="request/name" i18n:name="cache_name">name</i></h2>
+ <h2 i18n:translate="">
+ Cache registrations for
+ <i tal:content="request/name" i18n:name="cache_name">name</i>
+ </h2>
+
+ <form action="." method="post"
+ tal:attributes="action request/URL"
+ tal:define="form view/update">
-<form method="post"
- action="."
- tal:attributes="action request/URL"
- tal:define="form view/update"
- >
- <input type="hidden"
- name="name"
- tal:attributes="value request/name"
- />
-
- <div tal:replace="structure form" />
-
- <input type="submit"
- name="submit_update"
- value="Update"
- i18n:attributes="value form_update"
- />
-
-</form>
+ <input type="hidden" name="name"
+ tal:attributes="value request/name" />
+
+ <div tal:replace="structure form" />
+
+ <input type="submit" name="submit_update" value="Update"
+ i18n:attributes="value update-button" />
+
+ </form>
</div>
</body>
=== Zope3/src/zope/app/browser/services/configureConnection.pt 1.4 => 1.5 ===
--- Zope3/src/zope/app/browser/services/configureConnection.pt:1.4 Wed Jun 25 18:14:26 2003
+++ Zope3/src/zope/app/browser/services/configureConnection.pt Thu Aug 7 13:41:03 2003
@@ -1,29 +1,23 @@
<html metal:use-macro="context/@@standard_macros/page">
<body>
-<div metal:fill-slot="body"
- i18n:domain="zope"
- >
+<div metal:fill-slot="body">
-<h2 i18n:translate="">Connection registrations for
- <i tal:content="request/name" i18n:name="connection_name">name</i></h2>
+ <h2 i18n:translate="">
+ Connection registrations for
+ <i tal:content="request/name" i18n:name="connection_name">name</i>
+ </h2>
-<form method="post"
- action="."
+<form action="." method="post"
tal:attributes="action request/URL"
- tal:define="form view/update"
- >
- <input type="hidden"
- name="name"
- tal:attributes="value request/name"
- />
+ tal:define="form view/update" >
+
+ <input type="hidden" name="name"
+ tal:attributes="value request/name"/>
<div tal:replace="structure form" />
- <input type="submit"
- name="submit_update"
- value="Update"
- i18n:attributes="value form_update"
- />
+ <input type="submit" name="submit_update" value="Update"
+ i18n:attributes="value update-button" />
</form>
=== Zope3/src/zope/app/browser/services/configureView.pt 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/configureView.pt:1.3 Wed Jun 25 18:14:26 2003
+++ Zope3/src/zope/app/browser/services/configureView.pt Thu Aug 7 13:41:03 2003
@@ -2,27 +2,23 @@
<body>
<div metal:fill-slot="body">
-<h2>View registrations for
- <i tal:content="view/summary">key</i></h2>
+ <h2 i18n:translate="">View registrations for
+ <i tal:content="view/summary" i18n:name="key_name">key</i>
+ </h2>
-<form method="post"
- action="."
- tal:attributes="action request/URL"
- tal:define="form view/update"
- >
- <input type="hidden"
- name="key"
- tal:attributes="value request/key"
- />
+ <form action="." method="post"
+ tal:attributes="action request/URL"
+ tal:define="form view/update" >
- <div tal:replace="structure form" />
+ <input type="hidden" name="key"
+ tal:attributes="value request/key" />
- <input type="submit"
- name="submit_update"
- value="Update"
- />
+ <div tal:replace="structure form" />
-</form>
+ <input type="submit" name="submit_update" value="Update"
+ i18n:attributes="value update-button" />
+
+ </form>
</div>
</body>
=== Zope3/src/zope/app/browser/services/connection.py 1.13 => 1.14 ===
--- Zope3/src/zope/app/browser/services/connection.py:1.13 Sat Jun 21 17:21:59 2003
+++ Zope3/src/zope/app/browser/services/connection.py Thu Aug 7 13:41:03 2003
@@ -15,18 +15,17 @@
$Id$
"""
-
from zope.app.browser.services.registration import AddComponentRegistration
+from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.interfaces.container import IZopeContainer
from zope.app.interfaces.services.registration import IRegistered
-from zope.component import getAdapter, getView
-from zope.publisher.browser import BrowserView
from zope.app.interfaces.services.registration import ActiveStatus
from zope.app.interfaces.services.registration import RegisteredStatus
from zope.app.interfaces.services.registration import UnregisteredStatus
from zope.app.traversing import traverse, getPath, getParent, getName
+from zope.component import getAdapter, getView
-class Connections(BrowserView):
+class Connections:
# self.context is the local connection service
@@ -41,7 +40,7 @@
doDelete = self.request.get("Delete")
if not todo:
if doDeactivate or doDelete:
- return "Please select at least one checkbox"
+ return _("Please select at least one checkbox")
return None
if doActivate:
return self._activate(todo)
@@ -61,9 +60,11 @@
obj.status = ActiveStatus
done.append(name)
if done:
- return "Activated: " + ", ".join(done)
+ s = _("Activated: ${activated_connections}")
+ s.mapping = {'activated_connections': ", ".join(done)}
+ return s
else:
- return "All of the checked connections were already active"
+ return _("All of the checked connections were already active")
def _deactivate(self, todo):
done = []
@@ -74,9 +75,11 @@
obj.status = RegisteredStatus
done.append(name)
if done:
- return "Deactivated: " + ", ".join(done)
+ s = _("Deactivated: ${deactivated_connections}")
+ s.mapping = {'deactivated_connections': ", ".join(done)}
+ return s
else:
- return "None of the checked connections were active"
+ return _("None of the checked connections were active")
def _delete(self, todo):
errors = []
@@ -87,9 +90,10 @@
errors.append(name)
continue
if errors:
- return ("Can't delete active connection%s: %s; "
- "use the Deactivate button to deactivate" %
- (len(errors) != 1 and "s" or "", ", ".join(errors)))
+ s = _("Can't delete active connection(s): ${connection_names}; "
+ "use the Deactivate button to deactivate")
+ s.mapping = {'connection_names': ", ".join(errors)}
+ return s
# 1) Delete the registrations
connections = {}
@@ -115,7 +119,9 @@
container = getAdapter(parent, IZopeContainer)
del container[name]
- return "Deleted: %s" % ", ".join(todo)
+ s = _("Deleted: ${connection_names}")
+ s.mapping = {'connection_names': ", ".join(todo)}
+ return s
def getConfigs(self):
L = []
@@ -134,7 +140,7 @@
L.sort()
return [d for name, d in L]
-class ConfigureConnection(BrowserView):
+class ConfigureConnection:
def update(self):
cr = self.context.queryRegistrations(self.request['name'])
@@ -142,8 +148,7 @@
form.update()
return form
-class Registered(BrowserView):
-
+class Registered:
"""View for displaying the registrations for a connection."""
def uses(self):
@@ -162,5 +167,4 @@
return result
class AddConnectionRegistration(AddComponentRegistration):
-
pass
=== Zope3/src/zope/app/browser/services/connection.zcml 1.8 => 1.9 ===
--- Zope3/src/zope/app/browser/services/connection.zcml:1.8 Sun Aug 3 13:49:27 2003
+++ Zope3/src/zope/app/browser/services/connection.zcml Thu Aug 7 13:41:03 2003
@@ -1,7 +1,4 @@
-<configure
- xmlns='http://namespaces.zope.org/browser'
- i18n_domain='zope'
- >
+<configure xmlns="http://namespaces.zope.org/browser">
<!-- Browser directives for the connection service -->
@@ -23,8 +20,7 @@
template="connections.pt"
class=".connection.Connections"
permission="zope.ManageServices"
- menu="zmi_views" title="Connections"
- />
+ menu="zmi_views" title="Connections" />
<!-- Browser directives for registering individual connection objects -->
@@ -41,8 +37,7 @@
name="configureConnection.html"
template="configureConnection.pt"
class=".connection.ConfigureConnection"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<!-- When creating a new connection object, you are taken to this
form to register it. The form lets you define the connection
@@ -58,8 +53,7 @@
content_factory="zope.app.services.connection.ConnectionRegistration"
arguments="name componentPath"
set_after_add="status"
- fields="name componentPath permission status"
- />
+ fields="name componentPath permission status" />
<!-- When editing the registration of an existing connection object,
you are taken to this form. It is similar to the above add
@@ -71,7 +65,6 @@
name="index.html"
schema="zope.app.interfaces.services.connection.IConnectionRegistration"
permission="zope.ManageServices"
- fields="name componentPath permission status"
- />
+ fields="name componentPath permission status" />
</configure>
=== Zope3/src/zope/app/browser/services/connections.pt 1.13 => 1.14 ===
--- Zope3/src/zope/app/browser/services/connections.pt:1.13 Wed Jun 25 17:18:53 2003
+++ Zope3/src/zope/app/browser/services/connections.pt Thu Aug 7 13:41:03 2003
@@ -1,67 +1,64 @@
<html metal:use-macro="context/@@standard_macros/page">
-
+<body>
<div metal:fill-slot="body"
- i18n:domain="zope"
- tal:define="message view/update; configs view/getConfigs"
- >
-
-<h2 i18n:translate="">Connections registered in this connection service:</h2>
-
- <div class="message" tal:condition="message">
- <span tal:replace="message">view/update message here</span>
- <br /><br /><i><a href="">(click to clear message)</a></i>
- </div>
-
-<p tal:condition="not:configs">None</p>
-
-<form method="POST" action="index.html" tal:condition="configs">
-
- <table>
- <tr tal:repeat="config configs">
- <td><input type="checkbox" name="selected:list"
- tal:attributes="value config/name" />
- </td>
- <td>
-
- <a href="."
- tal:condition="config/url"
- tal:attributes="href config/url"
- >
- <span i18n:translate="">
- <span tal:replace="config/name" i18n:name="cache_name" />
- </span>
- </a>
+ tal:define="message view/update; configs view/getConfigs">
- <span tal:condition="not:config/url">
- <span i18n:translate="">
- <span tal:replace="config/name" i18n:name="cache_name" />
+ <h2 i18n:translate="">Connections registered in this connection service:</h2>
+
+ <div class="message" tal:condition="message">
+ <span tal:replace="message">view/update message here</span>
+ <br /><br />
+ <i><a href="" i18n:translate="">(click to clear message)</a></i>
+ </div>
+
+ <p tal:condition="not:configs">None</p>
+
+ <form method="POST" action="index.html" tal:condition="configs">
+
+ <table>
+ <tr tal:repeat="config configs">
+ <td><input type="checkbox" name="selected:list"
+ tal:attributes="value config/name" />
+ </td>
+ <td>
+
+ <a href="."
+ tal:condition="config/url"
+ tal:attributes="href config/url">
+ <span tal:replace="config/name" />
+ </a>
+
+ <span tal:condition="not:config/url">
+ <span tal:replace="config/name" />
+ <span i18n:translate="">(inactive)</span>
</span>
- <span i18n:translate="">(inactive)</span>
- </span>
- </td>
- <td>
- <a href="."
- tal:attributes="href config/configurl"
- i18n:translate=""
- >(change registration)</a>
- </td>
- </tr>
- </table>
-
- <input type="submit" name="Activate" value="Activate" />
- <input type="submit" name="Deactivate" value="Deactivate" />
-
- <input type="submit" name="Delete" value="Delete" />
-
- <input type="submit" name="Refresh" value="Refresh" />
+ </td>
+ <td>
+ <a href="."
+ tal:attributes="href config/configurl"
+ i18n:translate="">(change registration)</a>
+ </td>
+ </tr>
+ </table>
+
+ <input type="submit" name="Activate" value="Activate"
+ i18n:attributes="value activate-button"/>
+ <input type="submit" name="Deactivate" value="Deactivate"
+ i18n:attributes="value deactivate-button"/>
+
+ <input type="submit" name="Delete" value="Delete"
+ i18n:attributes="value delete-button"/>
+
+ <input type="submit" name="Refresh" value="Refresh"
+ i18n:attributes="value refresh-button"/>
-</form>
+ </form>
-<p><a href="../AddConnection">Add a connection to this
-connection service</a></p>
+ <p><a href="../AddConnection" i18n:translate="">Add a connection to this
+ connection service</a></p>
</div>
-
+</body>
</html>
=== Zope3/src/zope/app/browser/services/edituser.pt 1.4 => 1.5 ===
--- Zope3/src/zope/app/browser/services/edituser.pt:1.4 Mon Jun 30 13:10:54 2003
+++ Zope3/src/zope/app/browser/services/edituser.pt Thu Aug 7 13:41:03 2003
@@ -1,68 +1,73 @@
<html metal:use-macro="views/standard_macros/page">
<head>
- <title>Edit User</title>
+ <title metal:fill-slot="title" i18n:translate="">Edit User</title>
</head>
-<body>
-
- <div metal:fill-slot="body">
-
- <h1>User id: <span tal:replace="context/getId">12</span></h1>
- <form action="." method="post" enctype="multipart/form-data">
-
- <table>
- <tbody>
-
- <tr>
- <th>Title:</th>
- <td>
- <input type="text" name="title" size="40" value=""
- tal:attributes="value context/getTitle" />
- </td>
- </tr>
- <tr>
- <th>Description:</th>
- <td>
- <input type="text" name="description" size="40" value=""
- tal:attributes="value context/getDescription" />
- </td>
- </tr>
- <tr>
- <th>Login:</th>
- <td>
- <input type="text" name="login" size="40" value=""
- tal:attributes="value context/getLogin" />
- </td>
- </tr>
- <tr>
- <th>Password:</th>
- <td>
- <input type="password" name="password" size="40" value="DEFAULT" />
- </td>
- </tr>
- <tr>
- <th>Roles:</th>
- <td>
- <select name="roles:list" size="5" multiple="multiple">
- <tal:block tal:repeat="role view/getAvailableRoles"
- tal:define="user_roles context/getRoles">
- <option
- tal:attributes="value role/getId;
- selected python:role.getId() in user_roles"
- tal:content="role/getTitle" />
- </tal:block>
- </select>
- </td>
- </tr>
-
- </tbody>
- </table>
-
- <input type="submit" name="edit.html:method" value="Edit" />
+<body>
+<div metal:fill-slot="body">
- </form>
+ <h1 i18n:translate="">
+ User id:
+ <span tal:replace="context/getId" i18n:name="user_id">12</span>
+ </h1>
+
+ <form action="." method="post" enctype="multipart/form-data">
+
+ <div class="row">
+ <div class="label" i18n:translate="">Title</div>
+ <div class="field">
+ <input type="text" name="title" size="60" value=""
+ tal:attributes="value context/getTitle" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Description</div>
+ <div class="field">
+ <textarea name="description" rows="10" cols="60"
+ tal:content="context/getDescription" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Login</div>
+ <div class="field">
+ <input type="text" name="login" size="40" value=""
+ tal:attributes="value context/getLogin" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Password</div>
+ <div class="field">
+ <input type="password" name="password" size="40" value="DEFAULT" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Roles</div>
+ <div class="field">
+ <select name="roles:list" size="5" multiple="multiple">
+ <tal:block tal:repeat="role view/getAvailableRoles"
+ tal:define="user_roles context/getRoles">
+ <option
+ tal:attributes="value role/getId;
+ selected python:role.getId() in user_roles"
+ tal:content="role/getTitle" />
+ </tal:block>
+ </select>
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="controls">
+ <input type="submit" name="edit.html:method" value="Edit"
+ i18n:attributes="value edit-button" />
+ </div>
+ </div>
- </div>
+ </form>
+</div>
</body>
</html>
=== Zope3/src/zope/app/browser/services/error.pt 1.6 => 1.7 ===
--- Zope3/src/zope/app/browser/services/error.pt:1.6 Wed Jun 25 18:14:26 2003
+++ Zope3/src/zope/app/browser/services/error.pt Thu Aug 7 13:41:03 2003
@@ -1,103 +1,102 @@
<html metal:use-macro="views/standard_macros/page">
<head>
- <title>View Error Log Report</title>
+ <title metal:fill-slot="title" i18n:translate="">View Error Log Report</title>
</head>
<body>
<div metal:fill-slot="body">
-<p class="form-help">
-This page lists the exceptions that have occurred in this site
-recently. You can configure how many exceptions should be kept
-and whether the exceptions should be copied to Zope's event log
-file(s).
-</p>
-
-<form action="edit.html" method="post">
-<br />
-<table tal:define="props context/getProperties">
- <tr>
- <td align="left" valign="top">
- <div class="form-label">
- Number of exceptions to keep
- </div>
- </td>
- <td align="left" valign="top">
- <input type="text" name="keep_entries" size="40"
- tal:attributes="value props/keep_entries" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-label">
- Copy exceptions to the event log
- </div>
- </td>
- <td align="left" valign="top">
- <input type="checkbox" name="copy_to_zlog"
- tal:attributes="checked props/copy_to_zlog;" />
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- <div class="form-label">
- Ignored exception types
- </div>
- </td>
- <td align="left" valign="top">
- <textarea name="ignored_exceptions:lines" cols="40" rows="3"
- tal:content="python: '\n'.join(props['ignored_exceptions'])"></textarea>
- </td>
- </tr>
- <tr>
- <td align="left" valign="top">
- </td>
- <td align="left" valign="top">
- <div class="form-element">
- <input class="form-element" type="submit" name="submit"
- value=" Save Changes " />
- </div>
- </td>
- </tr>
-</table>
-
-<h3>Exception Log (most recent first)</h3>
-
-<div tal:define="entries context/getLogEntries">
-
-<em tal:condition="not:entries">
-No exceptions logged.
-</em>
-
-<table tal:condition="entries">
- <tr>
- <th align="left">Time</th>
- <th align="left">User</th>
- <th align="left">Exception</th>
- </tr>
- <tr tal:repeat="entry entries">
- <td valign="top" nowrap="nowrap">
- <span tal:content="entry/time">Time</span>
- </td>
- <td>
- <span tal:content="entry/username">joe</span>
- </td>
- <td valign="top">
- <a href="showEntry" tal:attributes="href string:showEntry.html?id=${entry/id}"
- >
- <span tal:content="entry/type">AttributeError</span>:
- <span tal:define="value entry/value"
- tal:content="python: len(value) < 70 and value or value[:70] + '...'">
- Application object has no attribute "zzope"</span>
- </a>
- </td>
- </tr>
-</table>
-</div>
-</form>
-<p>
-<form action="index.html" method="get">
-<input type="submit" name="submit" value=" Refresh " />
-</form>
-</p>
+
+ <p class="form-help" i18n:translate="">
+ This page lists the exceptions that have occurred in this site
+ recently. You can configure how many exceptions should be kept
+ and whether the exceptions should be copied to Zope's event log
+ file(s).
+ </p>
+
+ <form action="edit.html" method="post"
+ tal:define="props context/getProperties">
+ <br />
+ <div class="row">
+ <div class="label" i18n:translate="">Number of exceptions to keep</div>
+ <div class="field">
+ <input type="text" name="keep_entries" size="40"
+ tal:attributes="value props/keep_entries" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">
+ Copy exceptions to the event log
+ </div>
+ <div class="field">
+ <input type="checkbox" name="copy_to_zlog"
+ tal:attributes="checked props/copy_to_zlog" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Ignored exception types</div>
+ <div class="field">
+ <textarea name="ignored_exceptions:lines" cols="40" rows="3"
+ tal:content="python: '\n'.join(props['ignored_exceptions'])" />
+ </div>
+ </div>
+
+ <div class="row">
+ <div class="controls">
+ <input type="submit" name="submit" value="Save Changes"
+ i18n:attributes="value save-changes-button"/>
+ </div>
+ </div>
+
+ <h3 i18n:translate="">Exception Log (most recent first)</h3>
+
+ <div tal:define="entries context/getLogEntries">
+
+ <em tal:condition="not:entries">
+ No exceptions logged.
+ </em>
+
+ <table tal:condition="entries">
+ <tr>
+ <th align="left" i18n:translate="">Time</th>
+ <th align="left" i18n:translate="">User</th>
+ <th align="left" i18n:translate="">Exception</th>
+ </tr>
+
+ <tr tal:repeat="entry entries">
+ <td valign="top" nowrap="nowrap">
+ <span tal:content="entry/time">Time</span>
+ </td>
+ <td>
+ <span tal:content="entry/username">joe</span>
+ </td>
+ <td valign="top">
+ <a href="showEntry"
+ tal:attributes="href string:showEntry.html?id=${entry/id}">
+ <span tal:content="entry/type">AttributeError</span>:
+ <span tal:define="value entry/value"
+ tal:content="python:
+ len(value) < 70 and value or value[:70] + '...'">
+ Application object has no attribute "zzope"
+ </span>
+ </a>
+ </td>
+ </tr>
+ </table>
+
+ </div>
+
+ </form>
+
+ <form action="index.html" method="get">
+ <div class="row">
+ <div class="controls">
+ <input type="submit" name="submit" value="Refresh"
+ i18n:attributes="value refresh-button" />
+ </div>
+ </div>
+ </form>
+
</div>
</body>
</html>
=== Zope3/src/zope/app/browser/services/error.py 1.5 => 1.6 ===
--- Zope3/src/zope/app/browser/services/error.py:1.5 Sun Jun 22 10:01:43 2003
+++ Zope3/src/zope/app/browser/services/error.py Thu Aug 7 13:41:03 2003
@@ -11,15 +11,13 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-""" Define view component for event service control.
+"""Define view component for event service control.
$Id$
"""
-
-from zope.publisher.browser import BrowserView
from zope.app.services.error import ILocalErrorReportingService
-class EditErrorLog(BrowserView):
+class EditErrorLog:
__used_for__ = ILocalErrorReportingService
def updateProperties(self, keep_entries, copy_to_zlog=None,
=== Zope3/src/zope/app/browser/services/errorentry.pt 1.5 => 1.6 ===
--- Zope3/src/zope/app/browser/services/errorentry.pt:1.5 Wed Jun 25 18:14:26 2003
+++ Zope3/src/zope/app/browser/services/errorentry.pt Thu Aug 7 13:41:03 2003
@@ -1,71 +1,86 @@
<html metal:use-macro="views/standard_macros/page">
<head>
- <title>View Error Log Report</title>
+ <title metal:fill-slot="title" i18n:translate="">View Error Log Report</title>
</head>
<body>
-<div metal:fill-slot="body">
-<h1>Header</h1>
-<h3>Exception traceback</h3>
-<hr />
-<div tal:define="entry python:context.getLogEntryById(request.get('id'))">
-<em tal:condition="not:entry">
-The specified log entry was not found. It may have expired.
-</em>
-
-<div tal:condition="entry">
-
-<table>
- <tr>
- <th align="left" valign="top">Time</th>
- <td tal:content="entry/time">Time</td>
- </tr>
- <tr>
- <th align="left" valign="top">User</th>
- <td tal:content="entry/username">joe</td>
- </tr>
- <tr>
- <th align="left" valign="top">Request URL</th>
- <td tal:content="entry/url">http://zeomega.com</td>
- </tr>
- <tr>
- <th align="left" valign="top">Exception Type</th>
- <td tal:content="entry/type">AttributeError</td>
- </tr>
- <tr>
- <th align="left" valign="top">Exception Value</th>
- <td tal:content="entry/value">zzope</td>
- </tr>
-</table>
-
-<div tal:condition="entry/tb_html" tal:content="structure entry/tb_html">
-Traceback (HTML)
-</div>
-
-<pre tal:condition="not:entry/tb_html" tal:content="entry/tb_text">
-Traceback (text)
-</pre>
-
-<p tal:condition="entry/tb_text"><a href="" tal:attributes="href
- string:showTextTBEntry.html?id=${entry/id}">Display
- traceback as text</a></p>
+<div metal:fill-slot="body"
+ tal:define="entry python:context.getLogEntryById(request.get('id'))">
+ <h1 i18n:translate="">Header</h1>
+ <h3 i18n:translate="">Exception traceback</h3>
-<div tal:condition="entry/req_html">
-<h3>REQUEST</h3>
-<hr />
-<div tal:replace="structure entry/req_html"></div>
-</div>
+ <em tal:condition="not:entry">
+ The specified log entry was not found. It may have expired.
+ </em>
-</div>
+ <div tal:condition="entry">
+
+ <div class="row">
+ <div class="label" i18n:translate="">Time</div>
+ <div class="field" tal:content="entry/time">Time</div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">User</div>
+ <div class="field" tal:content="entry/username">joe</div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Request URL</div>
+ <div class="field" tal:content="entry/url">http://zeomega.com</div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Exception Type</div>
+ <div class="field" tal:content="entry/type">AttributeError</div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Exception Value</div>
+ <div class="field" tal:content="entry/value">zzope</div>
+ </div>
+
+ <div class="row">
+ <div class="label" i18n:translate="">Traceback</div>
+ <div class="field"> </div>
+ </div>
+ <br/>
+
+ <div tal:condition="entry/tb_html" tal:content="structure entry/tb_html">
+ Traceback (HTML)
+ </div>
+
+ <pre tal:condition="not:entry/tb_html" tal:content="entry/tb_text">
+ Traceback (text)
+ </pre>
+
+ <p tal:condition="entry/tb_text">
+ <a href=""
+ tal:attributes="href string:showTextTBEntry.html?id=${entry/id}"
+ i18n:translate="">Display traceback as text</a>
+ </p>
+
+
+ <div tal:condition="entry/req_html">
+
+ <h3 i18n:translate="">REQUEST</h3>
+
+ <div tal:replace="structure entry/req_html"></div>
+
+ </div>
+
+ </div>
-<div>
<form action="index.html" method="get">
- <input type="submit" name="submit" value=" Return to log " />
+ <div class="row">
+ <div class="controls">
+ <input type="submit" name="submit" value="Return to log"
+ i18n:attributes="value return-to-log-button" />
+ </div>
+ </div>
</form>
-</div>
-</div>
</div>
</body>
</html>
=== Zope3/src/zope/app/browser/services/event.py 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/event.py:1.3 Mon Dec 30 09:02:54 2002
+++ Zope3/src/zope/app/browser/services/event.py Thu Aug 7 13:41:03 2003
@@ -11,20 +11,17 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-""" Define view component for event service control.
+"""Define view component for event service control.
$Id$
"""
-
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
from zope.app.interfaces.services.event import IEventService
-from zope.publisher.browser import BrowserView
-
-class Control(BrowserView):
+class Control:
__used_for__ = IEventService
- def index(self):
- return self.__control()
+ # XXX: Really needed? Currently it does nothing (obviously). I guess it is
+ # just a placeholder for later functionality.
- __control = ViewPageTemplateFile("eventcontrol.pt")
+ # This view should be responsible to display all the objects that are
+ # subscribed to it and maybe even a log of the last events it handeled.
=== Zope3/src/zope/app/browser/services/eventcontrol.pt 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/eventcontrol.pt:1.3 Mon Dec 30 09:02:54 2002
+++ Zope3/src/zope/app/browser/services/eventcontrol.pt Thu Aug 7 13:41:03 2003
@@ -1,24 +1,9 @@
<html metal:use-macro="views/standard_macros/page">
-<head>
-<style metal:fill-slot="headers" type="text/css">
-<!--
-.ContentListing {
- width: 100%;
-}
-
-.ContentIcon {
- width: 20px;
-}
-
-.ContentTitle {
- text-align: left;
-}
--->
-</style>
-</head>
<body>
<div metal:fill-slot="body">
-<p>This is an event service.</p>
+
+ <p i18n:translate="">This is an event service.</p>
+
</div>
</body>
</html>
=== Zope3/src/zope/app/browser/services/field.py 1.11 => 1.12 ===
--- Zope3/src/zope/app/browser/services/field.py:1.11 Mon Jun 30 12:23:33 2003
+++ Zope3/src/zope/app/browser/services/field.py Thu Aug 7 13:41:03 2003
@@ -15,17 +15,14 @@
$Id$
"""
-__metaclass__ = type
+from xml.sax.saxutils import quoteattr
from zope.app.browser.form.widget import BrowserWidget
-from zope.app.interfaces.browser.form import IBrowserWidget
+from zope.app.traversing import traverse
from zope.component import getServiceManager, getView
-from zope.app.form.widget import Widget
-from zope.publisher.browser import BrowserView
-from xml.sax.saxutils import quoteattr
-from zope.app.interfaces.form import WidgetInputError
-from zope.app.traversing import traverse, canonicalPath
-from zope.interface import implements
+
+__metaclass__ = type
+
class ComponentPathWidget(BrowserWidget):
@@ -45,6 +42,7 @@
return renderPathSelect(field.context, field.type,
self.name, selected)
+
class ComponentPathDisplayWidget(ComponentPathWidget):
def __call__(self):
@@ -54,6 +52,7 @@
url = str(getView(ob, 'absolute_url', self.request))
url += "/@@SelectedManagementView.html"
return '<a href="%s">%s</a>' % (url, path)
+
def renderPathSelect(context, type, name, selected, empty_message=''):
service_manager = getServiceManager(context)
=== Zope3/src/zope/app/browser/services/hub.py 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/hub.py:1.3 Mon Dec 30 09:02:54 2002
+++ Zope3/src/zope/app/browser/services/hub.py Thu Aug 7 13:41:03 2003
@@ -11,20 +11,14 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-""" Define view component for object hub.
+"""Define view component for object hub.
$Id$
"""
-
from zope.app.interfaces.services.hub import IObjectHub
-from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
-from zope.publisher.browser import BrowserView
-
-class Control(BrowserView):
+class Control:
__used_for__ = IObjectHub
- def index(self):
- return self.__control()
-
- __control = ViewPageTemplateFile("hubcontrol.pt")
+ # XXX: Another dead chicken. Guys, this view could do soo much, like aehm,
+ # display the cataloged objects with a nice filter function?
=== Zope3/src/zope/app/browser/services/hubcontrol.pt 1.4 => 1.5 ===
--- Zope3/src/zope/app/browser/services/hubcontrol.pt:1.4 Thu Aug 7 11:32:44 2003
+++ Zope3/src/zope/app/browser/services/hubcontrol.pt Thu Aug 7 13:41:03 2003
@@ -1,32 +1,26 @@
<html metal:use-macro="views/standard_macros/page">
-<head>
-<style metal:fill-slot="headers" type="text/css">
-<!--
-.ContentListing {
- width: 100%;
-}
-
-.ContentIcon {
- width: 20px;
-}
-
-.ContentTitle {
- text-align: left;
-}
--->
-</style>
-</head>
<body>
<div metal:fill-slot="body">
-<div class="message" tal:condition="request/unregister_missing|nothing">
- <span tal:replace="context/unregisterMissingObjects">5</span> object(s) unregistered.
-</div>
-<p>This is an object hub. There are <span tal:replace="context/numRegistrations">
-(some number of)</span> objects registered.
-</p>
-<form>
-<input type="submit" name="unregister_missing" value="Unregister Missing Objects" />
-</form>
+
+ <div class="message" tal:condition="request/unregister_missing|nothing"
+ i18n:translate="">
+ <span tal:replace="context/unregisterMissingObjects"
+ i18n:name="missing_num">5</span> object(s) unregistered.
+ </div>
+
+ <p i18n:translate="">
+ This is an object hub. There are
+ <span tal:replace="context/numRegistrations"
+ i18n:name="num_objects">42</span>
+ objects registered.
+ </p>
+
+ <form>
+ <input type="submit" name="unregister_missing"
+ value="Unregister Missing Objects"
+ i18n:attributes="value"/>
+ </form>
+
</div>
</body>
</html>
=== Zope3/src/zope/app/browser/services/pagefolder.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/browser/services/pagefolder.py:1.2 Wed Jul 2 18:10:59 2003
+++ Zope3/src/zope/app/browser/services/pagefolder.py Thu Aug 7 13:41:03 2003
@@ -13,15 +13,14 @@
##############################################################################
"""
-Revision information: $Id$
+$Id$
"""
from zope.app.interfaces.services.pagefolder import IPageFolder
class PageFolderDefaultConfiguration:
def changed(self):
- """Apply changes to existing configurations
- """
+ """Apply changes to existing configurations"""
__used_for__ = IPageFolder
folder = self.context
=== Zope3/src/zope/app/browser/services/pagefolder.zcml 1.3 => 1.4 ===
--- Zope3/src/zope/app/browser/services/pagefolder.zcml:1.3 Sun Aug 3 13:49:27 2003
+++ Zope3/src/zope/app/browser/services/pagefolder.zcml Thu Aug 7 13:41:03 2003
@@ -1,26 +1,20 @@
-<configure
- xmlns='http://namespaces.zope.org/browser'
- i18n_domain='zope'
- >
+<configure xmlns="http://namespaces.zope.org/browser">
<!-- PageFolder -->
- <page name="index.html"
-
- for="zope.app.interfaces.services.pagefolder.IPageFolder"
- permission="zope.ManageServices"
- class="zope.app.browser.container.contents.JustContents"
- attribute="index"
- />
+ <page
+ name="index.html"
+ for="zope.app.interfaces.services.pagefolder.IPageFolder"
+ permission="zope.ManageServices"
+ class="zope.app.browser.container.contents.JustContents"
+ attribute="index" />
<page name="contents.html"
for="zope.app.interfaces.services.pagefolder.IPageFolder"
permission="zope.ManageServices"
class="zope.app.browser.container.contents.Contents"
- menu="zmi_views"
- title="Contents"
- attribute="contents"
- />
+ menu="zmi_views" title="Contents"
+ attribute="contents" />
<editform
name="DefaultRegistration.html"
@@ -28,8 +22,7 @@
schema="zope.app.interfaces.services.pagefolder.IPageFolderInfo"
menu="zmi_views" title="Default Registration"
permission="zope.ManageServices"
- class=".pagefolder.PageFolderDefaultConfiguration"
- />
+ class=".pagefolder.PageFolderDefaultConfiguration" />
<!-- Override the add action with a link to add a template -->
@@ -38,8 +31,7 @@
for="zope.app.interfaces.services.pagefolder.IPageFolder"
title="Add"
action="contents.html?type_name=zope.app.services.zpt.template"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<menuItem
menu="add_component"
=== Zope3/src/zope/app/browser/services/role.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/browser/services/role.py:1.2 Wed Dec 25 09:12:36 2002
+++ Zope3/src/zope/app/browser/services/role.py Thu Aug 7 13:41:03 2003
@@ -1,11 +1,25 @@
-from zope.publisher.browser import BrowserView
-from zope.app.services.role import Role
-from zope.app.services.role import ILocalRoleService
+##############################################################################
+#
+# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.0 (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.
+#
+##############################################################################
+""" Define view component for service manager contents.
+$Id$
+"""
+from zope.app.browser.container.contents import Contents
+from zope.app.services.role import Role, ILocalRoleService
-class Add(BrowserView):
+class Add:
"Provide a user interface for adding a contact"
-
__used_for__ = ILocalRoleService
def action(self, id, title, description):
@@ -15,13 +29,6 @@
self.request.response.redirect('.')
-
-""" Define view component for service manager contents.
-
-$Id$
-"""
-
-from zope.app.browser.container.contents import Contents
-
class Contents(Contents):
+ # XXX: What the heck is that? I guess another dead chicken.
pass
=== Zope3/src/zope/app/browser/services/service.py 1.33 => 1.34 ===
--- Zope3/src/zope/app/browser/services/service.py:1.33 Sat Jun 21 17:45:03 2003
+++ Zope3/src/zope/app/browser/services/service.py Thu Aug 7 13:41:03 2003
@@ -18,6 +18,7 @@
from zope.app import zapi
from zope.app.browser.container.adding import Adding
from zope.app.browser.container.contents import Contents
+from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.interfaces.container import IZopeContainer
from zope.app.interfaces.services.registration import ActiveStatus
from zope.app.interfaces.services.registration import RegisteredStatus
@@ -184,9 +185,11 @@
obj.status = ActiveStatus
done.append(name)
if done:
- return "Activated: " + ", ".join(done)
+ s = _("Activated: ${activated_services}")
+ s.mapping = {'activated_services': ", ".join(done)}
+ return s
else:
- return "All of the checked services were already active"
+ return _("All of the checked services were already active")
def _deactivate(self, todo):
done = []
@@ -197,9 +200,11 @@
obj.status = RegisteredStatus
done.append(name)
if done:
- return "Deactivated: " + ", ".join(done)
+ s = _("Deactivated: ${deactivated_services}")
+ s.mapping = {'deactivated_services': ", ".join(done)}
+ return s
else:
- return "None of the checked services were active"
+ return _("None of the checked services were active")
def _delete(self, todo):
errors = []
@@ -210,9 +215,10 @@
errors.append(name)
continue
if errors:
- return ("Can't delete active service%s: %s; "
- "use the Deactivate button to deactivate" %
- (len(errors) != 1 and "s" or "", ", ".join(errors)))
+ s = _("Can't delete active service(s): ${service_names}; "
+ "use the Deactivate button to deactivate")
+ s.mapping = {'service_names': ", ".join(errors)}
+ return s
# 1) Delete the registrations
services = {}
@@ -245,7 +251,9 @@
container = zapi.getAdapter(parent, IZopeContainer)
del container[name]
- return "Deleted: %s" % ", ".join(todo)
+ s = _("Deleted: ${service_names}")
+ s.mapping = {'service_names': ", ".join(todo)}
+ return s
def listConfiguredServices(self):
names = list(self.context.listRegistrationNames())
@@ -325,19 +333,20 @@
sm = zapi.getServiceManager(self.context)
registry = sm.queryRegistrations(self.request.get('type'))
if not registry:
- return "Invalid service type specified"
+ return _("Invalid service type specified")
old_active = registry.active()
if active == "None":
new_active = None
else:
new_active = zapi.traverse(sm, active)
if old_active == new_active:
- return "No change"
+ return _("No change")
if new_active is None:
registry.activate(None)
- return "Service deactivated"
+ return _("Service deactivated")
else:
new_active.status = ActiveStatus
- return active + " activated"
-
+ s = "${active_services} activated"
+ s.mapping = {'active_services': active}
+ return s
=== Zope3/src/zope/app/browser/services/serviceactivation.pt 1.9 => 1.10 ===
--- Zope3/src/zope/app/browser/services/serviceactivation.pt:1.9 Wed Jun 25 18:14:26 2003
+++ Zope3/src/zope/app/browser/services/serviceactivation.pt Thu Aug 7 13:41:03 2003
@@ -3,18 +3,15 @@
<tal:block
metal:fill-slot="headers"
tal:define="global pagetip string:
-
To activate a particular service implementation,
check its radio button and click Update.
-
- "
- />
-
+ "/>
<div metal:fill-slot="body">
- <h2>Registrations for service
- <i tal:content="request/type|default">No service type specified</i>
+ <h2 i18n:translate="">Registrations for service
+ <i tal:content="request/type|default" i18n:name="service_type"
+ i18n:translate="">No service type specified</i>
</h2>
<p tal:content="view/update">Message from update() goes here</p>
@@ -24,9 +21,10 @@
<table tal:define="registry view/listRegistry">
<thead>
- <tr> <td></td>
- <th align="left">Service</th>
- <th align="left">Registration</th>
+ <tr>
+ <td></td>
+ <th align="left" i18n:translate="">Service</th>
+ <th align="left" i18n:translate="">Registration</th>
</tr>
</thead>
@@ -53,7 +51,8 @@
<input type="hidden" name="type" value="Events"
tal:attributes="value request/type|nothing" />
- <input type="submit" value="Submit" />
+ <input type="submit" value="Submit"
+ i18n:attributes="value submit-button" />
</form>
=== Zope3/src/zope/app/browser/services/services.pt 1.12 => 1.13 ===
--- Zope3/src/zope/app/browser/services/services.pt:1.12 Sat Jul 12 23:20:04 2003
+++ Zope3/src/zope/app/browser/services/services.pt Thu Aug 7 13:41:03 2003
@@ -1,74 +1,78 @@
<html metal:use-macro="views/standard_macros/page">
-
-<tal:block metal:fill-slot="headers" />
-
+<body>
<div metal:fill-slot="body">
- <h2>
+ <h2 i18n:translate="">
Services registered in this service manager
</h2>
<div tal:define="message view/update;
registries view/listConfiguredServices">
- <div class="message" tal:condition="message">
- <span tal:replace="message">view/update message here</span>
- <br /><br /><i><a href="">(click to clear message)</a></i>
- </div>
-
- <p tal:condition="not:registries">No services are registered.</p>
-
- <div tal:condition="registries">
- <p>Unless a service is disabled, the service name
- links to the active service. The (change registration)
- link allows activating a different implementation or
- disabling the service altogether.
- </p>
-
- <form method="POST" action="services.html">
-
- <table>
- <tr tal:repeat="reg registries">
- <td><input type="checkbox" name="selected:list"
- tal:attributes="value reg/name" /></td>
- <td>
- <a href="(link to the active service)"
- tal:condition="reg/url"
- tal:attributes= "href reg/url"
- tal:content="reg/name">
- Foobar (the service type)
- </a>
- <span tal:condition="not:reg/url">
- <span tal:content="reg/name" />
- (disabled)</span>
- </td>
- <td>
- <a href="xxx"
- tal:attributes=
- "href string:@@serviceActivation.html?type=${reg/name}"
- >
- (change registration)
- </a>
- </td>
- </tr>
- </table>
-
- <input type="submit" name="Activate" value="Activate" />
- <input type="submit" name="Deactivate" value="Deactivate" />
-
- <input type="submit" name="Delete" value="Delete" />
-
- <input type="submit" name="Refresh" value="Refresh" />
+ <div class="message" tal:condition="message">
+ <span tal:replace="message">view/update message here</span>
+ <br /><br />
+ <i><a href="" i18n:translate="">(click to clear message)</a></i>
+ </div>
+
+ <p tal:condition="not:registries" i18n:translate="">
+ No services are registered.
+ </p>
+
+ <div tal:condition="registries">
+ <p i18n:translate="">
+ Unless a service is disabled, the service name
+ links to the active service. The (change registration)
+ link allows activating a different implementation or
+ disabling the service altogether.
+ </p>
+
+ <form method="POST" action="services.html">
+
+ <table>
+ <tr tal:repeat="reg registries">
+ <td><input type="checkbox" name="selected:list"
+ tal:attributes="value reg/name" /></td>
+ <td>
+ <a href="(link to the active service)"
+ tal:condition="reg/url"
+ tal:attributes= "href reg/url"
+ tal:content="reg/name">
+ Foobar (the service type)
+ </a>
+ <span tal:condition="not:reg/url">
+ <span tal:content="reg/name" />(disabled)</span>
+ </td>
+ <td>
+ <a href="xxx"
+ tal:attributes=
+ "href string:@@serviceActivation.html?type=${reg/name}"
+ i18n:translate="">
+ (change registration)
+ </a>
+ </td>
+ </tr>
+ </table>
+
+ <input type="submit" name="Activate" value="Activate"
+ i18n:attributes="value activate-button"/>
+ <input type="submit" name="Deactivate" value="Deactivate"
+ i18n:attributes="value deactivate-button"/>
+
+ <input type="submit" name="Delete" value="Delete"
+ i18n:attributes="value delete-button"/>
+
+ <input type="submit" name="Refresh" value="Refresh"
+ i18n:attributes="value refresh-button"/>
- </form>
+ </form>
- <p><a href="default/AddService">Add a service to this service
- manager</a></p>
-
- </div>
+ <p><a href="default/AddService" i18n:translate="">
+ Add a service to this service manager</a></p>
+ </div>
</div>
</div>
-
+</body>
</html>
=== Zope3/src/zope/app/browser/services/subscription_control.pt 1.1 => 1.2 ===
--- Zope3/src/zope/app/browser/services/subscription_control.pt:1.1 Fri Jul 11 01:50:30 2003
+++ Zope3/src/zope/app/browser/services/subscription_control.pt Thu Aug 7 13:41:03 2003
@@ -1,46 +1,45 @@
<html metal:use-macro="views/standard_macros/page">
+<head>
+ <title metal:fill-slot="title" i18n:translate="">
+ Registration "Service" Control Page
+ </title>
+</head>
- <head>
- <title>Registration "Service" Control Page</title>
- </head>
+<body>
+<div metal:fill-slot="body">
- <body>
-
- <div metal:fill-slot="body">
-
- <h1>Subscription control</h1>
+ <h1 i18n:translate="">Subscription control</h1>
+ <!-- XXX: Too much logic for a simple template! -->
<span tal:condition="request/callSubscribe|nothing" tal:omit-tag="">
- <span tal:define="dummy context/subscribe" tal:omit-tag=""/>
- Successfully subscribed.
+ <span tal:define="dummy context/subscribe" tal:omit-tag=""/>
+ <span i18n:translate="">Successfully subscribed.</span>
</span>
<span tal:condition="request/callUnsubscribe|nothing" tal:omit-tag="">
- <span tal:define="dummy context/unsubscribe" tal:omit-tag=""/>
- Successfully unsubscribed.
+ <span tal:define="dummy context/unsubscribe" tal:omit-tag=""/>
+ <span i18n:translate="">Successfully unsubscribed.</span>
</span>
<span tal:condition="request/callRegisterExisting|nothing" tal:omit-tag="">
- <span tal:define="dummy context/registerExisting" tal:omit-tag=""/>
- Registration done.
+ <span tal:define="dummy context/registerExisting" tal:omit-tag=""/>
+ <span i18n:translate="">Registration done.</span>
</span>
<form action="" method="post">
<span tal:condition="context/isSubscribed" tal:omit-tag="">
- Subscription state: ON
- <input type="submit" value="Unsubscribe" name="callUnsubscribe" />
+ <span i18n:translate="">Subscription state: ON</span>
+ <input type="submit" value="Unsubscribe" name="callUnsubscribe" />
</span>
<span tal:condition="not:context/isSubscribed" tal:omit-tag="">
- Subscription state: OFF
- <input type="submit" value="Subscribe" name="callSubscribe" />
+ <span i18n:translate="">Subscription state: OFF</span>
+ <input type="submit" value="Subscribe" name="callSubscribe" />
</span>
</form>
<form action="" method="post">
<input type="submit" value="Register Existing Objects"
- name="callRegisterExisting" />
+ name="callRegisterExisting" i18n:attributes="value"/>
</form>
- </div>
-
- </body>
-
+</div>
+</body>
</html>
=== Zope3/src/zope/app/browser/services/view.py 1.21 => 1.22 ===
--- Zope3/src/zope/app/browser/services/view.py:1.21 Sat Jun 21 17:50:15 2003
+++ Zope3/src/zope/app/browser/services/view.py Thu Aug 7 13:41:03 2003
@@ -15,45 +15,47 @@
$Id$
"""
-__metaclass__ = type
-
import md5
-from zope.interface import Interface
-from zope.schema import TextLine, BytesLine
-from zope.component.interfaces import IPresentation
-from zope.component import getAdapter, getServiceManager, getView
-from zope.app.context import ContextWrapper
-from zope.publisher.browser import BrowserView
from zope.app.component.interfacefield import InterfaceField
+from zope.app.context import ContextWrapper
from zope.app.form.utility import setUpWidgets
+from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.interfaces.container import IZopeContainer
from zope.app.interfaces.services.registration import ActiveStatus
from zope.app.interfaces.services.registration import RegisteredStatus
from zope.app.interfaces.services.registration import UnregisteredStatus
from zope.app.traversing import getPath, getParent, getName
+from zope.component import getAdapter, getServiceManager, getView
+from zope.component.interfaces import IPresentation
+from zope.interface import Interface
+from zope.schema import TextLine, BytesLine
+
+__metaclass__ = type
+
class IViewSearch(Interface):
- forInterface = InterfaceField(title=u"For interface",
- required=False,
- )
- presentationType = InterfaceField(title=u"Presentation interface",
- required=False,
- basetype=IPresentation
- )
-
- viewName = TextLine(title=u'View name',
- required=False,
- )
-
- layer = BytesLine(title=u'Layer',
- required=False,
- )
+ forInterface = InterfaceField(
+ title=u"For interface",
+ required=False)
+ presentationType = InterfaceField(
+ title=u"Presentation interface",
+ required=False,
+ basetype=IPresentation)
-class _SharedBase(BrowserView):
+ viewName = TextLine(
+ title=u'View name',
+ required=False)
+
+ layer = BytesLine(
+ title=u'Layer',
+ required=False)
+
+
+class _SharedBase:
def _getRegistryFromKey(self, key):
values = key.split(":")
@@ -124,9 +126,11 @@
obj.status = ActiveStatus
done.append(self._getSummaryFromRegistry(registry))
if done:
- return "Activated: " + ", ".join(done)
+ s = _("Activated: ${activated_views}")
+ s.mapping = {'activated_views': ", ".join(done)}
+ return s
else:
- return "All of the checked views were already active"
+ return _("All of the checked views were already active")
def _deactivate(self, todo):
done = []
@@ -137,9 +141,11 @@
obj.status = RegisteredStatus
done.append(self._getSummaryFromRegistry(registry))
if done:
- return "Deactivated: " + ", ".join(done)
+ s = _("Deactivated: ${deactivated_views}")
+ s.mapping = {'deactivated_views': ", ".join(done)}
+ return s
else:
- return "None of the checked views were active"
+ return _("None of the checked views were active")
def _delete(self, todo):
errors = []
@@ -153,9 +159,10 @@
continue
registries.append(registry)
if errors:
- return ("Can't delete active page%s: %s; "
- "use the Deactivate button to deactivate" %
- (len(errors) != 1 and "s" or "", ", ".join(errors)))
+ s = _("Can't delete active view(s): ${view_names}; "
+ "use the Deactivate button to deactivate")
+ s.mapping = {'view_names': ", ".join(errors)}
+ return s
# Now delete the registrations
done = []
@@ -171,7 +178,9 @@
container = getAdapter(parent, IZopeContainer)
del container[name]
- return "Deleted: %s" % ", ".join(done)
+ s = _("Deleted: ${cache_names}")
+ s.mapping = {'cache_names': ", ".join(todo)}
+ return s
def configInfo(self):
"""Do a search, or (by default) return all view pages."""
@@ -236,8 +245,7 @@
return result
-class PageRegistrationView(BrowserView):
-
+class PageRegistrationView:
"""Helper class for the page edit form."""
def update(self):
=== Zope3/src/zope/app/browser/services/view.zcml 1.5 => 1.6 ===
--- Zope3/src/zope/app/browser/services/view.zcml:1.5 Sun Aug 3 13:49:27 2003
+++ Zope3/src/zope/app/browser/services/view.zcml Thu Aug 7 13:41:03 2003
@@ -1,7 +1,4 @@
-<configure
- xmlns='http://namespaces.zope.org/browser'
- i18n_domain='zope'
- >
+<configure xmlns="http://namespaces.zope.org/browser">
<!-- View service -->
@@ -11,15 +8,13 @@
template="views.pt"
permission="zope.ManageServices"
class="zope.app.browser.services.view.ViewServiceView"
- menu="zmi_views" title="Views"
- />
+ menu="zmi_views" title="Views" />
<menuItem
for="zope.app.interfaces.container.IAdding"
menu="add_service"
action="zope.app.services.ViewService"
- title="View Service"
- />
+ title="View Service" />
<!-- View pages -->
@@ -28,8 +23,7 @@
name="configureView.html"
template="configureView.pt"
class=".view.ConfigureView"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<editform
schema="zope.app.interfaces.services.view.IPageRegistration"
@@ -37,8 +31,7 @@
class=".view.PageRegistrationView"
menu="zmi_views"
label="Change page"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<addform
schema="zope.app.interfaces.services.view.IPageRegistration"
@@ -49,8 +42,7 @@
label="Register a view page"
permission="zope.ManageServices"
fields="forInterface viewName
- template class_ layer permission status"
- />
+ template class_ layer permission status" />
<!-- XXX Jim says view configuration doesn't work and aren't well thought out.
So I'm commenting it out for now.
@@ -64,8 +56,7 @@
name="edit.html"
menu="zmi_views"
label="Change view"
- permission="zope.ManageServices"
- />
+ permission="zope.ManageServices" />
<addform
schema="zope.app.interfaces.services.view.IViewRegistration"
@@ -77,15 +68,13 @@
label="Register a view"
permission="zope.ManageServices"
fields="forInterface viewName presentationType
- class_ layer permission status"
- />
+ class_ layer permission status" />
<menuItem
for="zope.app.interfaces.container.IAdding"
menu="add_registration"
action="ViewRegistration"
- title="View"
- />
+ title="View" />
-->
=== Zope3/src/zope/app/browser/services/views.pt 1.7 => 1.8 ===
--- Zope3/src/zope/app/browser/services/views.pt:1.7 Fri Jun 27 06:56:39 2003
+++ Zope3/src/zope/app/browser/services/views.pt Thu Aug 7 13:41:03 2003
@@ -1,57 +1,63 @@
<html metal:use-macro="context/@@standard_macros/page">
-
+<body>
<div metal:fill-slot="body"
- tal:define="message view/update; configs view/configInfo"
- >
-
-<h2>Pages registered in this views service:</h2>
-
- <div class="message" tal:condition="message">
- <span tal:replace="message">view/update message here</span>
- <br /><br /><i><a href="">(click to clear message)</a></i>
- </div>
+ tal:define="message view/update; configs view/configInfo">
-<p tal:condition="not:configs">None</p>
+ <h2 i18n:translate="">Pages registered in this views service:</h2>
-<form method="POST" action="index.html" tal:condition="configs">
+ <div class="message" tal:condition="message">
+ <span tal:replace="message">view/update message here</span>
+ <br /><br />
+ <i><a href="" i18n:translate="">(click to clear message)</a></i>
+ </div>
+
+ <p tal:condition="not:configs">None</p>
+
+ <form method="POST" action="index.html" tal:condition="configs">
+
+ <table>
+ <tbody>
+ <tr tal:repeat="config configs">
+ <td>
+ <input type="checkbox" name="selected:list"
+ tal:attributes="value config/key" />
+ <br />
+ </td>
+ <td>
+ <a tal:condition="config/url" tal:attributes="href config/url">
+ <span tal:replace="config/summary" />
+ </a>
+ <span tal:condition="not:config/url" tal:replace="config/summary" />
+ </td>
+ <td>
+ <a href="." tal:attributes="href config/configurl"
+ i18n:translate="">
+ (change registration)</a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <input type="submit" name="Activate" value="Activate"
+ i18n:attributes="value activate-button"/>
+ <input type="submit" name="Deactivate" value="Deactivate"
+ i18n:attributes="value deactivate-button"/>
+
+ <input type="submit" name="Delete" value="Delete"
+ i18n:attributes="value delete-button"/>
+
+ <input type="submit" name="Refresh" value="Refresh"
+ i18n:attributes="value refresh-button"/>
+
+ </form>
+
+ <p>
+ <a href="../RegistrationManager/@@+/PageRegistration=" i18n:translate="">
+ Add a page to this views service</a></p>
- <table>
- <tbody>
- <tr tal:repeat="config configs">
- <td>
- <input type="checkbox" name="selected:list"
- tal:attributes="value config/key" />
- <br />
- </td>
- <td>
- <a tal:condition="config/url" tal:attributes="href config/url">
- <span tal:replace="config/summary" />
- </a>
- <span tal:condition="not:config/url" tal:replace="config/summary" />
- </td>
- <td>
- <a href="." tal:attributes="href config/configurl">
- (change registration)</a>
- </td>
- </tr>
- </tbody>
- </table>
-
- <input type="submit" name="Activate" value="Activate" />
- <input type="submit" name="Deactivate" value="Deactivate" />
-
- <input type="submit" name="Delete" value="Delete" />
-
- <input type="submit" name="Refresh" value="Refresh" />
+ <h3 i18n:translate="">Search filter:</h3>
-</form>
-
-<p><a href="../RegistrationManager/@@+/PageRegistration=">
-Add a page to this views service</a></p>
-
-<h3>Search filter:</h3>
-
-<form action="." method="GET">
+ <form action="." method="GET">
<div class="row"
tal:content="structure view/forInterface_widget/row"
/>
@@ -62,12 +68,14 @@
/>
-->
<div class="row">
- <div class="controls">
- <input type="submit" value="Refresh" />
- <input type="submit" value="Search" name="SEARCH" />
- </div>
+ <div class="controls">
+ <input type="submit" value="Refresh"
+ i18n:attributes="value refresh-button"/>
+ <input type="submit" value="Search" name="SEARCH"
+ i18n:attributes="value search-button"/>
+ </div>
</div>
-</form>
+ </form>
</div>
=== Zope3/src/zope/app/browser/services/zpt.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/browser/services/zpt.py:1.2 Wed Dec 25 09:12:36 2002
+++ Zope3/src/zope/app/browser/services/zpt.py Thu Aug 7 13:41:03 2003
@@ -11,17 +11,13 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""XXX short summary goes here.
-
-XXX longer description goes here.
+"""ZPT View Classes
$Id$
"""
-from zope.publisher.browser import BrowserView
-
__metaclass__ = type
-class Source(BrowserView):
+class Source:
def __call__(self):
self.request.response.setHeader('content-type',
=== Removed File Zope3/src/zope/app/browser/services/auth.pt ===
More information about the Zope3-Checkins
mailing list