From: tomster <svn...@pl...> - 2007-08-31 19:54:13
|
Author: tomster Date: Fri Aug 31 19:54:06 2007 New Revision: 48442 Modified: EasyGuestbook/trunk/browser/entries.pt EasyGuestbook/trunk/browser/preview-entry.pt EasyGuestbook/trunk/browser/viewlets.py Log: ok, workflow is now technically complete: you can submit new entries which can then be rejected, deleted or published by a manager. Modified: EasyGuestbook/trunk/browser/entries.pt ============================================================================== --- EasyGuestbook/trunk/browser/entries.pt (original) +++ EasyGuestbook/trunk/browser/entries.pt Fri Aug 31 19:54:06 2007 @@ -2,14 +2,20 @@ i18n:domain="EasyGuestbook" tal:define="entries view/entries;"> - <h2 tal:content="view/batch"></h2> - <ul tal:condition="entries"> <li tal:repeat="entry entries"> <h5 tal:content="entry/subject"></h5> <p class="discreet">Posted by <span tal:replace="entry/name"></span> on <span tal:replace="entry/created_local"></span></p> <p tal:content="entry/transformed_message"></p> + <div class="manage-comment" tal:condition="view/manage_guestbook_permission"> + <span i18n:translate="current_state">Current state <em i18n:name="review_state" tal:content="entry/review_state"></em>: </span> + <span tal:condition="python: entry['review_state'] != u'published'"> + <a href="" tal:attributes="href string:${request/ACTUAL_URL}/publish_comment?comment_id=${entry/id}">Publish</a> | </span> + <span tal:condition="python: entry['review_state'] != u'private'"> + <a href="" tal:attributes="href string:${request/ACTUAL_URL}/reject_comment?comment_id=${entry/id}">Reject</a> | </span> + <span><a href="" tal:attributes="href string:${request/ACTUAL_URL}/delete_comment?comment_id=${entry/id}">Delete</a></span> + </div> </li> </ul> Modified: EasyGuestbook/trunk/browser/preview-entry.pt ============================================================================== --- EasyGuestbook/trunk/browser/preview-entry.pt (original) +++ EasyGuestbook/trunk/browser/preview-entry.pt Fri Aug 31 19:54:06 2007 @@ -21,7 +21,6 @@ <td tal:content="structure data/transformed_message" /> </tr> </table> - moderated: <span tal:content="view/is_moderated"></span> <form action="" method="post" accept-charset="utf-8" name="preview-guestbook-entry" tal:attributes="action request/ACTUAL_URL"> Modified: EasyGuestbook/trunk/browser/viewlets.py ============================================================================== --- EasyGuestbook/trunk/browser/viewlets.py (original) +++ EasyGuestbook/trunk/browser/viewlets.py Fri Aug 31 19:54:06 2007 @@ -15,24 +15,37 @@ from Products.EasyGuestbook.interfaces import IGuestbook from Products.EasyGuestbook.interfaces import IGuestbookOptions -class EntriesViewlet(ViewletBase, CommentsView): +class GuestbookViewletBase(ViewletBase): + + def update(self): + """common init for our viewlets""" + context = aq_inner(self.context) + self.guestbook = IGuestbook(context) + self.utils = getToolByName(self.context, "plone_utils") + self.mtool = getToolByName(self.context, "portal_membership") + self.options = IGuestbookOptions(self.context) + self.is_moderated = self.options.is_moderated + self.manage_guestbook_permission = \ + self.mtool.checkPermission("Edit comments", self.context) + +class EntriesViewlet(GuestbookViewletBase, CommentsView): + render = ViewPageTemplateFile('entries.pt') def update(self): - self.guestbook = IGuestbook(self.context) - + super(EntriesViewlet, self).update() try: self.batch = int(self.request.get('guestbook_batch', 0)) except ValueError: self.batch = 0 - context = aq_inner(self.context) + self.entries = self.getComments() self.batched_entries = batcher(self.entries, batch=self.batch, batchsize=IGuestbookOptions(self.context).batchsize) self.number_of_batches = self.guestbook.number_of_batches() self.number_of_items = self.guestbook.number_of_items() -class AddEntryViewlet(ViewletBase): +class AddEntryViewlet(GuestbookViewletBase): add_template = ViewPageTemplateFile('add-entry.pt') preview_template = ViewPageTemplateFile('preview-entry.pt') @@ -41,12 +54,8 @@ render = add_template def update(self): + super(AddEntryViewlet, self).update() self._errors = {} - self.utils = getToolByName(self.context, "plone_utils") - self.mtool = getToolByName(self.context, "portal_membership") - self.manager = ICommenting(self.context) - self.options = IGuestbookOptions(self.context) - self.is_moderated = self.options.is_moderated if bool(self.request.get("submit_guestbook_entry", False)): self.addComment() |