[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Content/Image/Views/Browser - ImageData.py:1.1.2.5 ImageEdit.py:1.1.2.5 browser.zcml:1.1.2.6 edit.pt:1.1.2.4
Jim Fulton
jim@zope.com
Fri, 7 Jun 2002 10:41:42 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Content/Image/Views/Browser
In directory cvs.zope.org:/tmp/cvs-serv12187/lib/python/Zope/App/OFS/Content/Image/Views/Browser
Modified Files:
Tag: Zope-3x-branch
ImageData.py ImageEdit.py browser.zcml edit.pt
Log Message:
Merging in Zope3InWonderland-branch, which implemented the following
proposals (see
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/OldProposals):
- RenameAllowToRequire
- GroupClassRelatedDirectivesInClassDirective
- ViewInterfaceAndSimplification
- ConsistentUseOfSpacesAsDelimitersInZCMLAttributes
- TwoArgumentViewConstructors
- ImplementsInZCML
- SimpleViewCreationInZCML
- RemoveGetView
- ReplaceProtectWithAllow
- ViewMethodsAsViews
- MergeProtectionAndComponentDefinitions
There were also various security fixes resulting of better integration
of security with components.
=== Zope3/lib/python/Zope/App/OFS/Content/Image/Views/Browser/ImageData.py 1.1.2.4 => 1.1.2.5 ===
"""
-from Zope.Publisher.Browser.AttributePublisher import AttributePublisher
+from Zope.Publisher.Browser.BrowserView import BrowserView
from Zope.App.PageTemplate import ViewPageTemplateFile
-class ImageData(AttributePublisher):
+class ImageData(BrowserView):
- __implements__ = AttributePublisher.__implements__
-
- def __init__( self, image ):
- self._image = image
-
-
- def index(self, REQUEST=None):
- image = self.getContext()
- if REQUEST is not None:
- REQUEST.getResponse().setHeader('content-type',
- image.getContentType())
+ def __call__(self):
+ image = self.context
+ if self.request is not None:
+ self.request.getResponse().setHeader('content-type',
+ image.getContentType())
return image.getData()
@@ -53,9 +47,9 @@
'class' in the output tag to work around this.
"""
if width is None:
- width=self.getContext().getImageSize()[0]
+ width=self.context.getImageSize()[0]
if height is None:
- height = self.getContext().getImageSize()[1]
+ height = self.context.getImageSize()[1]
# Auto-scaling support
xdelta = xscale or scale
@@ -89,7 +83,3 @@
result = '%s %s="%s"' % (result, key, value)
return '%s />' % result
-
-
- def getContext(self):
- return self._image
=== Zope3/lib/python/Zope/App/OFS/Content/Image/Views/Browser/ImageEdit.py 1.1.2.4 => 1.1.2.5 ===
def getImageSize(self):
- size=self.getContext().getImageSize()
+ size=self.context.getImageSize()
return "%d x %d" % (size[0], size[1])
=== Zope3/lib/python/Zope/App/OFS/Content/Image/Views/Browser/browser.zcml 1.1.2.5 => 1.1.2.6 ===
<!-- Image View Directives -->
- <browser:defaultView name="view"
- for="Zope.App.OFS.Content.Image.Image.IImage."
- factory=".ImageData." />
-
- <browser:view name="data"
- for="Zope.App.OFS.Content.Image.Image.IImage."
- factory=".ImageData." />
-
- <security:protectClass
- class=".ImageData."
- permission_id="Zope.View"
- names="index, tag" />
-
- <browser:view name="edit"
- for="Zope.App.OFS.Content.Image.Image.IImage."
- factory=".ImageEdit." />
-
- <security:protectClass
- class=".ImageEdit."
- permission_id="Zope.View"
- names="index, action" />
+ <browser:defaultView
+ name="data"
+ for="Zope.App.OFS.Content.Image.Image.IImage."
+ permission="Zope.View"
+ allowed_attributes="__call__ tag"
+ factory=".ImageData." />
+
+ <browser:view
+ for="Zope.App.OFS.Content.Image.Image.IImage."
+ permission="Zope.ManageContent"
+ factory=".ImageEdit.">
+
+ <browser:page
+ name="editForm.html"
+ attribute="index" />
+ <browser:page
+ name="edit.html"
+ attribute="action" />
+ </browser:view>
<!-- Formulator directives -->
- <browser:view name="DataFieldView"
- for="Zope.App.OFS.Content.Image.Image.IImage."
- factory="Zope.App.OFS.Content.Image.ImageFields.DataField.
- Zope.App.Formulator.Widgets.Browser.FileWidget." />
-
- <browser:view name="ContentTypeFieldView"
- for="Zope.App.OFS.Content.Image.Image.IImage."
- factory="Zope.App.OFS.Content.Image.ImageFields.ContentTypeField.
- Zope.App.Formulator.Widgets.Browser.TextWidget." />
+ <browser:view
+ name="DataFieldView"
+ for="Zope.App.OFS.Content.Image.Image.IImage."
+ factory="Zope.App.OFS.Content.Image.ImageFields.DataField.
+ Zope.App.Formulator.Widgets.Browser.FileWidget." />
+
+ <browser:view
+ name="ContentTypeFieldView"
+ for="Zope.App.OFS.Content.Image.Image.IImage."
+ factory="Zope.App.OFS.Content.Image.ImageFields.ContentTypeField.
+ Zope.App.Formulator.Widgets.Browser.TextWidget." />
</zopeConfigure>
=== Zope3/lib/python/Zope/App/OFS/Content/Image/Views/Browser/edit.pt 1.1.2.3 => 1.1.2.4 ===
</div>
- <form action="action" method="post" enctype="multipart/form-data">
+ <form action="edit.html" method="post" enctype="multipart/form-data">
<table class="EditTable">
<tbody>