From ca0be509327121a29b59e9149e51564e6d2487a1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 12 Nov 2010 01:55:11 -0400 Subject: [PATCH] websetup: Fix defaults of checkboxes in advanced mode. So formbuilder has an annoying glitch, that setting the value of a checkbox, even without force, will override the value currently on the form. Thus the guards against changing checkbox values when a form has been submitted. But those guards also prevented the checkboxes for advanced items getting the right value when going into advanced mode. Note that if the user makes changes to advanced mode stuff and leaves advanced mode, those changes are lost. That seems reasonable so I didn't change it -- and it made this fix simple. (cherry picked from commit cfbd272c8bdbb96b6e92449f4d940fb2b72aa651) Conflicts: debian/changelog --- IkiWiki/Plugin/websetup.pm | 3 ++- debian/changelog | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/websetup.pm b/IkiWiki/Plugin/websetup.pm index 2674b91e8..0ab18997c 100644 --- a/IkiWiki/Plugin/websetup.pm +++ b/IkiWiki/Plugin/websetup.pm @@ -219,7 +219,8 @@ sub showfields ($$$@) { options => [ [ 1 => $description ] ], fieldset => $section, ); - if (! $form->submitted) { + if (! $form->submitted || + ($info{advanced} && $form->submitted eq 'Advanced Mode')) { $form->field(name => $name, value => $value); } } diff --git a/debian/changelog b/debian/changelog index 4f0eda9d7..e36f0285b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ ikiwiki (3.20100815.2) UNRELEASED; urgency=low for strings that contained only a number, fixing a longstanding crash of the rst plugin. * websetup: Fix saving of advanced mode changes. + * websetup: Fix defaults of checkboxes in advanced mode. -- Joey Hess Sun, 15 Aug 2010 11:42:55 -0400 -- 2.39.2