add comment subscription checkbox to editpage
authorJoey Hess <joey@kitenet.net>
Fri, 13 Apr 2012 18:28:02 +0000 (14:28 -0400)
committerJoey Hess <joey@kitenet.net>
Fri, 13 Apr 2012 18:28:02 +0000 (14:28 -0400)
Reworded template, which also called the commit message a "comment".

IkiWiki/Plugin/editpage.pm
debian/changelog
doc/plugins/notifyemail.mdwn
templates/editpage.tmpl

index d3c6959354eeebf550d199870cbe7a1c5d1a818c..d15607990db2412b8a14f281864f82f98b3cac7f 100644 (file)
@@ -64,7 +64,8 @@ sub cgi_editpage ($$) {
 
        decode_cgi_utf8($q);
 
-       my @fields=qw(do rcsinfo subpage from page type editcontent editmessage);
+       my @fields=qw(do rcsinfo subpage from page type editcontent
+               editmessage subscribe);
        my @buttons=("Save Page", "Preview", "Cancel");
        eval q{use CGI::FormBuilder};
        error($@) if $@;
@@ -157,6 +158,17 @@ sub cgi_editpage ($$) {
                        noimageinline => 1,
                        linktext => "FormattingHelp"));
        
+       my $cansubscribe=IkiWiki::Plugin::notifyemail->can("subscribe")
+               && IkiWiki::Plugin::comments->can("import")
+               && defined $session->param('name');
+       if ($cansubscribe) {
+               $form->field(name => "subscribe", type => "checkbox",
+                       options => [gettext("email comments to me")]);
+       }
+       else {
+               $form->field(name => "subscribe", type => 'hidden');
+       }
+       
        my $previewing=0;
        if ($form->submitted eq "Cancel") {
                if ($form->field("do") eq "create" && defined $from) {
@@ -448,6 +460,12 @@ sub cgi_editpage ($$) {
                        # caches and get the most recent version of the page.
                        redirect($q, $baseurl."?updated");
                }
+
+               if ($cansubscribe && length $form->field("subscribe")) {
+                       my $subspec="comment($page)";
+                       IkiWiki::Plugin::notifyemail::subscribe(
+                               $session->param('name'), $subspec);
+               }
        }
 
        exit;
index 5f94723657891be336af3560b7c7197d9a8ed1d9..b994fb55e599fba46f882f608e26b31d778f5d9d 100644 (file)
@@ -6,7 +6,7 @@ ikiwiki (3.20120204) UNRELEASED; urgency=low
   * meta: Export author information in html <meta> tag. Closes: #664779
     Thanks, Martin Michlmayr
   * notifyemail: New plugin, sends email notifications about new and 
-    changed pages.
+    changed pages, and allows subscribing to comments.
   * Added a "changes" hook. Renamed the "change" hook to "rendered", but
     the old hook name is called for now for back-compat.
   * meta: Support keywords header. Closes: #664780
index 299cab8b116af03a3604b7c9feabdf37c624af2a..302979e6efa8a55b0a9056b3ef8544dbb7b3d54a 100644 (file)
@@ -10,5 +10,5 @@ matching the PageSpec will send an email that includes the new content of
 the page, and a link to the page on the web.
 
 To make it easy to subscribe to comment threads when posting a comment,
-there is a check box that can be used to subscribe, without needing to
-manually edit the [[ikiwiki/PageSpec]].
+or a page, there is a check box that can be used to subscribe, without
+needing to manually edit the [[ikiwiki/PageSpec]].
index 696c8dcad197134bb7264d17d9f5cf950c24aba0..4736c95d0a8197d32d37f72fd7ab27ae48788553 100644 (file)
 <TMPL_VAR FIELD-EDITCONTENT><br />
 </div>
 <TMPL_IF NAME="CAN_COMMIT">
-<label for="editmessage" class="block">Optional comment about this change:</label>
+<label for="editmessage" class="block">Optional description of this change:</label>
 <TMPL_VAR FIELD-EDITMESSAGE><br />
 </TMPL_IF>
 <TMPL_VAR FORM-SUBMIT>
 <TMPL_VAR HELPONFORMATTINGLINK>
 <TMPL_IF NAME="FIELD-ATTACHMENT">
 <a class="toggle" href="#attachments">Attachments</a>
+</TMPL_IF>
+<TMPL_VAR FIELD-SUBSCRIBE>
+<TMPL_IF NAME="FIELD-ATTACHMENT">
 <div class="<TMPL_VAR ATTACHMENTS-CLASS>" id="attachments">
 <div id="fileupload"> 
 <script>