Skip to content

Commit

Permalink
display reshares in sharing dialog
Browse files Browse the repository at this point in the history
Signed-off-by: Jyrki Gadinger <[email protected]>
  • Loading branch information
nilsding committed Mar 5, 2025
1 parent 4b833d3 commit 2f6c693
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 12 deletions.
5 changes: 4 additions & 1 deletion src/gui/filedetails/sharemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,20 +308,23 @@ void ShareModel::updateData()
_placeholderLinkShare.reset(new Share(_accountState->account(),
placeholderLinkShareId,
_accountState->account()->id(),
_accountState->account()->id(),
_accountState->account()->davDisplayName(),
_sharePath,
Share::TypePlaceholderLink));

_internalLinkShare.reset(new Share(_accountState->account(),
internalLinkShareId,
_accountState->account()->id(),
_accountState->account()->id(),
_accountState->account()->davDisplayName(),
_sharePath,
Share::TypeInternalLink));

_secureFileDropPlaceholderLinkShare.reset(new Share(_accountState->account(),
secureFileDropPlaceholderLinkShareId,
_accountState->account()->id(),
_accountState->account()->id(),
_accountState->account()->davDisplayName(),
_sharePath,
Share::TypeSecureFileDropPlaceholderLink));
Expand Down Expand Up @@ -497,7 +500,7 @@ void ShareModel::slotSharesFetched(const QList<SharePtr> &shares)
for (const auto &share : shares) {
if (share.isNull() ||
share->account().isNull() ||
share->getUidOwner() != share->account()->davUser()) {
share->getUidFileOwner() != share->account()->davUser()) {
continue;
}

Expand Down
26 changes: 19 additions & 7 deletions src/gui/sharemanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ static void updateFolder(const AccountPtr &account, QStringView path)

Share::Share(AccountPtr account,
const QString &id,
const QString &uidowner,
const QString &uidOwner,
const QString &uidFileOwner,
const QString &ownerDisplayName,
const QString &path,
const ShareType shareType,
Expand All @@ -63,7 +64,8 @@ Share::Share(AccountPtr account,
const ShareePtr shareWith)
: _account(account)
, _id(id)
, _uidowner(uidowner)
, _uidOwner(uidOwner)
, _uidFileOwner(uidFileOwner)
, _ownerDisplayName(ownerDisplayName)
, _path(path)
, _shareType(shareType)
Expand All @@ -90,7 +92,12 @@ QString Share::getId() const

QString Share::getUidOwner() const
{
return _uidowner;
return _uidOwner;
}

QString Share::getUidFileOwner() const
{
return _uidFileOwner;
}

QString Share::getOwnerDisplayName() const
Expand Down Expand Up @@ -195,7 +202,8 @@ QDate LinkShare::getExpireDate() const

LinkShare::LinkShare(AccountPtr account,
const QString &id,
const QString &uidowner,
const QString &uidOwner,
const QString &uidFileOwner,
const QString &ownerDisplayName,
const QString &path,
const QString &name,
Expand All @@ -207,7 +215,7 @@ LinkShare::LinkShare(AccountPtr account,
const QString &note,
const QString &label,
const bool hideDownload)
: Share(account, id, uidowner, ownerDisplayName, path, Share::TypeLink, isPasswordSet, permissions)
: Share(account, id, uidOwner, uidFileOwner, ownerDisplayName, path, Share::TypeLink, isPasswordSet, permissions)
, _name(name)
, _token(token)
, _note(note)
Expand Down Expand Up @@ -334,7 +342,8 @@ void LinkShare::slotHideDownloadSet(const QJsonDocument &jsonDoc, const QVariant

UserGroupShare::UserGroupShare(AccountPtr account,
const QString &id,
const QString &owner,
const QString &uidOwner,
const QString &uidFileOwner,
const QString &ownerDisplayName,
const QString &path,
const ShareType shareType,
Expand All @@ -343,7 +352,7 @@ UserGroupShare::UserGroupShare(AccountPtr account,
const ShareePtr shareWith,
const QDate &expireDate,
const QString &note)
: Share(account, id, owner, ownerDisplayName, path, shareType, isPasswordSet, permissions, shareWith)
: Share(account, id, uidOwner, uidFileOwner, ownerDisplayName, path, shareType, isPasswordSet, permissions, shareWith)
, _note(note)
, _expireDate(expireDate)
{
Expand Down Expand Up @@ -612,6 +621,7 @@ QSharedPointer<UserGroupShare> ShareManager::parseUserGroupShare(const QJsonObje
return QSharedPointer<UserGroupShare>(new UserGroupShare(_account,
data.value("id").toVariant().toString(), // "id" used to be an integer, support both
data.value("uid_owner").toVariant().toString(),
data.value("uid_file_owner").toVariant().toString(),
data.value("displayname_owner").toVariant().toString(),
data.value("path").toString(),
static_cast<Share::ShareType>(data.value("share_type").toInt()),
Expand Down Expand Up @@ -652,6 +662,7 @@ QSharedPointer<LinkShare> ShareManager::parseLinkShare(const QJsonObject &data)
return QSharedPointer<LinkShare>(new LinkShare(_account,
data.value("id").toVariant().toString(), // "id" used to be an integer, support both
data.value("uid_owner").toString(),
data.value("uid_file_owner").toString(),
data.value("displayname_owner").toString(),
data.value("path").toString(),
data.value("name").toString(),
Expand All @@ -674,6 +685,7 @@ SharePtr ShareManager::parseShare(const QJsonObject &data) const
return SharePtr(new Share(_account,
data.value("id").toVariant().toString(), // "id" used to be an integer, support both
data.value("uid_owner").toVariant().toString(),
data.value("uid_file_owner").toVariant().toString(),
data.value("displayname_owner").toVariant().toString(),
data.value("path").toString(),
(Share::ShareType)data.value("share_type").toInt(),
Expand Down
17 changes: 13 additions & 4 deletions src/gui/sharemanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ class Share : public QObject
*/
explicit Share(AccountPtr account,
const QString &id,
const QString &owner,
const QString &uidOwner,
const QString &uidFileOwner,
const QString &ownerDisplayName,
const QString &path,
const ShareType shareType,
Expand All @@ -99,6 +100,11 @@ class Share : public QObject
*/
[[nodiscard]] QString getUidOwner() const;

/*
* Get the uid_file_owner
*/
[[nodiscard]] QString getUidFileOwner() const;

/*
* Get the owner display name
*/
Expand Down Expand Up @@ -165,7 +171,8 @@ public slots:
protected:
AccountPtr _account;
QString _id;
QString _uidowner;
QString _uidOwner;
QString _uidFileOwner;
QString _ownerDisplayName;
QString _path;
ShareType _shareType;
Expand Down Expand Up @@ -207,7 +214,8 @@ class LinkShare : public Share
public:
explicit LinkShare(AccountPtr account,
const QString &id,
const QString &uidowner,
const QString &uidOwner,
const QString &uidFileOwner,
const QString &ownerDisplayName,
const QString &path,
const QString &name,
Expand Down Expand Up @@ -338,7 +346,8 @@ class UserGroupShare : public Share
public:
UserGroupShare(AccountPtr account,
const QString &id,
const QString &owner,
const QString &uidOwner,
const QString &uidFileOwner,
const QString &ownerDisplayName,
const QString &path,
const ShareType shareType,
Expand Down

0 comments on commit 2f6c693

Please sign in to comment.