Fix "Default sharing permissions are ignored"

Fixes: #7412
This commit is contained in:
Hannah von Reth 2019-12-03 15:50:03 +01:00 committed by Hannah von Reth
parent debd612089
commit d13b451a4b
3 changed files with 17 additions and 4 deletions

View File

@ -1118,10 +1118,7 @@ void ownCloudGui::slotShowShareDialog(const QString &sharePath, const QString &l
//
// The correct value will be found with a propfind from ShareDialog.
// (we want to show the dialog directly, not wait for the propfind first)
SharePermissions maxSharingPermissions =
SharePermissionRead
| SharePermissionUpdate | SharePermissionCreate | SharePermissionDelete
| SharePermissionShare;
SharePermissions maxSharingPermissions = static_cast<SharePermissions>(accountState->account()->capabilities().defaultPermissions());
if (!resharingAllowed) {
maxSharingPermissions = SharePermission(0);
}

View File

@ -17,6 +17,13 @@
#include <QVariantMap>
#include <QDebug>
namespace {
QString FileSharingKey()
{
return QStringLiteral("files_sharing");
}
}
namespace OCC {
@ -85,6 +92,11 @@ bool Capabilities::shareResharing() const
return _capabilities["files_sharing"].toMap()["resharing"].toBool();
}
int Capabilities::defaultPermissions() const
{
return _capabilities.value(FileSharingKey()).toMap().value("default_permissions", 1).toInt();
}
bool Capabilities::notificationsAvailable() const
{
// We require the OCS style API in 9.x, can't deal with the REST one only found in 8.2

View File

@ -43,6 +43,10 @@ public:
bool sharePublicLinkEnforceExpireDate() const;
bool sharePublicLinkMultiple() const;
bool shareResharing() const;
// TODO: return SharePermission
int defaultPermissions() const;
bool chunkingNg() const;
QString zsyncSupportedVersion() const;