]> git.wh0rd.org - tt-rss.git/commitdiff
editSelectedFeeds: fix missing unset checkboxes properly
authorAndrew Dolgov <noreply@fakecake.org>
Fri, 30 Nov 2018 08:55:24 +0000 (11:55 +0300)
committerAndrew Dolgov <noreply@fakecake.org>
Fri, 30 Nov 2018 08:55:24 +0000 (11:55 +0300)
js/prefs.js

index 9d74d4ce0eee2901694996e529698aa18675fddd..c4540fb6297441e7a23e810b2d3797fa97d3ad3b 100755 (executable)
@@ -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);