# HG changeset patch # User Paul Boddie # Date 1373757489 -7200 # Node ID 160e48877e983a67a53d01677257615bd959d654 # Parent 83f26674eb2d858913147fbbca47e60d570e6e2b Permit the sending of messages for forwarding, remaining encrypted on receipt. diff -r 83f26674eb2d -r 160e48877e98 actions/SendMessage.py --- a/actions/SendMessage.py Sun Jul 14 00:33:44 2013 +0200 +++ b/actions/SendMessage.py Sun Jul 14 01:18:09 2013 +0200 @@ -11,7 +11,7 @@ from MoinMoin.log import getLogger from MoinMoin.Page import Page from MoinMoin import config -from MoinMessage import GPG, MoinMessageError, Message, sendMessage +from MoinMessage import GPG, MoinMessageError, Message, sendMessage, timestamp from MoinSupport import * from MoinMoin.wikiutil import escape, MimeType, parseQueryString, \ taintfilename, getInterwikiHomePage @@ -65,7 +65,7 @@ recipient = form.get("recipient", [""])[0] format = form.get("format", ["wiki"])[0] preview = form.get("preview") - queue = form.get("queue") + action = form.get("send-action", ["send"])[0] # Get a list of potential recipients. @@ -98,8 +98,12 @@ "message_default" : escape(message), "preview_label" : escattr(_("Preview message")), "preview_output" : preview_output, + "send_label" : escape(_("Send message immediately")), + "send_selected" : self._get_selected("send", action), "queue_label" : escape(_("Queue message for sending")), - "queue_checked" : queue and 'checked="checked" ' or "", + "queue_selected" : self._get_selected("queue", action), + "forward_label" : escape(_("Send message for forwarding")), + "forward_selected" : self._get_selected("forward", action), } # Prepare the output HTML. @@ -139,9 +143,13 @@ - + - + @@ -165,7 +173,10 @@ text = form.get("message", [None])[0] recipient = form.get("recipient", [None])[0] format = form.get("format", ["wiki"])[0] - queue = form.get("queue") + action = form.get("send-action", ["send"])[0] + + queue = action == "queue" + forward = action == "forward" if not text: return 0, _("A message must be given.") @@ -295,6 +306,15 @@ message = gpg.signMessage(message, signer) message = gpg.encryptMessage(message, parameters["fingerprint"]) + + # Add signing for forwarded messages. + # NOTE: Signing with the same identity. + + if forward and signer: + timestamp(message) + message["Update-Action"] = "store" + message = gpg.signMessage(message, signer) + sendMessage(message, parameters["location"]) except MoinMessageError, exc: