[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ Image view added.

Charlie Clark charlie at begeistert.org
Sun Jun 27 10:01:57 EDT 2010


Log message for revision 113937:
  Image view added.

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/image.py
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/image.pt
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/image.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Image.xml

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt	2010-06-27 14:01:26 UTC (rev 113936)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt	2010-06-27 14:01:57 UTC (rev 113937)
@@ -79,7 +79,7 @@
       link_edit_template.pt -> formlib based
       link_edit_control.py -> formlib based
 
-  [ ] IFile @@view.html:
+  [x] IFile @@view.html:
 
       file_view.py -> FileView
       file_view_template.pt -> templates/file.pt
@@ -90,7 +90,7 @@
       file_edit_template.pt, image_edit_template.pt -> formlib based
       file_edit_control.py, image_edit_control.py -> formlib based
 
-  [ ] IImage @@view.html:
+  [x] IImage @@view.html:
 
       image_view.py -> ImageView
       image_view_template.pt -> templates/image.pt

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml	2010-06-27 14:01:26 UTC (rev 113936)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml	2010-06-27 14:01:57 UTC (rev 113937)
@@ -138,4 +138,14 @@
       permission="cmf.ModifyPortalContent"
       />
 
+  <browser:page
+      for="Products.CMFDefault.interfaces.IImage"
+      layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
+      name="view.html"
+      class=".image.ImageView"
+      template="templates/image.pt"
+      permission="zope2.View"
+      />
+  
+
 </configure>

Added: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/image.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/image.py	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/image.py	2010-06-27 14:01:57 UTC (rev 113937)
@@ -0,0 +1,17 @@
+"""
+Image view
+$Id$
+"""
+
+from Products.CMFDefault.browser.utils import (
+        ViewBase, memoize, decode)
+
+class ImageView(ViewBase):
+
+    """View for IImage.
+    """
+
+    @memoize
+    @decode
+    def image(self):
+        return self.context.tag()
\ No newline at end of file


Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/image.py
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/image.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/image.pt	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/image.pt	2010-06-27 14:01:57 UTC (rev 113937)
@@ -0,0 +1,27 @@
+<html metal:use-macro="context/@@standard_macros/page">
+<head>
+
+<metal:slot fill-slot="base">
+<tal:span tal:replace="structure context/getBaseTag" />
+</metal:slot>
+
+</head>
+<body>
+
+<metal:slot metal:fill-slot="body">
+<h1 id="DesktopTitle" tal:content="view/title">Document Title</h1>
+
+<div id="DesktopDescription" tal:content="view/description">Document
+ Description goes here.</div>
+
+<metal:macro metal:use-macro="context/content_byline/macros/byline" />
+
+<tal:span tal:replace="structure view/image">Image Tag</tal:span>
+
+<div class="Discussion" tal:condition="context/viewThreadsAtBottom|nothing">
+ <tal:span tal:replace="structure context/viewThreadsAtBottom" />
+</div>
+</metal:slot>
+
+</body>
+</html>

Added: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/image.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/image.txt	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/image.txt	2010-06-27 14:01:57 UTC (rev 113937)
@@ -0,0 +1,45 @@
+Image Views
+----------
+
+For edit tests see "file.txt"
+
+Set up user.
+
+    >>> uf = app.site.acl_users
+    >>> uf._doAddUser('mgr', 'mgrpw', ['Manager'], [])
+
+Create the browser object we'll be using.
+
+    # BBB for Zope 2.12
+    >>> try:
+    ...     from Testing.testbrowser import Browser
+    ... except ImportError:
+    ...     from Products.Five.testbrowser import Browser
+
+    >>> browser = Browser()
+    >>> browser.handleErrors = False
+    >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+
+Use the add form with valid input.
+
+    >>> from StringIO import StringIO
+    >>> browser.open('http://localhost/site/++add++Image')
+    >>> '[[cmf_default][Add [[cmf_default][Image]]]]' in browser.contents
+    True
+    >>> browser.getControl(name='form.title').value = 'IMAGE TITLE'
+    >>> browser.getControl(name='form.description').value = 'IMAGE DESCRIPTION.'
+    >>> ctrl = browser.getControl(name='form.file')
+    >>> image = StringIO("""GIF89a^P^@^P^@ @^@ @ @^@^@PPP^     @^@^ @@^@^@ ^@@^  @^ ^@@ ^@ ^ @^  ^   ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@                    $""")
+    >>> ctrl.add_file(StringIO('IMAGE DATA'), 'text/plain', 'myImage.gif')
+    >>> browser.getControl('[[zope][Add]]').click()
+    >>> '[[cmf_default][[[cmf_default][Image]] added.]]' in browser.contents
+    True
+
+Look at the result.
+
+    >>> browser.open('http://localhost/site/myImage.gif/@@view.html')
+    >>> 'IMAGE DESCRIPTION' in browser.contents
+    True
+    
+    >>> '<img src="http://localhost/site/myImage.gif" alt="" title="IMAGE TITLE" />' in browser.contents
+    True
\ No newline at end of file

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Image.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Image.xml	2010-06-27 14:01:26 UTC (rev 113936)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Image.xml	2010-06-27 14:01:57 UTC (rev 113937)
@@ -1,5 +1,7 @@
 <?xml version="1.0"?>
 <object name="Image">
+ <alias from="(Default)" to="@@view.html"/>
  <alias from="image_edit_form" to="@@edit.html"/>
  <alias from="metadata_edit_form" to="@@properties.html"/>
+ <alias from="view" to="@@view.html"/>
 </object>



More information about the checkins mailing list