[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - improved discussion views

Yvo Schubbe cvs-admin at zope.org
Mon May 13 07:30:15 UTC 2013


Log message for revision 130237:
  - improved discussion views

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/TODO.rst
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/tests/discussion.txt
  A   Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Discussion_Item.xml

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/TODO.rst
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/TODO.rst	2013-05-13 06:42:04 UTC (rev 130236)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/TODO.rst	2013-05-13 07:30:14 UTC (rev 130237)
@@ -5,13 +5,12 @@
 
 - [?] talkback_tree.pt (macros)
 - [?] setup_talkback_tree.py
-- [?] discitem_delete.py
 
-[ ] IDiscussionResponse @@view.html:
+[x] IDiscussionResponse @@view.html:
 ------------------------------------
-- [ ] discussionitem_view.py
-- [ ] aboveInThread.py
-- [ ] discussionitem_view_template.pt
+- [x] discussionitem_view.py -> discussion.View
+- [x] aboveInThread.py -> discussion.View.aboveInThread
+- [x] discussionitem_view_template.pt -> discussion.pt
 
 [ ] IDiscussionResponse @@edit.html:
 ------------------------------------
@@ -19,3 +18,7 @@
 - [ ] validateHTML.py
 - [ ] discussion_reply.py
 - [ ] discussion_reply_template.pt
+
+[ ] IDiscussionResponse @@delete.html:
+--------------------------------------
+- [x] discitem_delete.py

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt	2013-05-13 06:42:04 UTC (rev 130236)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.pt	2013-05-13 07:30:14 UTC (rev 130237)
@@ -1,26 +1,15 @@
 <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 id="DiscussionAbove" tal:condition="view/aboveInThread">
+ <tal:span i18n:translate="">Above in thread</tal:span>:
+ <tal:loop tal:repeat="item view/aboveInThread"
+ ><a href="" tal:attributes="href item/url" tal:content="item/title">Title</a
+ ><tal:case tal:condition="not: repeat/item/end"> :</tal:case></tal:loop>
 </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>

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py	2013-05-13 06:42:04 UTC (rev 130236)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/discussion.py	2013-05-13 07:30:14 UTC (rev 130237)
@@ -19,20 +19,20 @@
 
     @memoize
     @decode
-    def title(self):
-        return self.context.Title()
+    def text(self):
+        return self.context.CookedBody()
 
     @memoize
     @decode
-    def description(self):
-        return self.context.Description()
+    def aboveInThread(self):
+        """Discussion parent breadcrumbs
+        """
+        items = [ {'url': parent.absolute_url(),
+                   'title': parent.Title()}
+                  for parent in self.context.parentsInThread() ]
+        return tuple(items)
 
-    @memoize
-    @decode
-    def text(self):
-        return self.context.CookedBody()
 
-
 class IDiscussion(Interface):
 
 
@@ -141,7 +141,7 @@
 
 
 
-class Delete(ViewBase):
+class Delete(EditFormBase):
     """
     Delete an item from a discussion
     """
@@ -156,4 +156,5 @@
         talkback = self.dtool.getDiscussionFor(parent)
         talkback.deleteReply(self.context.getId())
         self.status = _(u'Reply deleted.')
-        self.context.setRedirect(parent, 'object/view')
+        self.context = parent
+        self._setRedirect('portal_types', 'object/view')

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/tests/discussion.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/tests/discussion.txt	2013-05-13 06:42:04 UTC (rev 130236)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/discussion/tests/discussion.txt	2013-05-13 07:30:14 UTC (rev 130237)
@@ -62,9 +62,12 @@
     True
 
 Check deleting
+
     >>> import urlparse
     >>> parts = urlparse.urlparse(browser.url)
     >>> path = "/".join(parts.path.split("/")[:-1])
     >>> browser.open("http://localhost/{path}/@@delete.html".format(path=path))
     >>> 'talkback' in browser.url
     False
+    >>> '[[cmf_default][Reply deleted.]]' in browser.contents
+    True

Added: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Discussion_Item.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Discussion_Item.xml	                        (rev 0)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Discussion_Item.xml	2013-05-13 07:30:14 UTC (rev 130237)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<object name="Discussion Item">
+ <alias from="(Default)" to="@@view.html"/>
+ <alias from="discussionitem_view" to="@@view.html"/>
+ <alias from="view" to="@@view.html"/>
+</object>


Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/profiles/views_support/types/Discussion_Item.xml
___________________________________________________________________
Added: svn:eol-style
   + native



More information about the checkins mailing list