From: Andrew Dolgov Date: Fri, 30 Nov 2018 08:55:24 +0000 (+0300) Subject: editSelectedFeeds: fix missing unset checkboxes properly X-Git-Tag: 18.12~19 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=24c618dd6f0b709427d8ce7d1f38ce6d4f009bff;p=tt-rss.git editSelectedFeeds: fix missing unset checkboxes properly --- diff --git a/js/prefs.js b/js/prefs.js index 9d74d4ce..c4540fb6 100755 --- a/js/prefs.js +++ b/js/prefs.js @@ -537,45 +537,14 @@ function editSelectedFeeds() { if (this.validate() && confirm(__("Save changes to selected feeds?"))) { const query = this.attr('value'); - //console.log(query); return; + /* normalize unchecked checkboxes because [] is not serialized */ - /* Form.serialize ignores unchecked checkboxes */ + Object.keys(query).each((key) => { + let val = query[key]; - /*if (!query.match("&private=") && - this.getChildByName('private').attr('disabled') == false) { - query.private = "false"; - } - - try { - if (!query.match("&cache_images=") && - this.getChildByName('cache_images').attr('disabled') == false) { - query.cache_images = "false"; - } - } catch (e) { - } - - try { - if (!query.match("&hide_images=") && - this.getChildByName('hide_images').attr('disabled') == false) { - query.hide_images = "false"; - } - } catch (e) { - } - - if (!query.match("&include_in_digest=") && - this.getChildByName('include_in_digest').attr('disabled') == false) { - query.include_in_digest = "false"; - } - - if (!query.match("&always_display_enclosures=") && - this.getChildByName('always_display_enclosures').attr('disabled') == false) { - query.always_display_enclosures = "false"; - } - - if (!query.match("&mark_unread_on_update=") && - this.getChildByName('mark_unread_on_update').attr('disabled') == false) { - query.mark_unread_on_update = "false"; - }*/ + if (typeof val == "object" && val.length == 0) + query[key] = ["off"]; + }); notify_progress("Saving data...", true);