Fixes #1598
[redakcja.git] / redakcja / static / js / catalogue / book_list.js
index 96809b6..c0fbf37 100644 (file)
     
 
        var set_field = function(key, ops) {
-           var kp = key.split('_');
-           var field = kp[0];
-           var idx = parseInt(kp[1]);
-
             var fds = {}
             fds.stage = "";
             fds.user = "";
             fds.status = "";
-           fds[field] = $("select[name="+field+"] option[value!=]").eq(idx).val();
+
+           if (key == "publish" || key == "unpublish") {
+               fds["status"] = key;
+           } else {
+               var kp = key.split('_');
+               var field = kp[0];
+               var idx = parseInt(kp[1]);
+
+               var target_field = field;
+               if (field == 'other-user')
+                   target_field = 'user';
+
+               fds[target_field] = $("select[name="+field+"] option[value!=]").eq(idx).val();
+           }
+           /* fill in the form */
             $("#chunk_mass_edit [name=ids]").val(get_ids());
             for (var fn in fds) {
                 $("#chunk_mass_edit [name="+fn+"]").val(fds[fn]);
            selector: '#file-list',
            items: {
                "stage": { 
-                   name: "Set stage",
+                   name: $("label[for=mass_edit_stage]").text(),
                    items: get_items("stage"),
+                   icon: "clock",
                },
                "user": { 
-                   name: "Set user",
-                    items: get_items("user"),
+                   name: $("label[for=mass_edit_user]").text(),
+                    items: (function() {
+                       var active_users = get_items("user");
+                       active_users['other'] = {
+                           name: $("label[for=mass_edit_other]").text(),
+                           items: get_items("other-user"),
+                       };
+                       return active_users;
+                       })(),
+                   icon: "user",
                 },
-                "status": {
-                    name: "set status",
-                    items: get_items("status"),
+                "publish": {
+                    name:  $("label[for=mass_edit_publish]").text(),
+                   icon: "ok",
                 },
+               "unpublish": {
+                   name:  $("label[for=mass_edit_unpublish]").text(),
+                   icon: "stop",
+               },
            },
            callback: set_field,
        });