[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/ Added view and delete views.

Charlie Clark cvs-admin at zope.org
Fri Sep 7 10:35:05 UTC 2012


Log message for revision 127772:
  Added view and delete views.

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/configure.zcml
  A   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/configure.zcml	2012-09-07 10:04:10 UTC (rev 127771)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/configure.zcml	2012-09-07 10:35:01 UTC (rev 127772)
@@ -3,6 +3,15 @@
     xmlns:browser="http://namespaces.zope.org/browser">
 
   <browser:page
+      for="Products.CMFCore.interfaces.IDiscussionResponse"
+      layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
+      name="view.html"
+      class=".discussion.View"
+      template="discussion.pt"
+      permission="zope2.View"
+      />
+
+  <browser:page
       for="Products.CMFCore.interfaces.IContentish"
       layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
       name="discuss.html"
@@ -10,13 +19,12 @@
       permission="cmf.ModifyPortalContent"
       />
 
+  <browser:page
+      for="Products.CMFCore.interfaces.IDiscussionResponse"
+      layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"
+      name="delete.html"
+      class=".discussion.Delete"
+      permission="cmf.ModifyPortalContent"
+      />
 
-  <!--<browser:page-->
-      <!--for="Products.CMFCore.interfaces.IPortalContent"-->
-      <!--layer="Products.CMFDefault.interfaces.ICMFDefaultSkin"-->
-      <!--name="delete_discussion.html"-->
-      <!--class=".discussion.Delete"-->
-      <!--permission="cmf.ModifyPortalContent"-->
-      <!--/>-->
-
 </configure>
\ No newline at end of file

Added: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt	2012-09-07 10:35:01 UTC (rev 127772)
@@ -0,0 +1,27 @@
+<html metal:use-macro="context/@@content_macros/page">
+<body>
+
+<metal:slot metal:fill-slot="header">
+<h1 id="DesktopTitle" tal:content="options/title">Document Title</h1>
+
+<div id="DesktopDescription" tal:content="options/description">Document
+ Description goes here.</div>
+
+<metal:macro metal:use-macro="context/content_byline/macros/byline" />
+</metal:slot>
+
+
+<metal:slot metal:fill-slot="main">
+<div id="DiscussionAbove">
+<tal:span tal:replace="structure context/aboveInThread" />
+</div>
+
+<tal:span tal:replace="structure view/text">Cooked Body</tal:span>
+
+<div class="Discussion" tal:condition="context/viewThreadsAtBottom|nothing">
+ <tal:span tal:replace="structure context/viewThreadsAtBottom" />
+</div>
+</metal:slot>
+
+</body>
+</html>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py	2012-09-07 10:04:10 UTC (rev 127771)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py	2012-09-07 10:35:01 UTC (rev 127772)
@@ -5,12 +5,34 @@
 
 from Products.CMFCore.interfaces import IDiscussionTool
 from Products.CMFDefault.formlib.form import EditFormBase
+from Products.CMFDefault.browser.utils import ViewBase
 from Products.CMFDefault.utils import Message as _
 from Products.PythonScripts.standard import structured_text
 from Products.CMFDefault.utils import html_marshal
 from Products.CMFDefault.browser.utils import decode, memoize
 
 
+class View(ViewBase):
+    """
+    View a comment in the context of a discussion
+    """
+
+    @memoize
+    @decode
+    def title(self):
+        return self.context.Title()
+
+    @memoize
+    @decode
+    def description(self):
+        return self.context.Description()
+
+    @memoize
+    @decode
+    def text(self):
+        return self.context.CookedBody()
+
+
 class IDiscussion(Interface):
 
 
@@ -119,7 +141,7 @@
 
 
 
-class Delete(EditFormBase):
+class Delete(ViewBase):
     """
     Delete an item from a discussion
     """
@@ -133,7 +155,5 @@
         parent = self.context.inReplyTo()
         talkback = self.dtool.getDiscussionFor(parent)
         talkback.deleteReply(self.context.getId())
-
-    def setRedirect(self):
-        self.context.setStatus(True, _(u'Reply deleted.'))
+        self.status = _(u'Reply deleted.')
         self.context.setRedirect(parent, 'object/view')



More information about the checkins mailing list