Sharing multiple public links: Depend on new capability
authorChristian Kamm <mail@ckamm.de>
Fri, 21 Apr 2017 12:08:00 +0000 (14:08 +0200)
committerChristian Kamm <mail@ckamm.de>
Fri, 21 Apr 2017 12:08:00 +0000 (14:08 +0200)
See owncloud/core#27709: files_sharing/public/multiple

src/gui/sharelinkwidget.cpp
src/libsync/capabilities.cpp
src/libsync/capabilities.h

index ddd3e3fe1bc9dee18f2bd26c0d92d18d7fc87c5e..5413cc55518dfffe2054620e74fb9c77b02ab40c 100644 (file)
@@ -93,11 +93,11 @@ ShareLinkWidget::ShareLinkWidget(AccountPtr account,
     }
 
     // Older servers don't support multiple public link shares
-    // TODO: Tying to the server version isn't nice, see owncloud/core#27622
-    if (_account->serverVersionInt() < Account::makeServerVersion(10, 0, 0)) {
+    if (!_account->capabilities().sharePublicLinkMultiple()) {
         _namesSupported = false;
-        _ui->nameLineEdit->hide();
         _ui->createShareButton->setText(tr("Create public link share"));
+        _ui->nameLineEdit->hide();
+        _ui->nameLineEdit->clear(); // so we don't send a name
     }
 
     _ui->shareProperties->setEnabled(false);
index cee5f1aebe2521bbc37c181e19c444f3bd0253e4..3721ad4063468aa392748801918b316845c06d16 100644 (file)
@@ -67,6 +67,11 @@ int Capabilities::sharePublicLinkExpireDateDays() const
     return _capabilities["files_sharing"].toMap()["public"].toMap()["expire_date"].toMap()["days"].toInt();
 }
 
+bool Capabilities::sharePublicLinkMultiple() const
+{
+    return _capabilities["files_sharing"].toMap()["public"].toMap()["multiple"].toBool();
+}
+
 bool Capabilities::shareResharing() const
 {
     return _capabilities["files_sharing"].toMap()["resharing"].toBool();
index e3d8c013c238be6afc9a40236a3780e8117758ac..56ef6f622bc0488d7cf5c14f297017f2770440ca 100644 (file)
@@ -39,6 +39,7 @@ public:
     bool sharePublicLinkEnforcePassword() const;
     bool sharePublicLinkEnforceExpireDate() const;
     int  sharePublicLinkExpireDateDays() const;
+    bool sharePublicLinkMultiple() const;
     bool shareResharing() const;
     bool chunkingNg() const;