Fix Bug 69232 - Rooms.Custom. Fixed link rights
This commit is contained in:
parent
c6b04c022a
commit
ac59e4b2ec
@ -711,12 +711,12 @@ export default inject(
|
|||||||
|
|
||||||
const isArchive = rootFolderType === FolderType.Archive;
|
const isArchive = rootFolderType === FolderType.Archive;
|
||||||
|
|
||||||
const sharedItem = navigationPath.find((r) => r.shared);
|
const isShared = shared || navigationPath.find((r) => r.shared);
|
||||||
|
|
||||||
const showNavigationButton =
|
const showNavigationButton =
|
||||||
isLoading || !security?.CopyLink || isPublicRoom || isArchive
|
isLoading || !security?.CopyLink || isPublicRoom || isArchive
|
||||||
? false
|
? false
|
||||||
: security?.Read && (shared || sharedItem);
|
: security?.Read && isShared;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
showText: settingsStore.showText,
|
showText: settingsStore.showText,
|
||||||
|
@ -1389,14 +1389,17 @@ class ContextOptionsStore {
|
|||||||
item.roomType === RoomsType.FormRoom ||
|
item.roomType === RoomsType.FormRoom ||
|
||||||
item.roomType === RoomsType.CustomRoom;
|
item.roomType === RoomsType.CustomRoom;
|
||||||
|
|
||||||
const { shared, navigationPath } = this.selectedFolderStore;
|
const { navigationPath } = this.selectedFolderStore;
|
||||||
|
|
||||||
if (item.isRoom && withOpen) {
|
if (item.isRoom && withOpen) {
|
||||||
withOpen = navigationPath.findIndex((f) => f.id === item.id) === -1;
|
withOpen = navigationPath.findIndex((f) => f.id === item.id) === -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isArchive = item.rootFolderType === FolderType.Archive;
|
const isArchive = item.rootFolderType === FolderType.Archive;
|
||||||
const isShared = shared || navigationPath.findIndex((r) => r.shared) > -1;
|
|
||||||
|
const hasShareLinkRights = item.shared
|
||||||
|
? item.security?.Read
|
||||||
|
: item.security?.EditAccess;
|
||||||
|
|
||||||
const optionsModel = [
|
const optionsModel = [
|
||||||
{
|
{
|
||||||
@ -1552,20 +1555,14 @@ class ContextOptionsStore {
|
|||||||
label: t("Files:CopyLink"),
|
label: t("Files:CopyLink"),
|
||||||
icon: InvitationLinkReactSvgUrl,
|
icon: InvitationLinkReactSvgUrl,
|
||||||
onClick: () => this.onCopyLink(item, t),
|
onClick: () => this.onCopyLink(item, t),
|
||||||
disabled:
|
disabled: isPublicRoomType && hasShareLinkRights,
|
||||||
(isPublicRoomType && item.security?.Read && !isArchive) ||
|
|
||||||
!item.security?.CopyLink,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "option_copy-external-link",
|
id: "option_copy-external-link",
|
||||||
key: "external-link",
|
key: "external-link",
|
||||||
label: t("Files:CopySharedLink"),
|
label: t("Files:CopySharedLink"),
|
||||||
icon: TabletLinkReactSvgUrl,
|
icon: TabletLinkReactSvgUrl,
|
||||||
disabled:
|
disabled: !hasShareLinkRights,
|
||||||
this.publicRoomStore.isPublicRoom ||
|
|
||||||
isArchive ||
|
|
||||||
!item.security?.Read ||
|
|
||||||
!isPublicRoomType,
|
|
||||||
onClick: () => this.onCreateAndCopySharedLink(item, t),
|
onClick: () => this.onCreateAndCopySharedLink(item, t),
|
||||||
// onLoad: () => this.onLoadLinks(t, item),
|
// onLoad: () => this.onLoadLinks(t, item),
|
||||||
},
|
},
|
||||||
|
@ -2047,6 +2047,7 @@ class FilesStore {
|
|||||||
const canDelete = !isEditing && item.security?.Delete;
|
const canDelete = !isEditing && item.security?.Delete;
|
||||||
|
|
||||||
const canCopy = item.security?.Copy;
|
const canCopy = item.security?.Copy;
|
||||||
|
const canCopyLink = item.security?.CopyLink;
|
||||||
const canDuplicate = item.security?.Duplicate;
|
const canDuplicate = item.security?.Duplicate;
|
||||||
const canDownload = item.security?.Download;
|
const canDownload = item.security?.Download;
|
||||||
const canEmbed = item.security?.Embed;
|
const canEmbed = item.security?.Embed;
|
||||||
@ -2360,7 +2361,7 @@ class FilesStore {
|
|||||||
fileOptions = this.removeOptions(fileOptions, ["open-location"]);
|
fileOptions = this.removeOptions(fileOptions, ["open-location"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isMyFolder || isRecycleBinFolder) {
|
if (isMyFolder || isRecycleBinFolder || !canCopyLink) {
|
||||||
fileOptions = this.removeOptions(fileOptions, [
|
fileOptions = this.removeOptions(fileOptions, [
|
||||||
"link-for-room-members",
|
"link-for-room-members",
|
||||||
]);
|
]);
|
||||||
@ -2403,7 +2404,6 @@ class FilesStore {
|
|||||||
item.roomType === RoomsType.PublicRoom ||
|
item.roomType === RoomsType.PublicRoom ||
|
||||||
item.roomType === RoomsType.FormRoom ||
|
item.roomType === RoomsType.FormRoom ||
|
||||||
item.roomType === RoomsType.CustomRoom;
|
item.roomType === RoomsType.CustomRoom;
|
||||||
const isCustomRoomType = item.roomType === RoomsType.CustomRoom;
|
|
||||||
|
|
||||||
let roomOptions = [
|
let roomOptions = [
|
||||||
"select",
|
"select",
|
||||||
@ -2433,6 +2433,17 @@ class FilesStore {
|
|||||||
roomOptions = this.removeOptions(roomOptions, optionsToRemove);
|
roomOptions = this.removeOptions(roomOptions, optionsToRemove);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isArchiveFolder) {
|
||||||
|
roomOptions = this.removeOptions(roomOptions, [
|
||||||
|
"external-link",
|
||||||
|
"link-for-room-members",
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isPublicRoomType || this.publicRoomStore.isPublicRoom) {
|
||||||
|
roomOptions = this.removeOptions(roomOptions, ["external-link"]);
|
||||||
|
}
|
||||||
|
|
||||||
if (!canEditRoom) {
|
if (!canEditRoom) {
|
||||||
roomOptions = this.removeOptions(roomOptions, [
|
roomOptions = this.removeOptions(roomOptions, [
|
||||||
"edit-room",
|
"edit-room",
|
||||||
|
Loading…
Reference in New Issue
Block a user