Add token in webdav download link of public page

This commit is contained in:
Vincent Petry 2016-01-07 13:37:18 +01:00
parent 336fe868b2
commit 9742e9b113
2 changed files with 8 additions and 4 deletions

View File

@ -155,7 +155,11 @@ OCA.Sharing.PublicApp = {
this.fileList.getDownloadUrl = function (filename, dir, isDir) {
var path = dir || this.getCurrentDirectory();
if (filename && !_.isArray(filename) && !isDir) {
return OC.getRootPath() + '/public.php/webdav' + OC.joinPaths(path, filename);
var portPart = '';
if (OC.getPort()) {
portPart = ':' + OC.getPort();
}
return OC.getProtocol() + '://' + token + '@' + OC.getHost() + portPart + OC.getRootPath() + '/public.php/webdav' + OC.joinPaths(path, filename);
}
if (_.isArray(filename)) {
filename = JSON.stringify(filename);

View File

@ -102,12 +102,12 @@ describe('OCA.Sharing.PublicApp tests', function() {
it('returns correct download URL for single files', function() {
expect(fileList.getDownloadUrl('some file.txt'))
.toEqual('/owncloud/public.php/webdav/subdir/some file.txt');
.toEqual('https://sh4tok@example.com:9876/owncloud/public.php/webdav/subdir/some file.txt');
expect(fileList.getDownloadUrl('some file.txt', '/another path/abc'))
.toEqual('/owncloud/public.php/webdav/another path/abc/some file.txt');
.toEqual('https://sh4tok@example.com:9876/owncloud/public.php/webdav/another path/abc/some file.txt');
fileList.changeDirectory('/');
expect(fileList.getDownloadUrl('some file.txt'))
.toEqual('/owncloud/public.php/webdav/some file.txt');
.toEqual('https://sh4tok@example.com:9876/owncloud/public.php/webdav/some file.txt');
});
it('returns correct download URL for multiple files', function() {
expect(fileList.getDownloadUrl(['a b c.txt', 'd e f.txt']))