Commit 1e9783fd authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added panel showing the pending invited registration requests; Added lock...

Added panel showing the pending invited registration requests; Added lock attribute on groups to avoid removal of special groups; Other improvements
parent 6c395713
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,9 @@
      "plugin:vue/essential",
      "plugin:vue/essential",
      "eslint:recommended"
      "eslint:recommended"
    ],
    ],
    "rules": {},
    "rules": {
      "no-console": "warn"
    },
    "parserOptions": {
    "parserOptions": {
      "parser": "babel-eslint"
      "parser": "babel-eslint"
    }
    }
+15 −1
Original line number Original line Diff line number Diff line
@@ -363,5 +363,19 @@ export default {
        'Cache-Control': 'no-cache'
        'Cache-Control': 'no-cache'
      }
      }
    }, false);
    }, false);
  },
  deleteInvitedRegistration(requestId, groupId) {
    let url = BASE_API_URL + 'registration?' +
      'request_id=' + requestId + '&group_id=' + groupId;
    return apiRequest({
      method: 'DELETE',
      url: url,
      withCredentials: true,
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json',
        'Cache-Control': 'no-cache'
      }
    });
  }
  }
};
};
+15 −12
Original line number Original line Diff line number Diff line
<template>
<template>
<div class="mt-sm-3">
<div class="mt-sm-3">
  <div>
  <div>
    <div v-if="model.genericSearchResults.items && model.genericSearchResults.items.length > 0">
      <p>Search results:</p>
      <p>Search results:</p>
      <b-list-group v-for="item in model.genericSearchResults.items" v-bind:key="item.id">
      <b-list-group v-for="item in model.genericSearchResults.items" v-bind:key="item.id">
        <b-list-group-item href="#" v-on:click="openSearchResult(item)">
        <b-list-group-item href="#" v-on:click="openSearchResult(item)">
@@ -14,6 +15,8 @@
      <Paginator :paginatedPanel="model.genericSearchResults" :onUpdate="updateSearchResults" :paginatorInput="input.genericSearch" />
      <Paginator :paginatedPanel="model.genericSearchResults" :onUpdate="updateSearchResults" :paginatorInput="input.genericSearch" />
    </div>
    </div>
  </div>
  </div>
  <p v-if="model.genericSearchResults.items && model.genericSearchResults.items.length === 0">No entries were found matching your search</p>
</div>
</template>
</template>


<script>
<script>
+1 −1
Original line number Original line Diff line number Diff line
@@ -14,7 +14,7 @@
            <font-awesome-icon icon="edit"></font-awesome-icon>
            <font-awesome-icon icon="edit"></font-awesome-icon>
          </a>
          </a>
          &nbsp;
          &nbsp;
          <a href="#" v-on:click.stop.prevent="openRemoveGroupModal(group)" class="text-danger" title="Delete">
          <a href="#" v-on:click.stop.prevent="openRemoveGroupModal(group)" class="text-danger" title="Delete" v-if="!group.locked">
            <font-awesome-icon icon="trash"></font-awesome-icon>
            <font-awesome-icon icon="trash"></font-awesome-icon>
          </a>
          </a>
        </span>
        </span>
+50 −0
Original line number Original line Diff line number Diff line
<template>
<b-tab :title="'Invited (' + registrations.length + ')'" :title-link-class="{ 'd-none': registrations.length === 0 }">
  <table class="table b-table table-striped table-hover" v-if="registrations">
    <thead>
      <tr>
        <th>Email</th>
        <th>Permission</th>
        <th>Submitted at</th>
        <th></th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="(reg, index) in registrations" v-bind:key="index">
        <td>{{reg.email}}</td>
        <td>{{reg.permission}}</td>
        <td>{{reg.creationTime}}</td>
        <td>
          <a href="#" v-on:click.stop="openConfirmDeleteInvitedModal(reg)" class="text-danger" title="Remove permission">
            <font-awesome-icon icon="trash"></font-awesome-icon>
          </a>
        </td>
      </tr>
    </tbody>
  </table>
  <ConfirmDeleteInvitedModal ref="confirmDeleteInvitedModal" />
</b-tab>
</template>

<script>
import ConfirmDeleteInvitedModal from './modals/ConfirmDeleteInvitedModal.vue';

export default {
  name: 'InvitedRegistrationPanel',
  components: {
    ConfirmDeleteInvitedModal
  },
  computed: {
    registrations() {
      return this.$store.state.model.invitedRegistrations === null ? [] : this.$store.state.model.invitedRegistrations;
    }
  },
  methods: {
    openConfirmDeleteInvitedModal(reg) {
      let breadcrumbs = this.$store.state.model.breadcrumbs;
      let currentGroupId = breadcrumbs[breadcrumbs.length - 1].groupId;
      this.$refs.confirmDeleteInvitedModal.openConfirmDeleteInvitedModal(reg, currentGroupId);
    }
  }
}
</script>
Loading