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
path: root/src/gui
diff options
context:
space:
mode:
authorHannah von Reth <hannah.vonreth@owncloud.com>2022-06-30 16:30:18 +0300
committerHannah von Reth <vonreth@kde.org>2022-06-30 17:42:51 +0300
commitefa21135ad7fa35c8bb5623e906f784296b92035 (patch)
tree2848adea850e4b91749e88e68f466d1c9e0d0cbd /src/gui
parent8472fd0e44fab168d5992e2c3d70ac90b6520809 (diff)
Don't query private links if disabled on the server
Fixes: #8998
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/sharedialog.cpp7
-rw-r--r--src/gui/socketapi/socketapi.cpp14
2 files changed, 12 insertions, 9 deletions
diff --git a/src/gui/sharedialog.cpp b/src/gui/sharedialog.cpp
index 5ba8101e8..58f6a06b4 100644
--- a/src/gui/sharedialog.cpp
+++ b/src/gui/sharedialog.cpp
@@ -131,8 +131,11 @@ ShareDialog::ShareDialog(AccountStatePtr accountState,
// Server versions >= 9.1 support the "share-permissions" property
// older versions will just return share-permissions: ""
auto job = new PropfindJob(accountState->account(), _baseUrl, _sharePath);
- job->setProperties({ QByteArrayLiteral("http://open-collaboration-services.org/ns:share-permissions"),
- QByteArrayLiteral("http://owncloud.org/ns:privatelink") });
+ QList<QByteArray> properties = { QByteArrayLiteral("http://open-collaboration-services.org/ns:share-permissions") };
+ if (accountState->account()->capabilities().privateLinkPropertyAvailable()) {
+ properties.append(QByteArrayLiteral("http://owncloud.org/ns:privatelink"));
+ }
+ job->setProperties(properties);
job->setTimeout(10s);
connect(job, &PropfindJob::result, this, &ShareDialog::slotPropfindReceived);
connect(job, &PropfindJob::finishedWithError, this, &ShareDialog::slotPropfindError);
diff --git a/src/gui/socketapi/socketapi.cpp b/src/gui/socketapi/socketapi.cpp
index e638fbbc1..3321d8951 100644
--- a/src/gui/socketapi/socketapi.cpp
+++ b/src/gui/socketapi/socketapi.cpp
@@ -938,11 +938,9 @@ void SocketApi::sendSharingContextMenuOptions(const FileData &fileData, SocketLi
}
}
- listener->sendMessage(QStringLiteral("MENU_ITEM:COPY_PRIVATE_LINK") + flagString + tr("Copy private link to clipboard"));
-
- // Disabled: only providing email option for private links would look odd,
- // and the copy option is more general.
- //listener->sendMessage(QLatin1String("MENU_ITEM:EMAIL_PRIVATE_LINK") + flagString + tr("Send private link by email..."));
+ if (capabilities.privateLinkPropertyAvailable()) {
+ listener->sendMessage(QStringLiteral("MENU_ITEM:COPY_PRIVATE_LINK") + flagString + tr("Copy private link to clipboard"));
+ }
}
SocketApi::FileData SocketApi::FileData::get(const QString &localFile)
@@ -1022,10 +1020,12 @@ void SocketApi::command_GET_MENU_ITEMS(const QString &argument, OCC::SocketListe
if (fileData.folder && fileData.folder->accountState()->isConnected()) {
sendSharingContextMenuOptions(fileData, listener);
- listener->sendMessage(QLatin1String("MENU_ITEM:OPEN_PRIVATE_LINK") + flagString + tr("Open in browser"));
- // Add link to versions pane if possible
auto &capabilities = folder->accountState()->account()->capabilities();
+ if (capabilities.privateLinkPropertyAvailable()) {
+ listener->sendMessage(QLatin1String("MENU_ITEM:OPEN_PRIVATE_LINK") + flagString + tr("Open in browser"));
+ }
+ // Add link to versions pane if possible
if (capabilities.versioningEnabled()
&& capabilities.privateLinkDetailsParamAvailable()
&& isOnTheServer