Commit 417a88f5 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

FE: added permission modal

parent 0c7fdc60
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -95,5 +95,18 @@ export default {
        'Accept': 'application/json',
        'Accept': 'application/json',
      }
      }
    });
    });
  },
  searchUser (searchInput) {
    let url = BASE_API_URL + 'users?search=' + searchInput;

    return apiRequest(url, {
      method: 'GET',
      cache: 'no-cache',
      credentials: 'include',
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json',
      }
    });
  }
  }
};
};
+2 −2
Original line number Original line Diff line number Diff line
@@ -5,7 +5,7 @@
        <b-form-input placeholder="Search group" v-model="groupFilter" v-on:input="filterGroups"></b-form-input>
        <b-form-input placeholder="Search group" v-model="groupFilter" v-on:input="filterGroups"></b-form-input>
      </b-col>
      </b-col>
    </b-row>
    </b-row>
    <div id="groups-list">
    <div id="groups-list" v-if="model.groupsPanel !== null">
      <b-list-group v-for="group in model.groupsPanel.items">
      <b-list-group v-for="group in model.groupsPanel.items">
        <b-list-group-item href="#" v-on:click="openGroup(group)">
        <b-list-group-item href="#" v-on:click="openGroup(group)">
          <span class="float-left">{{group.groupName}}</span>
          <span class="float-left">{{group.groupName}}</span>
@@ -21,7 +21,7 @@
        </b-list-group-item>
        </b-list-group-item>
      </b-list-group>
      </b-list-group>
    </div>
    </div>
    <div class="row">
    <div class="row" v-if="model.groupsPanel !== null">
      <div class="col-md-9">
      <div class="col-md-9">
        <b-pagination
        <b-pagination
          v-model="model.groupsPanel.currentPage"
          v-model="model.groupsPanel.currentPage"
+15 −4
Original line number Original line Diff line number Diff line
@@ -7,13 +7,15 @@
        <MembersPanel />
        <MembersPanel />
        <PermissionsPanel />
        <PermissionsPanel />
        <template slot="tabs-end">
        <template slot="tabs-end">
          <b-button variant="primary" class="in-tabs-header-btn" v-b-modal.new-group-modal v-if="showAddGroupBtn">Add group</b-button>
          <b-button variant="primary" class="in-tabs-header-btn" v-if="showAddGroupBtn" v-on:click="openAddGroupModal">Add group</b-button>
          <b-button variant="primary" class="in-tabs-header-btn" v-if="showAddMemberBtn">Add member</b-button>
          <b-button variant="primary" class="in-tabs-header-btn" v-if="showAddMemberBtn">Add member</b-button>
          <b-button variant="primary" class="in-tabs-header-btn" v-if="showAddCollaboratorBtn">Add collaborator</b-button>
          <b-button variant="primary" class="in-tabs-header-btn" v-if="showAddCollaboratorBtn">Add collaborator</b-button>
          <b-button variant="primary" class="in-tabs-header-btn" v-if="showAddPermissionBtn" v-on:click="openAddPermissionModal">Add permission</b-button>
        </template>
        </template>
      </b-tabs>
      </b-tabs>
    </b-card>
    </b-card>
    <NewGroupModal />
    <NewGroupModal />
    <AddPermissionModal />
  </div>
  </div>
</template>
</template>


@@ -23,6 +25,7 @@ import GroupsPanel from './GroupsPanel.vue'
import MembersPanel from './MembersPanel.vue'
import MembersPanel from './MembersPanel.vue'
import PermissionsPanel from './PermissionsPanel.vue'
import PermissionsPanel from './PermissionsPanel.vue'
import NewGroupModal from './modals/NewGroupModal.vue'
import NewGroupModal from './modals/NewGroupModal.vue'
import AddPermissionModal from './modals/AddPermissionModal.vue'
import { mapState } from 'vuex';
import { mapState } from 'vuex';


export default {
export default {
@@ -32,13 +35,15 @@ export default {
    GroupsPanel,
    GroupsPanel,
    MembersPanel,
    MembersPanel,
    PermissionsPanel,
    PermissionsPanel,
    NewGroupModal
    NewGroupModal,
    AddPermissionModal
  },
  },
  computed: mapState({
  computed: mapState({
    model: state => state.model,
    model: state => state.model,
    showAddMemberBtn: state => state.model.permissions.includes('ADMIN') && state.input.selectedTab === 'members',
    showAddMemberBtn: state => state.model.permissions.includes('ADMIN') && state.input.selectedTab === 'members',
    showAddCollaboratorBtn: state => state.model.permissions.includes('MANAGE_MEMBERS') && state.input.selectedTab === 'members',
    showAddCollaboratorBtn: state => state.model.permissions.includes('MANAGE_MEMBERS') && state.input.selectedTab === 'members',
    showAddGroupBtn: state => state.model.permissions.includes('ADMIN') && state.input.selectedTab === 'groups'
    showAddGroupBtn: state => state.model.permissions.includes('ADMIN') && state.input.selectedTab === 'groups',
    showAddPermissionBtn: state => state.model.permissions.includes('ADMIN') && state.input.selectedTab === 'permissions'
  }),
  }),
  methods: {
  methods: {
    tabChanged: function(tabIndex) {
    tabChanged: function(tabIndex) {
@@ -59,8 +64,14 @@ export default {
        this.$store.commit('fetchGroupsModel');
        this.$store.commit('fetchGroupsModel');
      }
      }
    },
    },
    addMember: function() {
    openAddGroupModal: function() {
      this.$bvModal.show('new-group-modal');
    },
    openAddMemberModal: function() {


    },
    openAddPermissionModal: function() {
      this.$bvModal.show('add-permission-modal');
    }
    }
  }
  }
}
}
+3 −3
Original line number Original line Diff line number Diff line
@@ -17,9 +17,9 @@
    </div>
    </div>
    <div class="text-center" v-if="model.membersPanel !== null">
    <div class="text-center" v-if="model.membersPanel !== null">
      <b-pagination
      <b-pagination
        v-model="model.membersPanel.paginator.page"
        v-model="model.membersPanel.page"
        :total-rows="model.membersPanel.paginator.totalItems"
        :total-rows="model.membersPanel.totalItems"
        :per-page="model.membersPanel.paginator.pageSize"
        :per-page="model.membersPanel.pageSize"
        aria-controls="members-list"
        aria-controls="members-list"
        align="center"
        align="center"
        v-on:change="setPage"
        v-on:change="setPage"
+27 −0
Original line number Original line Diff line number Diff line
<template>
  <b-modal id="add-permission-modal" title="Add permission" ok-title="Add" @ok="addPermission">
    <SearchUser />
  </b-modal>
</template>

<script>
import client from 'api-client';
import SearchUser from './SearchUser.vue'

export default {
  name: 'AddPermissionModal',
  components: {
    SearchUser
  },
  data: function() {
    return {

    }
  },
  methods: {
    addPermission: function() {

    }
  }
};
</script>
Loading