summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Gammie <peteg42@gmail.com>2010-09-29 15:43:44 +1000
committerPeter Gammie <peteg42@gmail.com>2010-09-29 15:43:44 +1000
commit941755e46661b65f29aeebcf38f8410f9c8cfc2e (patch)
tree3881600f0a7ed036e13cd2a9881d7f19537bccbb
parentacecbad0ff4a8c441da520522710dd5357ab31e0 (diff)
Get things right after moving to a branch.
-rw-r--r--IkiWiki/Plugin/recentchanges.pm11
-rw-r--r--templates/change.tmpl2
-rw-r--r--templates/revert.tmpl1
3 files changed, 13 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm
index 2a78566e1..79d175328 100644
--- a/IkiWiki/Plugin/recentchanges.pm
+++ b/IkiWiki/Plugin/recentchanges.pm
@@ -13,6 +13,7 @@ sub import {
hook(type => "refresh", id => "recentchanges", call => \&refresh);
hook(type => "pagetemplate", id => "recentchanges", call => \&pagetemplate);
hook(type => "htmlize", id => "_change", call => \&htmlize);
+ hook(type => "sessioncgi", id => "recentchanges", call => \&sessioncgi);
# Load goto to fix up links from recentchanges
IkiWiki::loadplugin("goto");
}
@@ -80,7 +81,6 @@ sub confirmation_form {
$f->field(name => "sid", type => "hidden", value => $session->id,
force => 1);
$f->field(name => "do", type => "hidden", value => "revert", force => 1);
- $f->field(name => "rev", type => "hidden", value => $rev, force => 1);
return $f, ["Revert", "Cancel"];
}
@@ -110,6 +110,7 @@ sub sessioncgi ($$) {
if($r) {
die "FIXME revert '$rev' failed.";
} else {
+ require IkiWiki::Render;
IkiWiki::refresh();
IkiWiki::saveindex();
# FIXME indicate success.
@@ -118,6 +119,7 @@ sub sessioncgi ($$) {
$form->title(sprintf(gettext("confirm reversion of %s"), $rev));
my $patch_contents = IkiWiki::rcs_showpatch($rev);
$form->tmpl_param(patch_contents => encode_entities($patch_contents));
+ $form->field(name => "rev", type => "hidden", value => $rev, force => 1);
IkiWiki::showform($form, $buttons, $session, $q);
exit 0;
}
@@ -180,6 +182,13 @@ sub store ($$$) {
];
push @{$change->{pages}}, { link => '...' } if $is_excess;
+ if (length $config{cgiurl}) {
+ $change->{reverturl} = IkiWiki::cgiurl(
+ do => "revert",
+ rev => $change->{rev}
+ );
+ }
+
$change->{author}=$change->{user};
my $oiduser=eval { IkiWiki::openiduser($change->{user}) };
if (defined $oiduser) {
diff --git a/templates/change.tmpl b/templates/change.tmpl
index 671b9e483..148b4376e 100644
--- a/templates/change.tmpl
+++ b/templates/change.tmpl
@@ -28,6 +28,8 @@
<span class="committype"><TMPL_VAR COMMITTYPE></span>
<span class="desc"><br />Date:</span>
<span class="changedate"><TMPL_VAR COMMITDATE></span>
+<span class="desc"><br /></span>
+<span class="revert"><a href="<TMPL_VAR REVERTURL>" rel="nofollow">[[diff|wikiicons/revert.png]]</a></span>
</div>
<div class="changelog">
<TMPL_LOOP MESSAGE>
diff --git a/templates/revert.tmpl b/templates/revert.tmpl
index 3cf069dca..03cd0838d 100644
--- a/templates/revert.tmpl
+++ b/templates/revert.tmpl
@@ -5,6 +5,7 @@
<div>
<TMPL_VAR FIELD-DO>
<TMPL_VAR FIELD-SID>
+ <TMPL_VAR FIELD-REV>
</div>
<div class="revert buttons">
<TMPL_VAR form-submit>