Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-02-22 13:44:13 +0300
committerRoeland Jago Douma <rullzer@owncloud.com>2016-03-01 18:58:47 +0300
commite4ec09dd874bd84e913d7e22c801b691537d4297 (patch)
tree9a23bbb9451e56515322a4f42ad4fcf71b728044 /src/gui/shareusergroupwidget.cpp
parent216956da4a9419d488eae8703aa0ab9947a987ba (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.cpp26
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()));