[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ Source view for Documents and NewsItems including changes to type aliases.

Charlie Clark charlie at begeistert.org
Sun Jun 27 14:45:49 EDT 2010


Log message for revision 113948:
  Source view for Documents and NewsItems including changes to type aliases.

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/document.py
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/source.pt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Document.xml
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/News_Item.xml

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt	2010-06-27 18:45:01 UTC (rev 113947)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/TODO.txt	2010-06-27 18:45:49 UTC (rev 113948)
@@ -52,6 +52,10 @@
       document_view.py, newsitem_view.py -> DocumentView
       document_view_template.pt -> document.pt
 
+  [x] IDocument @@source.html:
+      source_html.pt -> SourceView
+                        templates/source.pt
+
   [x] IMutableDocument @@edit.html:
 
       document_edit_form.py -> DocumentEditView

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml	2010-06-27 18:45:01 UTC (rev 113947)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/configure.zcml	2010-06-27 18:45:49 UTC (rev 113948)
@@ -62,6 +62,15 @@
       />
 
   <browser:page
+      for="Products.CMFDefault.interfaces.IDocument"
+      layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
+      name="source.html"
+      class=".document.SourceView"
+      template="templates/source.pt"
+      permission="cmf.ModifyPortalContent"
+  />
+
+  <browser:page
       for="Products.CMFDefault.interfaces.IMutableDocument"
       layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
       name="edit.html"

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/document.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/document.py	2010-06-27 18:45:01 UTC (rev 113947)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/document.py	2010-06-27 18:45:49 UTC (rev 113948)
@@ -151,3 +151,13 @@
         # make sure applyChanges doesn't try to update safety_belt
         self.request.form['form.safety_belt'] = self.context._safety_belt
         return None
+
+
+class SourceView(ViewBase):
+
+    """View the document source"""
+    
+    @decode
+    @memoize
+    def editable_body(self):
+        return self.context.EditableBody()
\ No newline at end of file

Added: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/source.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/source.pt	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/templates/source.pt	2010-06-27 18:45:49 UTC (rev 113948)
@@ -0,0 +1,11 @@
+<html tal:define="hdrlist context/getMetadataHeaders">
+ <head>
+ <title tal:content="view/title">the title</title><tal:block
+   tal:repeat="hdr hdrlist"><tal:block
+   tal:condition="python:hdr[0].lower() != 'title'">
+ <meta name="" content=""
+   tal:attributes="name python:hdr[0]; content python:hdr[1];"
+ /></tal:block></tal:block>
+ </head>
+ <body><p tal:replace="structure view/editable_body">EditableBody</p></body>
+</html>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt	2010-06-27 18:45:01 UTC (rev 113947)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/document.txt	2010-06-27 18:45:49 UTC (rev 113948)
@@ -73,3 +73,33 @@
     True
     >>> '[[cmf_default][This resource is locked ' in browser.contents
     True
+
+Test source view.
+Unlock document first.
+
+    >>> app.site.myDocument.wl_clearLocks()
+    >>> app.site.myDocument.wl_isLocked()
+    0
+    >>> browser.open('http://localhoste/site/myDocument/@@edit.html')
+    
+    >>> browser.getControl(name='form.text_format').value ==     ['structured-text']
+    True
+    >>> browser.getControl('[[cmf_default][Body]]').value = '*spam and eggs*'
+    >>> browser.getControl('[[cmf_default][Change]]').click()
+
+Structured Text will be formatted as HTML in the view
+
+    >>> browser.open('http://localhoste/site/myDocument/@@view.html')
+    >>> '*spam and eggs*' in browser.contents
+    False
+    >>> '<em>spam and eggs</em>' in browser.contents
+    True
+
+Structured Text markup will be visible in the source view
+
+    >>> browser.open('http://localhoste/site/myDocument/@@source.html')
+    >>> '*spam and eggs*' in browser.contents
+    True
+    >>> '<meta name="Description" content="" />' in browser.contents
+    True
+    
\ No newline at end of file

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Document.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Document.xml	2010-06-27 18:45:01 UTC (rev 113947)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Document.xml	2010-06-27 18:45:49 UTC (rev 113948)
@@ -4,5 +4,6 @@
  <alias from="document_edit_form" to="@@edit.html"/>
  <alias from="document_view" to="@@view.html"/>
  <alias from="metadata_edit_form" to="@@properties.html"/>
+ <alias from="gethtml" to="@@source.html"/>
  <alias from="view" to="@@view.html"/>
 </object>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/News_Item.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/News_Item.xml	2010-06-27 18:45:01 UTC (rev 113947)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/News_Item.xml	2010-06-27 18:45:49 UTC (rev 113948)
@@ -4,5 +4,6 @@
  <alias from="metadata_edit_form" to="@@properties.html"/>
  <alias from="newsitem_edit_form" to="@@edit.html"/>
  <alias from="newsitem_view" to="@@view.html"/>
+ <alias from="gethtml" to="@@source.html"/>
  <alias from="view" to="@@view.html"/>
 </object>



More information about the checkins mailing list