changeset 3059:036fc4dce2ee

fix quicklink action using same URL for link/unlink (thanks to Federico Lorenzi) (ported from 1.6)
author Reimar Bauer <rb.proj AT googlemail DOT com>
date Thu, 21 Feb 2008 20:43:42 +0100
parents f48d46b39364
children dae64bd781ad
files MoinMoin/action/quicklink.py MoinMoin/action/quickunlink.py MoinMoin/theme/__init__.py
diffstat 3 files changed, 32 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/MoinMoin/action/quicklink.py	Thu Feb 21 20:37:32 2008 +0100
+++ b/MoinMoin/action/quicklink.py	Thu Feb 21 20:43:42 2008 +0100
@@ -14,16 +14,13 @@
 
     if not request.user.valid:
         request.theme.add_msg(_("You must login to add a quicklink."), "error")
-    elif request.user.isQuickLinkedTo([pagename]):
-        if request.user.removeQuicklink(pagename):
-            request.theme.add_msg(_('Your quicklink to this page has been removed.'), "info")
-        else: # should not happen
-            request.theme.add_msg(_('Your quicklink to this page could not be removed.'), "error")
-    else:
+    elif not request.user.isQuickLinkedTo([pagename]):
         if request.user.addQuicklink(pagename):
             request.theme.add_msg(_('A quicklink to this page has been added for you.'), "info")
         else: # should not happen
             request.theme.add_msg(_('A quicklink to this page could not be added for you.'), "error")
+    else:
+        request.theme.add_msg(_('You already have a quicklink to this page.', formatted=False))
 
     Page(request, pagename).send_page()
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/action/quickunlink.py	Thu Feb 21 20:43:42 2008 +0100
@@ -0,0 +1,26 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - remove a quicklink from the user's quicklinks
+
+    @copyright: 2000-2004 Juergen Hermann <jh@web.de>,
+                2006 MoinMoin:ThomasWaldmann
+    @license: GNU GPL, see COPYING for details.
+"""
+from MoinMoin.Page import Page
+
+def execute(pagename, request):
+    """ Remove the current wiki page from the user's quicklinks """
+    _ = request.getText
+    msg = None
+
+    if not request.user.valid:
+        msg = _("You must login to remove a quicklink.", formatted=False)
+    elif request.user.isQuickLinkedTo([pagename]):
+        if request.user.removeQuicklink(pagename):
+            msg = _('Your quicklink to this page has been removed.', formatted=False)
+        else: # should not happen
+            msg = _('Your quicklink to this page could not be removed.', formatted=False)
+    else:
+        msg = _('You need to have a quicklink to this page to remove it.', formatted=False)
+
+    Page(request, pagename).send_page(msg=msg)
--- a/MoinMoin/theme/__init__.py	Thu Feb 21 20:37:32 2008 +0100
+++ b/MoinMoin/theme/__init__.py	Thu Feb 21 20:43:42 2008 +0100
@@ -1246,10 +1246,10 @@
 
         _ = self.request.getText
         if self.request.user.isQuickLinkedTo([page.page_name]):
-            text = _("Remove Link", formatted=False)
+            action, text = 'quickunlink', _("Remove Link", formatted=False)
         else:
-            text = _("Add Link", formatted=False)
-        return page.link_to(self.request, text=text, querystr={'action': 'quicklink'}, css_class='nbquicklink', rel='nofollow')
+            action, text = 'quicklink', _("Add Link", formatted=False)
+        return page.link_to(self.request, text=text, querystr={'action': action}, css_class='nbquicklink', rel='nofollow')
 
     def attachmentsLink(self, page):
         """ Return link to page attachments """