diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-03-17 23:57:03 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-03-17 23:57:03 +0000 |
commit | 26213f8ee443addfbc74e92a693e172d023b16e6 (patch) | |
tree | b034bfda2dc1ff04a7a5669f4c1a8d8747629915 /IkiWiki | |
parent | 50a9ef47538666c565c26ad7125a9e6484330cfd (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.pm | 15 |
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'); |