ShareLinkWidget. Fix incorrect calendar mindate.
authoralex-z <blackslayer4@gmail.com>
Tue, 2 Nov 2021 09:01:00 +0000 (11:01 +0200)
committeralex-z <blackslayer4@gmail.com>
Wed, 3 Nov 2021 11:23:00 +0000 (13:23 +0200)
Signed-off-by: alex-z <blackslayer4@gmail.com>
src/gui/sharelinkwidget.cpp
src/gui/sharemanager.cpp
src/gui/sharemanager.h
src/gui/shareusergroupwidget.cpp

index b80cf08a5b8aace7c103707f88d7183d4427d647..f0ea3c615799b1f4d4c502c20d77c577890fded6 100644 (file)
@@ -516,7 +516,9 @@ void ShareLinkWidget::toggleExpireDateOptions(const bool enable)
     
     const auto date = enable ? _linkShare->getExpireDate() : QDate::currentDate().addDays(1);
     _ui->calendar->setDate(date);
-    _ui->calendar->setMinimumDate(date);
+    _ui->calendar->setMinimumDate(QDate::currentDate().addDays(1));
+    _ui->calendar->setMaximumDate(
+        QDate::currentDate().addDays(_account->capabilities().sharePublicLinkExpireDateDays()));
     _ui->calendar->setFocus();
     
     if (!enable && _linkShare && _linkShare->getExpireDate().isValid()) {
index afebb981f78b88a77980cacc00c8d4120f6106ab..154bcbec31967eec15b46477100369bb93545d34 100644 (file)
@@ -146,7 +146,7 @@ void Share::deleteShare()
     job->deleteShare(getId());
 }
 
-bool Share::isUserGroupShare(const ShareType type)
+bool Share::isShareTypeUserGroupEmailRoomOrRemote(const ShareType type)
 {
     return (type == Share::TypeUser || type == Share::TypeGroup || type == Share::TypeEmail || type == Share::TypeRoom
         || type == Share::TypeRemote);
@@ -323,7 +323,7 @@ UserGroupShare::UserGroupShare(AccountPtr account,
     , _note(note)
     , _expireDate(expireDate)
 {
-    Q_ASSERT(Share::isUserGroupShare(shareType));
+    Q_ASSERT(Share::isShareTypeUserGroupEmailRoomOrRemote(shareType));
     Q_ASSERT(shareWith);
 }
 
@@ -493,7 +493,7 @@ void ShareManager::slotSharesFetched(const QJsonDocument &reply)
 
         if (shareType == Share::TypeLink) {
             newShare = parseLinkShare(data);
-        } else if (Share::isUserGroupShare(static_cast <Share::ShareType>(shareType))) {
+        } else if (Share::isShareTypeUserGroupEmailRoomOrRemote(static_cast <Share::ShareType>(shareType))) {
             newShare = parseUserGroupShare(data);
         } else {
             newShare = parseShare(data);
index 06e53c02669cc0554acb822023d78feaab8f25c2..a69ec449d985e8231963cedba781ea28ccff0c4a 100644 (file)
@@ -133,7 +133,7 @@ public:
      /*
      * Is it a share with a user or group (local or remote)
      */
-    static bool isUserGroupShare(const ShareType type);
+    static bool isShareTypeUserGroupEmailRoomOrRemote(const ShareType type);
 
 signals:
     void permissionsSet();
index 4b463ad70c68a533507915698039fa3c86b492fb..0c37c4565e7fde2c5e1f055b891f3ca2eed57c60 100644 (file)
@@ -249,7 +249,7 @@ void ShareUserGroupWidget::slotSharesFetched(const QList<QSharedPointer<Share>>
         }
 
 
-        Q_ASSERT(Share::isUserGroupShare(share->getShareType()));
+        Q_ASSERT(Share::isShareTypeUserGroupEmailRoomOrRemote(share->getShareType()));
         auto userGroupShare = qSharedPointerDynamicCast<UserGroupShare>(share);
         auto *s = new ShareUserLine(_account, userGroupShare, _maxSharingPermissions, _isFile, _parentScrollArea);
         connect(s, &ShareUserLine::resizeRequested, this, &ShareUserGroupWidget::slotAdjustScrollWidgetSize);
@@ -1102,9 +1102,9 @@ bool ShareUserLine::enforceExpirationDateForShare(const Share::ShareType type) c
         return _account->capabilities().shareRemoteEnforceExpireDate();
     } else if (type == Share::ShareType::TypeEmail) {
         return _account->capabilities().sharePublicLinkEnforceExpireDate();
-    } else {
-        return _account->capabilities().shareInternalEnforceExpireDate();
     }
+
+    return _account->capabilities().shareInternalEnforceExpireDate();
 }
 
 void ShareUserLine::setPasswordConfirmed()