Skip to content

Commit

Permalink
SciGaPgh-140: Restrict permission removal or change on emc admin and …
Browse files Browse the repository at this point in the history
…users groups
  • Loading branch information
dinukadesilva committed Feb 2, 2023
1 parent d0b3d07 commit 5877879
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/components/modals/share-modal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<b-dropdown variant="outline-secondary" size="sm" :id="`dropdown-permission-type-${ownerIndex}`"
offset="25"
:text=" getPermissionTypeName(owner) " style="min-width: 100px;"
:disabled="owner.permissionTypeId === 'OWNER'">
:disabled="disablePermissions(owner)">
<b-dropdown-item v-for="permissionType in permissionTypes" :key="permissionType.id" href="#"
v-on:click="owner.saved = false; owner.permissionTypeId = permissionType.id"
:disabled="permissionType.id === 'OWNER'">
Expand All @@ -25,7 +25,7 @@
</div>
<div>
<button-overlay :show="processingDrop[owner.ownerId]">
<b-button variant="link" v-on:click="onDropShare(owner)" :disabled="owner.permissionTypeId === 'OWNER'">
<b-button variant="link" v-on:click="onDropShare(owner)" :disabled="disablePermissions(owner)">
<b-icon icon="x"></b-icon>
</b-button>
</button-overlay>
Expand All @@ -48,6 +48,7 @@ import InputSelectUsersOrGroups
import ButtonOverlay from "airavata-custos-portal/src/lib/components/overlay/button-overlay";
import {custosService} from "airavata-custos-portal/src/lib/store/util/custos.util";
import Errors from "@/components/Errors";
import config from "../../config";
export default {
name: "share-modal",
Expand All @@ -65,6 +66,8 @@ export default {
},
data() {
return {
restrictedOwners: [config.value("clientUsersGroupId"), config.value("clientAdminGroupId")],
processing: false,
processingDrop: {},
errors: [],
Expand Down Expand Up @@ -96,6 +99,9 @@ export default {
getPermissionType({permissionTypeId}) {
return this.$store.getters["sharing/getPermissionType"]({clientId: this.clientId, id: permissionTypeId});
},
disablePermissions({ownerId, permissionTypeId}) {
return permissionTypeId === 'OWNER' || this.restrictedOwners.indexOf(ownerId) >= 0
},
getOwnerName({ownerId, ownerType}) {
if (ownerType === "group") {
const group = this.$store.getters["group/getGroup"]({clientId: this.clientId, groupId: ownerId});
Expand Down

0 comments on commit 5877879

Please sign in to comment.