# HG changeset patch # User Paul Boddie # Date 1368831616 -7200 # Node ID aca93abcb63903992c2ea47431c3c8969ce72975 # Parent ecd29267ee0b87242acecae7d39825463f70626a Added message queueing and a "To" header in queued/sent messages. diff -r ecd29267ee0b -r aca93abcb639 actions/SendMessage.py --- a/actions/SendMessage.py Sat May 18 00:40:20 2013 +0200 +++ b/actions/SendMessage.py Sat May 18 01:00:16 2013 +0200 @@ -36,6 +36,7 @@ message = form.get("message", [""])[0] recipient = form.get("recipient", [""])[0] preview = form.get("preview") + queue = form.get("queue") # Get a list of potential recipients. @@ -65,6 +66,8 @@ "message_default" : escape(message), "preview_label" : escattr(_("Preview message")), "preview_output" : preview_output, + "queue_label" : escape(_("Queue message for sending")), + "queue_checked" : queue and 'checked="checked" ' or "", } # Prepare the output HTML. @@ -98,6 +101,11 @@ + + + + + %(buttons_html)s @@ -117,6 +125,7 @@ text = form.get("message", [None])[0] recipient = form.get("recipient", [None])[0] + queue = form.get("queue") if not text: return 0, _("A message must be given.") @@ -136,6 +145,7 @@ container = MIMEMultipart("related") container["Update-Action"] = "store" + container["To"] = recipient # Add the message body and any attachments. @@ -204,16 +214,24 @@ # Sign, encrypt and send the message. - try: - message = message.get_payload() - if signer: - message = gpg.signMessage(message, signer) + message = message.get_payload() + + if not queue: + try: + if signer: + message = gpg.signMessage(message, signer) - message = gpg.encryptMessage(message, fingerprint) - sendMessage(message, url) + message = gpg.encryptMessage(message, fingerprint) + sendMessage(message, url) + + except MoinMessageError, exc: + return 0, "%s: %s" % (_("The message could not be prepared and sent:"), exc) - except MoinMessageError, exc: - return 0, "%s: %s" % (_("The message could not be prepared and sent:"), exc) + # Or queue the message. + + else: + outbox = ItemStore(request.page, "outgoing-messages", "outgoing-message-locks") + outbox.append(message.as_string()) return 1, None