diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index ebc95d64cf..27ed0254dd 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -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;