[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>