mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 14:50:17 -04:00
Extend pending shares list to include remote shares
And adjust the accept/decline actions to use the right endpoint for remote shares. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
parent
5bd4ed19d4
commit
df835ed350
3 changed files with 48 additions and 3 deletions
|
|
@ -296,7 +296,11 @@ OCA.Sharing.App = {
|
|||
type: OCA.Files.FileActions.TYPE_INLINE,
|
||||
actionHandler(fileName, context) {
|
||||
const shareId = context.$file.data('shareId')
|
||||
$.post(OC.linkToOCS('apps/files_sharing/api/v1/shares/pending', 2) + shareId)
|
||||
let shareBase = 'shares/pending'
|
||||
if (context.$file.attr('data-remote-id')) {
|
||||
shareBase = 'remote_shares/pending'
|
||||
}
|
||||
$.post(OC.linkToOCS('apps/files_sharing/api/v1/' + shareBase, 2) + shareId)
|
||||
.success(function(result) {
|
||||
context.fileList.remove(context.fileInfoModel.attributes.name)
|
||||
}).fail(function() {
|
||||
|
|
@ -313,8 +317,13 @@ OCA.Sharing.App = {
|
|||
type: OCA.Files.FileActions.TYPE_INLINE,
|
||||
actionHandler(fileName, context) {
|
||||
const shareId = context.$file.data('shareId')
|
||||
let shareBase = 'shares'
|
||||
if (context.$file.attr('data-remote-id')) {
|
||||
shareBase = 'remote_shares/pending'
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: OC.linkToOCS('apps/files_sharing/api/v1/shares', 2) + shareId,
|
||||
url: OC.linkToOCS('apps/files_sharing/api/v1/' + shareBase, 2) + shareId,
|
||||
type: 'DELETE',
|
||||
}).success(function(result) {
|
||||
context.fileList.remove(context.fileInfoModel.attributes.name)
|
||||
|
|
|
|||
|
|
@ -212,6 +212,18 @@
|
|||
}
|
||||
}
|
||||
|
||||
var pendingRemoteShares = {
|
||||
url: OC.linkToOCS('apps/files_sharing/api/v1/remote_shares', 2) + 'pending',
|
||||
/* jshint camelcase: false */
|
||||
data: {
|
||||
format: 'json'
|
||||
},
|
||||
type: 'GET',
|
||||
beforeSend: function(xhr) {
|
||||
xhr.setRequestHeader('OCS-APIREQUEST', 'true')
|
||||
}
|
||||
}
|
||||
|
||||
var shares = {
|
||||
url: OC.linkToOCS('apps/files_sharing/api/v1') + 'shares',
|
||||
/* jshint camelcase: false */
|
||||
|
|
@ -245,6 +257,7 @@
|
|||
promises.push($.ajax(deletedShares))
|
||||
} else if (this._showPending) {
|
||||
promises.push($.ajax(pendingShares))
|
||||
promises.push($.ajax(pendingRemoteShares))
|
||||
} else {
|
||||
promises.push($.ajax(shares))
|
||||
|
||||
|
|
@ -292,7 +305,12 @@
|
|||
}
|
||||
|
||||
if (additionalShares && additionalShares.ocs && additionalShares.ocs.data) {
|
||||
files = files.concat(this._makeFilesFromShares(additionalShares.ocs.data, !this._sharedWithUser))
|
||||
if (this._showPending) {
|
||||
// in this case the second callback is about pending remote shares
|
||||
files = files.concat(this._makeFilesFromRemoteShares(additionalShares.ocs.data))
|
||||
} else {
|
||||
files = files.concat(this._makeFilesFromShares(additionalShares.ocs.data, !this._sharedWithUser))
|
||||
}
|
||||
}
|
||||
|
||||
this.setFiles(files)
|
||||
|
|
@ -317,6 +335,21 @@
|
|||
tags: share.tags || []
|
||||
}
|
||||
|
||||
if (share.remote_id) {
|
||||
// remote share
|
||||
if (share.accepted !== '1') {
|
||||
file.name = OC.basename(share.name)
|
||||
file.path = '/'
|
||||
}
|
||||
file.remoteId = share.remote_id
|
||||
file.shareOwnerId = share.owner
|
||||
}
|
||||
|
||||
if (!file.type) {
|
||||
// pending shares usually have no type, so default to showing a directory icon
|
||||
file.mimetype = 'httpd/unix-directory'
|
||||
}
|
||||
|
||||
file.shares = [{
|
||||
id: share.id,
|
||||
type: OC.Share.SHARE_TYPE_REMOTE
|
||||
|
|
|
|||
|
|
@ -104,6 +104,9 @@ import escapeHTML from 'escape-html'
|
|||
if (fileData.shareTypes) {
|
||||
tr.attr('data-share-types', fileData.shareTypes.join(','))
|
||||
}
|
||||
if (fileData.remoteId) {
|
||||
tr.attr('data-remote-id', fileData.remoteId)
|
||||
}
|
||||
return tr
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue