From dab471c34ebee966cc053789f7f38d0e0499126e Mon Sep 17 00:00:00 2001 From: joragua Date: Thu, 5 Mar 2026 12:07:29 +0100 Subject: [PATCH] feat: add "+" button to create space public links only for space managers --- .../spaces/members/SpaceMembersFragment.kt | 14 +++++++++++--- .../src/main/res/layout/members_fragment.xml | 15 +++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersFragment.kt b/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersFragment.kt index 4ea5d250ba7..c96166ce202 100644 --- a/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersFragment.kt +++ b/owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/members/SpaceMembersFragment.kt @@ -215,9 +215,7 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter when (val uiResult = event.peekContent()) { is UIResult.Success -> { uiResult.data?.let { spacePermissions -> - binding.addMemberButton.isVisible = DRIVES_CREATE_PERMISSION in spacePermissions - canRemoveMembers = DRIVES_DELETE_PERMISSION in spacePermissions - canEditMembers = DRIVES_UPDATE_PERMISSION in spacePermissions + checkPermissions(spacePermissions) spaceMembersAdapter.setSpaceMembers(spaceMembers, roles, canRemoveMembers, canEditMembers, numberOfManagers) } } @@ -270,6 +268,16 @@ class SpaceMembersFragment : Fragment(), SpaceMembersAdapter.SpaceMembersAdapter } } + private fun checkPermissions(spacePermissions: List) { + binding.apply { + val hasCreatePermission = DRIVES_CREATE_PERMISSION in spacePermissions + addMemberButton.isVisible = hasCreatePermission + addPublicLinkButton.isVisible = hasCreatePermission + } + canRemoveMembers = DRIVES_DELETE_PERMISSION in spacePermissions + canEditMembers = DRIVES_UPDATE_PERMISSION in spacePermissions + } + private fun showOrHideEmptyView(hasLinks: Boolean) { binding.apply { publicLinksRecyclerView.isVisible = hasLinks diff --git a/owncloudApp/src/main/res/layout/members_fragment.xml b/owncloudApp/src/main/res/layout/members_fragment.xml index 9331537adf5..f56c56796d8 100644 --- a/owncloudApp/src/main/res/layout/members_fragment.xml +++ b/owncloudApp/src/main/res/layout/members_fragment.xml @@ -103,6 +103,21 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> + +