From: Simon McVittie Date: Wed, 11 Jan 2017 13:24:00 +0000 (+0000) Subject: remove: make it clearer that repeated page parameter is OK here X-Git-Tag: debian/3.20170111_bpo8+1~1^2~2 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/2486d83706a48044c88d6ffc8501a63d60d190a4?hp=d157a97452ae0641f87996b6d0f21c9d222cef3d remove: make it clearer that repeated page parameter is OK here ikiwiki's web interface does not currently have UI for removing multiple pages simultaneously, but the remove plugin is robust against doing so. Use a clearer idiom to make that obvious. --- diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm index 6875844a3..859c39066 100644 --- a/IkiWiki/Plugin/remove.pm +++ b/IkiWiki/Plugin/remove.pm @@ -196,7 +196,9 @@ sub formbuilder (@) { my $session=$params{session}; if ($form->submitted eq "Remove" && $form->field("do") eq "edit") { - removal_confirm($q, $session, 0, $form->field("page")); + # deliberately taking multiple values of page + my @pages = $form->field("page"); + removal_confirm($q, $session, 0, @pages); } elsif ($form->submitted eq "Remove Attachments") { my @selected=map { Encode::decode_utf8($_) } $q->param("attachment_select"); @@ -216,14 +218,15 @@ sub sessioncgi ($$) { my ($form, $buttons)=confirmation_form($q, $session); IkiWiki::decode_form_utf8($form); + # deliberately taking multiple values of page + my @pages = $form->field("page"); + if ($form->submitted eq 'Cancel') { postremove($session); } elsif ($form->submitted eq 'Remove' && $form->validate) { IkiWiki::checksessionexpiry($q, $session); - my @pages=$form->field("page"); - # Validate removal by checking that the page exists, # and that the user is allowed to edit(/remove) it. my @files; @@ -288,7 +291,7 @@ sub sessioncgi ($$) { } } else { - removal_confirm($q, $session, 0, $form->field("page")); + removal_confirm($q, $session, 0, @pages); } exit 0;