]> source.dussan.org Git - nextcloud-server.git/commitdiff
use displayname lookup route in files_external settings
authorJörn Friedrich Dreyer <jfd@butonic.de>
Fri, 22 Aug 2014 14:07:48 +0000 (16:07 +0200)
committerJörn Friedrich Dreyer <jfd@butonic.de>
Mon, 25 Aug 2014 09:50:19 +0000 (11:50 +0200)
apps/files_external/js/settings.js

index ebc95d64cfd1e954c9dd5e2c356ccc79ae9355db..27ed0254dd3d739acfe9c8297b915c061afedae2 100644 (file)
@@ -233,41 +233,24 @@ $(document).ready(function() {
                                        }
                                },
                                initSelection: function(element, callback) {
-
-                                       var promises = [];
-
-                                       var results = [];
-
-                                       $(element.val().split(",")).each(function (i,userId) {
-                                               var def = new $.Deferred();
-                                               promises.push(def.promise());
-
-                                               var pos = userId.indexOf('(group)');
-                                               if (pos !== -1) {
-                                                       //add as group
-                                                       results.push({name:userId, displayname:userId.substr(0, pos), type:'group'});
-                                                       def.resolve();
-                                               } else {
-                                                       $.ajax(OC.generateUrl('apps/files_external/applicable'), {
-                                                               data: {
-                                                                       pattern: userId
-                                                               },
-                                                               dataType: "json"
-                                                       }).done(function(data) {
-                                                               if (data.status === "success") {
-                                                                       if (data.users[userId]) {
-                                                                               results.push({name:userId, displayname:data.users[userId], type:'user'});
-                                                                       }
-                                                                       def.resolve();
-                                                               } else {
-                                                                       //FIXME add error handling
+                                       $.ajax(OC.generateUrl('displaynames'), {
+                                               data: {
+                                                       users: element.val().split(",")
+                                               },
+                                               dataType: "json"
+                                       }).done(function(data) {
+                                               var results = [];
+                                               if (data.status === "success") {
+                                                       $.each(data.users, function(user, displayname) {
+                                                               if (displayname !== false) {
+                                                                       results.push({name:user, displayname:displayname, type:'user'});
                                                                }
                                                        });
+                                                       callback(results);
+                                               } else {
+                                                       //FIXME add error handling
                                                }
                                        });
-                                       $.when.apply(undefined, promises).then(function(){
-                                               callback(results);
-                                       });
                                },
                                id: function(element) {
                                        return element.name;