now you even can share
This commit is contained in:
parent
858a2a4e6c
commit
258a2e2696
|
@ -61,6 +61,7 @@ $eventDispatcher->addListener(
|
||||||
\OCP\Util::addScript('files_sharing', 'share');
|
\OCP\Util::addScript('files_sharing', 'share');
|
||||||
\OCP\Util::addScript('files_sharing', 'sharetabview');
|
\OCP\Util::addScript('files_sharing', 'sharetabview');
|
||||||
\OCP\Util::addScript('files_sharing', 'external');
|
\OCP\Util::addScript('files_sharing', 'external');
|
||||||
|
\OCP\Util::addStyle('files_sharing', 'sharetabview');
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
.shareTabView .oneline { white-space: nowrap; }
|
.shareTabView .oneline { white-space: nowrap; }
|
||||||
|
|
||||||
.shareTabView .shareWithLoading {
|
.shareTabView .shareWithLoading {
|
||||||
display: inline-block !important;
|
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
position: relative;
|
position: relative;
|
||||||
right: 30px;
|
right: 30px;
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
enforcePasswordForPublicLink: oc_appconfig.core.enforcePasswordForPublicLink,
|
enforcePasswordForPublicLink: oc_appconfig.core.enforcePasswordForPublicLink,
|
||||||
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true,
|
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true,
|
||||||
defaultExpireDate: oc_appconfig.core.defaultExpireDate,
|
defaultExpireDate: oc_appconfig.core.defaultExpireDate,
|
||||||
|
isResharingAllowed: oc_appconfig.core.resharingAllowed
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,13 +52,6 @@
|
||||||
return oc_appconfig.core.remoteShareAllowed;
|
return oc_appconfig.core.remoteShareAllowed;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* @returns {boolean}
|
|
||||||
*/
|
|
||||||
isResharingAllowed: function() {
|
|
||||||
return oc_appconfig.core.resharingAllowed
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -161,7 +161,7 @@
|
||||||
deletePermissionLabel: t('core', 'delete'),
|
deletePermissionLabel: t('core', 'delete'),
|
||||||
crudsLabel: t('core', 'access control'),
|
crudsLabel: t('core', 'access control'),
|
||||||
triangleSImage: OC.imagePath('core', 'actions/triangle-s'),
|
triangleSImage: OC.imagePath('core', 'actions/triangle-s'),
|
||||||
isResharingAllowed: this.configModel.isResharingAllowed(),
|
isResharingAllowed: this.configModel.get('isResharingAllowed'),
|
||||||
sharePermissionPossible: this.model.sharePermissionPossible(),
|
sharePermissionPossible: this.model.sharePermissionPossible(),
|
||||||
editPermissionPossible: this.model.editPermissionPossible(),
|
editPermissionPossible: this.model.editPermissionPossible(),
|
||||||
createPermissionPossible: this.model.createPermissionPossible(),
|
createPermissionPossible: this.model.createPermissionPossible(),
|
||||||
|
@ -185,10 +185,12 @@
|
||||||
if(this.model.isCollection(index)) {
|
if(this.model.isCollection(index)) {
|
||||||
this.processCollectionShare(index);
|
this.processCollectionShare(index);
|
||||||
} else {
|
} else {
|
||||||
list.push(_.extend(universal, this.getShareeObject(index)))
|
// first empty {} is necessary, otherwise we get in trouble
|
||||||
|
// with references
|
||||||
|
list.push(_.extend({}, universal, this.getShareeObject(index)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
list = _.union(_.values(this._collections), list);
|
list = _.union(_.values(this._collections), list);
|
||||||
}
|
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
},
|
},
|
||||||
|
|
|
@ -100,6 +100,36 @@
|
||||||
? new OC.Share[className](subViewOptions)
|
? new OC.Share[className](subViewOptions)
|
||||||
: options[name];
|
: options[name];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_.bindAll(this, 'autocompleteHandler');
|
||||||
|
},
|
||||||
|
|
||||||
|
autocompleteHandler: function (search, response) {
|
||||||
|
var view = this;
|
||||||
|
var $loading = this.$el.find('.shareWithLoading');
|
||||||
|
$loading.removeClass('hidden');
|
||||||
|
$loading.addClass('inlineblock');
|
||||||
|
$.get(OC.filePath('core', 'ajax', 'share.php'), {
|
||||||
|
fetch: 'getShareWith',
|
||||||
|
search: search.term.trim(),
|
||||||
|
limit: 200,
|
||||||
|
itemShares: OC.Share.itemShares,
|
||||||
|
itemType: view.model.get('itemType')
|
||||||
|
}, function (result) {
|
||||||
|
$loading.addClass('hidden');
|
||||||
|
$loading.removeClass('inlineblock');
|
||||||
|
if (result.status == 'success' && result.data.length > 0) {
|
||||||
|
$("#shareWith").autocomplete("option", "autoFocus", true);
|
||||||
|
response(result.data);
|
||||||
|
} else {
|
||||||
|
response();
|
||||||
|
}
|
||||||
|
}).fail(function () {
|
||||||
|
$loading.addClass('hidden');
|
||||||
|
$loading.removeClass('inlineblock');
|
||||||
|
OC.Notification.show(t('core', 'An error occured. Please try again'));
|
||||||
|
window.setTimeout(OC.Notification.hide, 5000);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
@ -111,6 +141,22 @@
|
||||||
remoteShareInfo: this._renderRemoteShareInfoPart(),
|
remoteShareInfo: this._renderRemoteShareInfoPart(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
var view = this;
|
||||||
|
this.$el.find('#shareWith').autocomplete({
|
||||||
|
minLength: 2,
|
||||||
|
delay: 750,
|
||||||
|
source: this.autocompleteHandler,
|
||||||
|
select: function(e, s) {
|
||||||
|
var expiration = '';
|
||||||
|
if($('#expirationCheckbox').is(':checked') === true) {
|
||||||
|
expiration = view.$el.find('#expirationDate').val()
|
||||||
|
}
|
||||||
|
view.model.addShare(e, s, {
|
||||||
|
expiration: expiration
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
this.resharerInfoView.$el = this.$el.find('.resharerInfoView');
|
this.resharerInfoView.$el = this.$el.find('.resharerInfoView');
|
||||||
this.resharerInfoView.render();
|
this.resharerInfoView.render();
|
||||||
|
|
||||||
|
|
|
@ -79,6 +79,8 @@
|
||||||
/** @type {OC.Files.FileInfo} **/
|
/** @type {OC.Files.FileInfo} **/
|
||||||
this.fileInfoModel = options.fileInfoModel;
|
this.fileInfoModel = options.fileInfoModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_.bindAll(this, 'addShare');
|
||||||
},
|
},
|
||||||
|
|
||||||
defaults: {
|
defaults: {
|
||||||
|
@ -87,6 +89,45 @@
|
||||||
linkShare: {}
|
linkShare: {}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
addShare: function(event, selected, options) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
//console.warn(selected);
|
||||||
|
//return false;
|
||||||
|
|
||||||
|
var shareType = selected.item.value.shareType;
|
||||||
|
var shareWith = selected.item.value.shareWith;
|
||||||
|
var fileName = this.fileInfoModel.get('name');
|
||||||
|
options = options || {};
|
||||||
|
|
||||||
|
// Default permissions are Edit (CRUD) and Share
|
||||||
|
// Check if these permissions are possible
|
||||||
|
var permissions = OC.PERMISSION_READ;
|
||||||
|
if (shareType === OC.Share.SHARE_TYPE_REMOTE) {
|
||||||
|
permissions = OC.PERMISSION_CREATE | OC.PERMISSION_UPDATE | OC.PERMISSION_READ;
|
||||||
|
} else {
|
||||||
|
if (this.updatePermissionPossible()) {
|
||||||
|
permissions = permissions | OC.PERMISSION_UPDATE;
|
||||||
|
}
|
||||||
|
if (this.createPermissionPossible()) {
|
||||||
|
permissions = permissions | OC.PERMISSION_CREATE;
|
||||||
|
}
|
||||||
|
if (this.deletePermissionPossible()) {
|
||||||
|
permissions = permissions | OC.PERMISSION_DELETE;
|
||||||
|
}
|
||||||
|
if (this.configModel.get('isResharingAllowed') && (this.sharePermissionPossible())) {
|
||||||
|
permissions = permissions | OC.PERMISSION_SHARE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var model = this;
|
||||||
|
OC.Share.share(this.get('itemType'), this.get('itemSource'), shareType, shareWith, permissions, fileName, options.expiration, function() {
|
||||||
|
model.fetch()
|
||||||
|
//FIXME: updateIcon belongs to view
|
||||||
|
OC.Share.updateIcon(itemType, itemSource);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue