From: Vincent Petry Date: Thu, 21 Aug 2014 11:49:02 +0000 (+0200) Subject: Fix share dropdown when links are not allowed X-Git-Tag: v8.0.0alpha1~850^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=98d06094e70d657907b139431624740acde3bbd9;p=nextcloud-server.git Fix share dropdown when links are not allowed When links are not allowed, the email field does not exist and autocomplete returns null. This causes Javascript errors. The fix prevents entering the bogus block when links aren't allowed, as it doesn't make sense to enter it in such cases anyway. --- diff --git a/core/js/share.js b/core/js/share.js index 99a767b47f2..f1652370d35 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -503,7 +503,7 @@ OC.Share={ .append( insert ) .appendTo( ul ); }; - if (link) { + if (link && linksAllowed) { $('#email').autocomplete({ minLength: 1, source: function (search, response) { diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js index 1fd36dfff04..06c4b98df2a 100644 --- a/core/js/tests/specs/shareSpec.js +++ b/core/js/tests/specs/shareSpec.js @@ -44,6 +44,12 @@ describe('OC.Share tests', function() { autocompleteStub = sinon.stub($.fn, 'autocomplete', function() { // dummy container with the expected attributes + if (!$(this).length) { + // simulate the real autocomplete that returns + // nothing at all when no element is specified + // (and potentially break stuff) + return null; + } var $el = $('
').data('ui-autocomplete', {}); return $el; }); @@ -60,7 +66,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'shared_file_name.txt' ); @@ -73,7 +79,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'shared_file_name.txt' ); @@ -92,7 +98,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'shared_file_name.txt' ); @@ -104,7 +110,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'shared_file_name.txt' ); @@ -138,7 +144,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'folder' ); @@ -176,7 +182,7 @@ describe('OC.Share tests', function() { 'file', 456, // another file $container, - 'http://localhost/dummylink', + true, 31, 'folder' ); @@ -230,7 +236,7 @@ describe('OC.Share tests', function() { 'folder', 123, $container, - 'http://localhost/dummylink', + true, 31, 'folder' ); @@ -245,7 +251,7 @@ describe('OC.Share tests', function() { 'file', 456, $container, - 'http://localhost/dummylink', + true, 31, 'file_in_folder.txt' ); @@ -266,7 +272,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'folder' ); @@ -407,7 +413,7 @@ describe('OC.Share tests', function() { 'file', 123, $container, - 'http://localhost/dummylink', + true, 31, 'shared_file_name.txt' );