diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2016-02-22 13:44:13 +0300 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-03-01 18:58:47 +0300 |
commit | e4ec09dd874bd84e913d7e22c801b691537d4297 (patch) | |
tree | 9a23bbb9451e56515322a4f42ad4fcf71b728044 /src/gui/shareusergroupwidget.cpp | |
parent | 216956da4a9419d488eae8703aa0ab9947a987ba (diff) |
Do not send reshare permissions when creating a federated share
See https://github.com/owncloud/core/issues/22122#issuecomment-185637344
Diffstat (limited to 'src/gui/shareusergroupwidget.cpp')
-rw-r--r-- | src/gui/shareusergroupwidget.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/gui/shareusergroupwidget.cpp b/src/gui/shareusergroupwidget.cpp index 00d4d7311..ea3bbf7bb 100644 --- a/src/gui/shareusergroupwidget.cpp +++ b/src/gui/shareusergroupwidget.cpp @@ -232,8 +232,21 @@ void ShareUserGroupWidget::slotCompleterActivated(const QModelIndex & index) return; } - _manager->createShare(_sharePath, Share::ShareType(sharee->type()), - sharee->shareWith(), Share::PermissionDefault); + /* + * Don't send the reshare permissions for federataed shares + * https://github.com/owncloud/core/issues/22122#issuecomment-185637344 + */ + if (sharee->type() == Sharee::Federated) { + int permissions = Share::PermissionRead | Share::PermissionUpdate; + if (!_isFile) { + permissions |= Share::PermissionCreate | Share::PermissionDelete; + } + _manager->createShare(_sharePath, Share::ShareType(sharee->type()), + sharee->shareWith(), Share::Permission(permissions)); + } else { + _manager->createShare(_sharePath, Share::ShareType(sharee->type()), + sharee->shareWith(), Share::PermissionDefault); + } _ui->shareeLineEdit->setEnabled(false); _ui->shareeLineEdit->setText(QString()); @@ -297,6 +310,15 @@ ShareWidget::ShareWidget(QSharedPointer<Share> share, connect(_ui->permissionShare, SIGNAL(clicked(bool)), SLOT(slotPermissionsChanged())); connect(_ui->permissionsEdit, SIGNAL(clicked(bool)), SLOT(slotEditPermissionsChanged())); + /* + * We don't show permssion share for federated shares + * https://github.com/owncloud/core/issues/22122#issuecomment-185637344 + */ + if (share->getShareType() == Share::TypeRemote) { + _ui->permissionShare->setVisible(false); + _ui->permissionToolButton->setVisible(false); + } + connect(share.data(), SIGNAL(permissionsSet()), SLOT(slotPermissionsSet())); connect(share.data(), SIGNAL(shareDeleted()), SLOT(slotShareDeleted())); |