From 3ca0f6aee5b04758f8473359cc14979d27d31530 Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Fri, 9 Mar 2012 15:52:05 +0100 Subject: Fixed evaluating checkbox dirty status Problem: When value in checkbox is modified twice in a row (so it is at its original value) an 'undo' button is still visible even when it shouldn't be. Cause: IPA server sends boolean values as 'TRUE' or 'FALSE' (strings). Checkbox_widget converts them to JavaScript? boolean (true, false). Save method in checkbox_widget is returning array with a boolean. So test_dirty method always evaluates to dirty because 'FALSE' != false. This patch is fixing the problem. https://fedorahosted.org/freeipa/ticket/2494 --- install/ui/widget.js | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'install/ui/widget.js') diff --git a/install/ui/widget.js b/install/ui/widget.js index d46bbd8a..4ddff81f 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -632,18 +632,12 @@ IPA.checkbox_widget = function (spec) { var value; if (values && values.length) { - // use loaded value value = values[0]; - } else { - // use default value - value = that.checked; } - // convert string into boolean - if (value === 'TRUE') { - value = true; - } else if (value === 'FALSE') { - value = false; + if (typeof value !== 'boolean') { + // use default value + value = that.checked; } that.input.attr('checked', value); -- cgit