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>