Package: ikiwiki
Version: 2.11~ox.2
Severity: wishlist
Tags: patch
In our team internal wiki, we wish to impose a policy that all edits
must have a comment. A patch to implement this is attached.
diff -urN ikiwiki/IkiWiki/CGI.pm ikiwiki.mine/IkiWiki/CGI.pm
--- ikiwiki/IkiWiki/CGI.pm 2007-10-25 08:00:51.000000000 +0100
+++ ikiwiki.mine/IkiWiki/CGI.pm 2007-11-07 17:18:08.000000000 +0000
@@ -306,15 +306,22 @@
eval q{use CGI::FormBuilder};
error($@) if $@;
+
+ my @required_fields = qw(editcontent);
+ my %validate_fields = (editcontent => '/.+/');
+
+ if ($config{comment_required}) {
+ push @required_fields, 'comments';
+ $validate_fields{comments} = '/.+/';
+ }
+
my $form = CGI::FormBuilder->new(
title => "editpage",
fields => [EMAIL PROTECTED],
charset => "utf-8",
method => 'POST',
- validate => {
- editcontent => '/.+/',
- },
- required => [qw{editcontent}],
+ validate => \%validate_fields,
+ required => [EMAIL PROTECTED],
javascript => 0,
params => $q,
action => $config{cgiurl},
@@ -388,6 +395,10 @@
$form->tmpl_param("helponformattinglink",
htmllink("", "", "HelpOnFormatting", noimageinline => 1));
$form->tmpl_param("baseurl", baseurl());
+
+ foreach my $config_param(qw(comment_required)) {
+ $form->tmpl_param($config_param, $config{$config_param});
+ }
if ($form->submitted eq "Cancel") {
if ($form->field("do") eq "create" && defined $from) {
diff -urN ikiwiki/ikiwiki.in ikiwiki.mine/ikiwiki.in
--- ikiwiki/ikiwiki.in 2007-10-25 08:00:52.000000000 +0100
+++ ikiwiki.mine/ikiwiki.in 2007-11-07 16:26:18.000000000 +0000
@@ -50,6 +50,7 @@
"userdir=s" => \$config{userdir},
"htmlext=s" => \$config{htmlext},
"libdir=s" => \$config{libdir},
+ "comment_required" => \$config{comment_required},
"exclude=s@" => sub {
push @{$config{wiki_file_prune_regexps}}, $_[1];
},
diff -urN ikiwiki/templates/editpage.tmpl ikiwiki.mine/templates/editpage.tmpl
--- ikiwiki/templates/editpage.tmpl 2007-10-25 08:00:52.000000000 +0100
+++ ikiwiki.mine/templates/editpage.tmpl 2007-11-07 16:23:25.000000000
+0000
@@ -54,7 +54,12 @@
</TMPL_IF>
<TMPL_VAR FIELD-EDITCONTENT><br />
<TMPL_IF NAME="CAN_COMMIT">
-Optional comment about this change:<br />
+<TMPL_IF NAME="COMMENT_REQUIRED">
+Mandatory
+<TMPL_ELSE>
+Optional
+</TMPL_IF>
+comment about this change:<br />
<TMPL_VAR FIELD-COMMENTS><br />
</TMPL_IF>
<TMPL_VAR FORM-SUBMIT>