1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-22 14:49:42 +02:00
documize/gui/app/templates/components/customize/user-groups.hbs

209 lines
9.1 KiB
Handlebars
Raw Normal View History

<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 &mdash; assign users to groups</h2>
<div class="btn btn-success mt-3 mb-3" {{action 'onShowAddGroupModal'}}>Add Group</div>
2018-02-28 14:55:36 +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">
<form onsubmit= {{action 'onAddGroup'}}>
<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>
{{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>
<button type="button" class="btn btn-success" onclick= {{action 'onAddGroup'}}>Add</button>
</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}} ({{group.members}})
2018-02-28 14:55:36 +00:00
{{#if group.purpose}}
<div class="purpose">{{group.purpose}}</div>
{{/if}}
</div>
</div>
<div class="col-4 buttons text-right">
<button class="btn btn-primary" {{action 'onShowAddMemberModal' group.id}}>Add</button>
{{#if (gt group.members 0)}}
<div class="button-icon-gap" />
<button class="btn btn-danger" {{action 'onShowRemoveMemberModal' group.id}}>Remove</button>
{{/if}}
2018-02-28 14:55:36 +00:00
<div class="button-icon-gap" />
<div class="button-icon-gray align-middle" data-toggle="tooltip" data-placement="top" title="Rename" {{action 'onShowEditModal' group.id}}>
<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>
{{else}}
<div class="margin-top-30">
<i>No groups</i>
</div>
{{/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">
<form onsubmit= {{action 'onDeleteGroup'}}>
<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>
{{input 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>
<button type="button" class="btn btn-danger" onclick= {{action 'onDeleteGroup'}}>Delete</button>
</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">
<form onsubmit= {{action 'onEditGroup'}}>
<div class="form-group">
<label for="edit-group-name">Name</label>
{{input 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>
{{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>
<button type="button" class="btn btn-success" onclick= {{action 'onEditGroup'}}>Save</button>
</div>
</div>
</div>
2018-02-28 14:55:36 +00:00
</div>
<div id="group-remove-member-modal" class="modal" tabindex="-1" role="dialog">
2018-02-28 14:55:36 +00:00
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">Remove Member &mdash; {{membersGroup.name}} ({{members.length}})</div>
2018-02-28 14:55:36 +00:00
<div class="modal-body">
<div class="view-customize">
<div class="group-users-members my-5">
{{#each members as |member|}}
<div class="row item">
<div class="col-10 fullname">{{member.fullname}}</div>
<div class="col-2 text-right">
<button class="btn btn-danger" {{action 'onLeaveGroup' member.userId}}>Remove</button>
2018-02-28 14:55:36 +00:00
</div>
</div>
{{/each}}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div id="group-add-member-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">Add Member &mdash; {{membersGroup.name}} ({{members.length}})</div>
<div class="modal-body">
<div class="form-group">
<label for="group-members-search">Search users to join this group</label>
{{input id="group-members-search" type="text" class="form-control mousetrap" placeholder="Search members and users..." value=searchText key-up=(action 'onSearch')}}
<small class="form-text text-muted">search firstname, lastname, email</small>
</div>
<div class="view-customize">
<div class="text-center">
<div class="btn-group btn-group-toggle" data-toggle="tooltip" data-placement="top" title="Show how many users">
<label class="btn btn-outline-secondary {{if (eq userLimit 1) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 1}}>1
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 10) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 10}}>10
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 25) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 25}}>25
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 50) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 50}}>50
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 100) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 100}}>100
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 250) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 250}}>250
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 500) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 500}}>500
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 1000) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 1000}}>1,000
</label>
<label class="btn btn-outline-secondary {{if (eq userLimit 99999) 'active'}}">
<input type="radio" name="options" autocomplete="off" {{action 'onLimit' 99999}}>all
</label>
</div>
</div>
<div class="clearfix" />
<div class="group-users-members my-5">
{{#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}}
<button class="btn btn-danger" {{action 'onLeaveGroup' user.id}}>Remove</button>
{{else}}
<button class="btn btn-success" {{action 'onJoinGroup' user.id}}>Add</button>
{{/if}}
2018-02-28 14:55:36 +00:00
</div>
</div>
{{/each}}
2018-02-28 14:55:36 +00:00
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
2018-02-28 14:55:36 +00:00
</div>
</div>
</div>
</div>
</div>
</div>
</div>