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());
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()));