diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/openbis-v3-api.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/openbis-v3-api.js index 73ce951a29cb02a2d406f1bc4f14f20f22a733ee..b574067487c434414724d364569238834e392323 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/openbis-v3-api.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/openbis-v3-api.js @@ -46,7 +46,6 @@ define(['jquery', 'support/Utils'], function($, stjsUtil) { console.log(msg); } } - } return function(openbisUrl) { @@ -60,7 +59,7 @@ define(['jquery', 'support/Utils'], function($, stjsUtil) { "params" : [ user, password ] } }).done(function(sessionToken) { - if (sessionToken.indexOf(user) > -1) { + if (sessionToken && sessionToken.indexOf(user) > -1) { _private.sessionToken = sessionToken; dfd.resolve(sessionToken); } else { @@ -141,13 +140,28 @@ define(['jquery', 'support/Utils'], function($, stjsUtil) { } this.searchSamples = function(sampleSearchCriterion, sampleFetchOptions) { - return _private.ajaxRequest({ + var dfd = $.Deferred(); + + _private.ajaxRequest({ url : openbisUrl, data : { "method" : "searchSamples", "params" : [ _private.sessionToken, sampleSearchCriterion, sampleFetchOptions ] } + }).done(function(samples) { + require(['dto/entity/sample/Sample'], function() { + var sampleDTOs = {}; + for(var sampleId in samples) { + var sampleJson = samples[sampleId]; + var newSample = stjsUtil.fromJson(sampleJson); + sampleDTOs[newSample.getPermId().getPermId()] = newSample; + } + dfd.resolve(sampleDTOs); + }); + }).fail(function() { + dfd.reject(arguments); }); + return dfd.promise(); } this.searchDataSets = function(dataSetSearchCriterion, dataSetFetchOptions) {