summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-03-17 23:57:03 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-03-17 23:57:03 +0000
commit26213f8ee443addfbc74e92a693e172d023b16e6 (patch)
treeb034bfda2dc1ff04a7a5669f4c1a8d8747629915 /IkiWiki
parent50a9ef47538666c565c26ad7125a9e6484330cfd (diff)
* Detect the case of two people independently creating the same page at the
same time, and let the second person resolve the conflict.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/CGI.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index acf1f5969..2b7727000 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -497,6 +497,21 @@ sub cgi_editpage ($$) { #{{{
print $form->render(submit => \@buttons);
return;
}
+ elsif (-e "$config{srcdir}/$file" &&
+ $form->field("do") eq "create") {
+ $form->tmpl_param("creation_conflict", 1);
+ $form->field(name => "do", value => "edit", force => 1);
+ $form->tmpl_param("page_select", 0);
+ $form->field(name => "page", type => 'hidden');
+ $form->field(name => "type", type => 'hidden');
+ $form->title(sprintf(gettext("editing %s"), $page));
+ $form->field("editcontent",
+ value => readfile("$config{srcdir}/$file").
+ "\n\n\n".$form->field("editcontent"),
+ force => 1);
+ print $form->render(submit => \@buttons);
+ return;
+ }
my $content=$form->field('editcontent');