2018-02-27 14:16:23 +00:00
<div class="row">
<div class="col">
<div class="view-customize">
<h1 class="admin-heading">Groups</h1>
<h2 class="sub-heading">Create groups for easier user management — assign users to groups</h2>
<div class="btn btn-success mt-3 mb-3" {{ action 'onOpenGroupModal' }} >Add group</div>
2018-02-28 14:55:36 +00:00
2018-02-27 14:16:23 +00:00
<div id="add-group-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Add Group</div>
<div class="modal-body">
2018-03-09 09:51:44 +00:00
<form onsubmit= {{ action 'onAddGroup' }} >
2018-02-27 14:16:23 +00:00
<div class="form-group">
<label for="new-group-name">Name</label>
{{ focus-input id = "new-group-name" type = "text" class = "form-control mousetrap" placeholder = "Enter group name" value = newGroup .name }}
<small class="form-text text-muted">e.g. Managers, Developers, Acme Team</small>
</div>
<div class="form-group">
2018-02-28 14:55:36 +00:00
<label for="new-group-desc">Description (optional)</label>
2018-02-27 14:16:23 +00:00
{{ textarea id = "new-group-desc" value = newGroup .purpose class = "form-control" rows = "3" }}
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
2018-03-09 09:51:44 +00:00
<button type="button" class="btn btn-success" onclick= {{ action 'onAddGroup' }} >Add</button>
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
</div>
<div class="groups-list">
{{ # each groups as | group | }}
2018-02-28 14:55:36 +00:00
<div class="row group">
<div class="col-8">
<div class="name">
{{ group .name }}
{{ # if group .purpose }}
<div class="purpose"> — {{ group .purpose }} </div>
2018-02-27 14:16:23 +00:00
{{ / if }}
</div>
2018-02-28 14:55:36 +00:00
2018-02-27 14:16:23 +00:00
</div>
<div class="col-4 buttons text-right">
2018-02-28 14:55:36 +00:00
<button class="btn btn-sm btn-secondary" {{ action 'onShowMembersModal' group .id }} > {{ group .members }} members</button>
<div class="button-icon-gap" />
<div class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Rename" {{ action 'onShowEditModal' group .id }} >
2018-02-27 14:16:23 +00:00
<i class="material-icons">edit</i>
</div>
<div class="button-icon-gap" />
<div class="button-icon-danger align-middle" data-toggle="tooltip" data-placement="top" title="Delete" {{ action 'onShowDeleteModal' group .id }} >
<i class="material-icons">delete</i>
</div>
</div>
</div>
2018-03-09 09:51:44 +00:00
{{ else }}
<div class="margin-top-30">
<i>No groups</i>
</div>
2018-02-27 14:16:23 +00:00
{{ / each }}
</div>
<div id="delete-group-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Delete Group</div>
<div class="modal-body">
2018-03-09 09:51:44 +00:00
<form onsubmit= {{ action 'onDeleteGroup' }} >
2018-02-27 14:16:23 +00:00
<p>Are you sure you want to delete this group?</p>
<div class="form-group">
2018-02-28 14:55:36 +00:00
<label for="delete-group-name">Please type group name to confirm</label>
2018-02-27 14:16:23 +00:00
{{ in put id = "delete-group-name" type = "text" class = "form-control mousetrap" placeholder = "Group name" value = deleteGroup .name }}
<small class="form-text text-muted">This will remove group membership information and associated permissions!</small>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
2018-03-09 09:51:44 +00:00
<button type="button" class="btn btn-danger" onclick= {{ action 'onDeleteGroup' }} >Delete</button>
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
</div>
<div id="edit-group-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Edit Group</div>
<div class="modal-body">
2018-03-09 09:51:44 +00:00
<form onsubmit= {{ action 'onEditGroup' }} >
2018-02-27 14:16:23 +00:00
<div class="form-group">
<label for="edit-group-name">Name</label>
{{ in put id = "edit-group-name" type = "text" class = "form-control mousetrap" placeholder = "Enter group name" value = editGroup .name }}
<small class="form-text text-muted">e.g. Managers, Developers, Acme Team</small>
</div>
<div class="form-group">
2018-02-28 14:55:36 +00:00
<label for="edit-group-desc">Description (optional)</label>
2018-02-27 14:16:23 +00:00
{{ textarea id = "edit-group-desc" value = editGroup .purpose class = "form-control" rows = "3" }}
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
2018-03-09 09:51:44 +00:00
<button type="button" class="btn btn-success" onclick= {{ action 'onEditGroup' }} >Save</button>
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
2018-02-28 14:55:36 +00:00
</div>
<div id="group-members-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
2018-02-28 15:39:46 +00:00
<div class="modal-header"> {{ membersGroup .name }} ( {{ members .length }} )</div>
2018-02-28 14:55:36 +00:00
<div class="modal-body">
<div class="form-group">
<label for="group-members-search">Search for group members, non-members</label>
{{ in put id = "group-members-search" type = "text" class = "form-control mousetrap" placeholder = "Search members and users..." value = searchText key-up = ( action 'onSearch' ) }}
2018-03-01 19:14:27 +00:00
<small class="form-text text-muted">search firstname, lastname, email</small>
2018-02-28 14:55:36 +00:00
</div>
<div class="view-customize">
<div class="group-users-members my-5">
{{ # if showMembers }}
{{ # each members as | member | }}
<div class="row item">
<div class="col-10 fullname"> {{ member .fullname }} </div>
<div class="col-2 text-right">
2018-03-01 19:14:27 +00:00
<button class="btn btn-danger" {{ action 'onLeaveGroup' member .userId }} >Remove</button>
2018-02-28 14:55:36 +00:00
</div>
</div>
{{ / each }}
{{ / if }}
{{ # if showUsers }}
{{ # each users as | user | }}
<div class="row item">
<div class="col-10 fullname"> {{ user .firstname }} {{ user .lastname }} </div>
<div class="col-2 text-right">
{{ # if user .isMember }}
2018-03-01 19:14:27 +00:00
<button class="btn btn-danger" {{ action 'onLeaveGroup' user .id }} >Remove</button>
2018-02-28 14:55:36 +00:00
{{ else }}
2018-03-01 19:14:27 +00:00
<button class="btn btn-success" {{ action 'onJoinGroup' user .id }} >Add</button>
2018-02-28 14:55:36 +00:00
{{ / if }}
</div>
</div>
{{ / each }}
{{ / if }}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>