mirror of
https://github.com/documize/community.git
synced 2025-07-25 08:09:43 +02:00
Complete UI revamp for admin screens
This commit is contained in:
parent
edb256e754
commit
0ec0c65002
26 changed files with 376 additions and 284 deletions
|
@ -3,11 +3,10 @@
|
|||
<div class="view-customize">
|
||||
{{#if isAuthProviderDocumize}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true icon=constants.Icon.Person label=constants.Label.Add onClick=(action "onOpenUserModal")}}
|
||||
|
||||
<div id="add-user-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">Add User</div>
|
||||
<div class="modal-header">Add Users</div>
|
||||
<div class="modal-body">
|
||||
<form onsubmit={{action "onAddUser"}}>
|
||||
<div class="form-row">
|
||||
|
@ -24,31 +23,26 @@
|
|||
{{input id="newUserEmail" type="email" class="form-control" placeholder="Email" value=newUser.email}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="col mt-3 text-right">
|
||||
<button type="submit" class="btn btn-success" {{action "onAddUser"}}>Add user</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ui/ui-spacer size=200}}
|
||||
{{ui/ui-button color=constants.Color.Green icon=constants.Icon.Person light=true label=constants.Label.Add onClick=(action "onAddUser")}}
|
||||
{{ui/ui-spacer size=300}}
|
||||
</form>
|
||||
<form onsubmit={{action "onAddUser"}}>
|
||||
<div class="form-group">
|
||||
<label for="edit-group-desc">Bulk create users</label>
|
||||
<label for="edit-group-desc">Bulk Upload</label>
|
||||
{{textarea id="bulkUsers" value=bulkUsers class="form-control" rows="5" placeholder="firstname, lastname, email"}}
|
||||
<small class="form-text text-muted">Comma-delimited list: firstname, lastname, email</small>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<button type="submit" class="btn btn-success" {{action "onAddUsers"}}>Add users</button>
|
||||
</div>
|
||||
{{ui/ui-button color=constants.Color.Green icon=constants.Icon.People light=true label=constants.Label.Add onClick=(action "onAddUsers")}}
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer mt-4">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
|
||||
<div class="modal-footer">
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Close dismiss=true}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -103,15 +103,13 @@
|
|||
<div class="modal-header">Remove Member — {{membersGroup.name}} ({{members.length}})</div>
|
||||
<div class="modal-body">
|
||||
<div class="view-customize">
|
||||
<div class="group-users-members my-5">
|
||||
<div class="group-users-members">
|
||||
{{#each members as |member|}}
|
||||
<div class="row item">
|
||||
<div class="col-10 fullname">{{member.fullname}}</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.RemoveUser color=constants.Color.Red tooltip="Remove member" onClick=(action "onLeaveGroup" member.userId)}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
<div class="item">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.RemoveUser color=constants.Color.Red tooltip="Remove member" onClick=(action "onLeaveGroup" member.userId)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label=member.fullname onClick=(action "onLeaveGroup" member.userId)}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
@ -130,58 +128,36 @@
|
|||
<div class="modal-header">Add Member — {{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>
|
||||
<label for="group-members-search">Find users</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>
|
||||
<small class="form-text text-muted">firstname, lastname, email</small>
|
||||
</div>
|
||||
<div class="view-customize">
|
||||
<div class="text-center">
|
||||
<div class="btn-group btn-group-toggle">
|
||||
{{#attach-tooltip showDelay=1000}}Number of users to display{{/attach-tooltip}}
|
||||
<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>
|
||||
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false tooltip="Maximum users to display"}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="1" onClick=(action "onLimit" 1)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="10" onClick=(action "onLimit" 10)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="25" onClick=(action "onLimit" 25)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="50" onClick=(action "onLimit" 50)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="100" onClick=(action "onLimit" 100)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="250" onClick=(action "onLimit" 250)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="500" onClick=(action "onLimit" 500)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="1,000" onClick=(action "onLimit" 1000)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="ALL" onClick=(action "onLimit" 99999)}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
<div class="clearfix" />
|
||||
|
||||
<div class="group-users-members my-5">
|
||||
{{ui/ui-spacer size=300}}
|
||||
<div class="group-users-members">
|
||||
{{#each users as |user|}}
|
||||
<div class="row item">
|
||||
<div class="col-10 fullname">{{user.firstname}} {{user.lastname}}</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
||||
{{#if user.isMember}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.RemoveUser color=constants.Color.Red tooltip="Remove member" onClick=(action "onLeaveGroup" user.id)}}
|
||||
{{else}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.AddUser color=constants.Color.Green tooltip="Add member" onClick=(action "onJoinGroup" user.id)}}
|
||||
{{/if}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
<div class="item">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
||||
{{#if user.isMember}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.RemoveUser color=constants.Color.Red tooltip="Remove member" onClick=(action "onLeaveGroup" user.id)}}
|
||||
{{else}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.AddUser color=constants.Color.Green tooltip="Add member" onClick=(action "onJoinGroup" user.id)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label=(concat user.firstname " " user.lastname) onClick=(action "onJoinGroup" user.id)}}
|
||||
{{/if}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
|
|
@ -1,184 +1,165 @@
|
|||
<div class="view-customize my-5">
|
||||
<div class="view-customize">
|
||||
{{#if isAuthProviderKeycloak}}
|
||||
{{#if syncInProgress}}
|
||||
<div class="btn btn-secondary mt-3 mb-3">Keycloak user sync running...</div>
|
||||
{{else}}
|
||||
<div class="btn btn-success mt-3 mb-3" {{action "onSyncKeycloak"}}>Sync with Keycloak</div>
|
||||
{{/if}}
|
||||
{{ui/ui-spacer size=300}}
|
||||
{{#if syncInProgress}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true icon=constants.Icon.Locked label="Keycloak user sync running..."}}
|
||||
{{else}}
|
||||
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Locked label="Sync with Keycloak" onClick=(action "onSyncKeycloak")}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isAuthProviderLDAP}}
|
||||
{{#if syncInProgress}}
|
||||
<div class="btn btn-secondary mt-3 mb-3">LDAP user sync running...</div>
|
||||
{{else}}
|
||||
<div class="btn btn-success mt-3 mb-3" {{action "onSyncLDAP"}}>Sync with LDAP</div>
|
||||
{{/if}}
|
||||
{{ui/ui-spacer size=300}}
|
||||
{{#if syncInProgress}}
|
||||
{{ui/ui-button color=constants.Color.Gray light=true icon=constants.Icon.Locked label="LDAP user sync running..."}}
|
||||
{{else}}
|
||||
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Locked label="Sync with LDAP" onClick=(action "onSyncLDAP")}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
<div class="my-2">
|
||||
<span class="bold-700">Spaces</span>
|
||||
<span class="text-muted"> — can add spaces, both personal and shared with others</span>
|
||||
</div>
|
||||
<div class="my-2">
|
||||
<span class="bold-700">Visible</span>
|
||||
<span class="text-muted"> — can see names of users and groups, can disable for external users
|
||||
like customers/partners</span>
|
||||
</div>
|
||||
<div class="my-2">
|
||||
<span class="bold-700">Admin</span>
|
||||
<span class="text-muted"> — can manage all aspects of Documize, like this screen</span>
|
||||
</div>
|
||||
<div class="my-2">
|
||||
<span class="bold-700">Analytics</span>
|
||||
<span class="text-muted"> — can view analytical reports</span>
|
||||
</div>
|
||||
<div class="mt-2 mb-4">
|
||||
<span class="bold-700">Active</span>
|
||||
<span class="text-muted"> — can login and use Documize</span>
|
||||
{{ui/ui-spacer size=300}}
|
||||
<div class="explain-user-perms">
|
||||
<div class="title">User Permissions Explained</div>
|
||||
<div class="perm-name">Spaces</div>
|
||||
<div class="perm-desc">Can add spaces, both personal and shared with others</div>
|
||||
<div class="perm-name">Visible</div>
|
||||
<div class="perm-desc">Can see names of users and groups, can disable for external users like customers/partners</div>
|
||||
<div class="perm-name">Admin</div>
|
||||
<div class="perm-desc">Can manage all aspects of Documize, like this screen</div>
|
||||
<div class="perm-name">Analytics</div>
|
||||
<div class="perm-desc">Can view analytical reports<</div>
|
||||
<div class="perm-name">Active</div>
|
||||
<div class="perm-desc">Can login and use Documize</div>
|
||||
</div>
|
||||
{{ui/ui-spacer size=300}}
|
||||
|
||||
<div class="form-group mt-5 mb-3">
|
||||
<div class="form-group">
|
||||
{{focus-input type="text" class="form-control" placeholder="filter users" value=filter}}
|
||||
<small class="form-text text-muted">search firstname, lastname, email</small>
|
||||
</div>
|
||||
|
||||
<div class="max-results py-3">
|
||||
<div class="btn-group btn-group-toggle">
|
||||
{{#attach-tooltip showDelay=1000}}Number of users to display{{/attach-tooltip}}
|
||||
<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 class="text-center">
|
||||
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false tooltip="Maximum users to display"}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="1" onClick=(action "onLimit" 1)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="10" onClick=(action "onLimit" 10)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="25" onClick=(action "onLimit" 25)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="50" onClick=(action "onLimit" 50)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="100" onClick=(action "onLimit" 100)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="250" onClick=(action "onLimit" 250)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="500" onClick=(action "onLimit" 500)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="1,000" onClick=(action "onLimit" 1000)}}
|
||||
{{ui/ui-toolbar-label color=constants.Color.Gray label="ALL" onClick=(action "onLimit" 99999)}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</div>
|
||||
|
||||
<table class="table table-responsive table-borderless user-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-muted">
|
||||
<th class="no-width"></th>
|
||||
<th>
|
||||
{{#if hasSelectedUsers}}
|
||||
<button id="bulk-delete-users" type="button" class="btn btn-danger" data-toggle="modal" data-target="#admin-user-delete-modal"
|
||||
data-backdrop="static">Delete selected users</button>
|
||||
{{ui/ui-button
|
||||
id="bulk-delete-users"
|
||||
color=constants.Color.Red
|
||||
light=false
|
||||
icon=constants.Icon.Delete
|
||||
label="Delete selected users"
|
||||
onClick=(action "onShowDeleteBulk")}}
|
||||
{{/if}}
|
||||
</th>
|
||||
<th class="no-width">Spaces</th>
|
||||
<th class="no-width">Visible</th>
|
||||
<th class="no-width">Admin</th>
|
||||
<th class="no-width">Analytics</th>
|
||||
<th class="no-width">Admin</th>
|
||||
<th class="no-width">Active</th>
|
||||
<th class="no-width">
|
||||
</th>
|
||||
<th class="no-width"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{#each users key="id" as |user|}}
|
||||
<tr>
|
||||
<td class="{{unless user.active "inactive-user"}} {{if user.admin "admin-user"}}">
|
||||
<div class="d-inline-block align-top">
|
||||
<tr>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#if user.me}}
|
||||
<i class="material-icons color-gray-700">check_box_outline_blank</i>
|
||||
<i class="user-checkbox dicon {{constants.Icon.NotAllowed}}" />
|
||||
{{else if user.selected}}
|
||||
<i class="material-icons checkbox" {{action "toggleSelect" user}}>check_box</i>
|
||||
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleSelect" user}} />
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleSelect" user}}>check_box_outline_blank</i>
|
||||
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleSelect" user}} />
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="d-inline-block">
|
||||
<div class="name" {{action "onShowEdit" user.id}}>{{user.fullname}}<div class="email"> ({{user.email}})</div>
|
||||
</td>
|
||||
<td class="{{unless user.active "inactive-user"}} {{if user.admin "admin-user"}}">
|
||||
<div class="name" {{action "onShowEdit" user.id}}>
|
||||
{{user.fullname}}
|
||||
<div class="email">{{user.email}}</div>
|
||||
</div>
|
||||
<div class="groups" {{action "onShowGroupsModal" user.id}}>
|
||||
{{#each user.groups as |group|}}
|
||||
<span class="group">
|
||||
{{group.name}}{{#if (not-eq group user.groups.lastObject)}}, {{/if}}
|
||||
</span>
|
||||
<span class="group">
|
||||
{{group.name}}{{#if (not-eq group user.groups.lastObject)}}, {{/if}}
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="group"><no groups></span>
|
||||
<span class="group"><no groups></span>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.editor}}
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleEditor" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.viewUsers}}
|
||||
<i class="material-icons checkbox" {{action "toggleUsers" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleUsers" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.me}}
|
||||
<i class="material-icons color-gray-700">check_box</i>
|
||||
{{else if user.admin}}
|
||||
<i class="material-icons checkbox" {{action "toggleAdmin" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleAdmin" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.analytics}}
|
||||
<i class="material-icons checkbox" {{action "toggleAnalytics" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleAnalytics" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
{{#if user.me}}
|
||||
<i class="material-icons color-gray-700">check_box</i>
|
||||
{{else if user.active}}
|
||||
<i class="material-icons checkbox" {{action "toggleActive" user.id}}>check_box</i>
|
||||
{{else}}
|
||||
<i class="material-icons checkbox" {{action "toggleActive" user.id}}>check_box_outline_blank</i>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center">
|
||||
<div class="user-button-{{user.id}} button-icon-gray button-icon-small" title="Edit"
|
||||
{{action "onShowEdit" user.id}}>
|
||||
<i class="material-icons">mode_edit</i>
|
||||
{{#attach-tooltip showDelay=1000}}Edit user{{/attach-tooltip}}
|
||||
</div>
|
||||
{{#unless user.me}}
|
||||
<div class="button-icon-gap" />
|
||||
<div class="delete-button-{{user.id}} button-icon-red button-icon-small" title="Delete"
|
||||
{{action "onShowDelete" user.id}}>
|
||||
<i class="material-icons">delete</i>
|
||||
{{#attach-tooltip showDelay=1000}}Delete user{{/attach-tooltip}}
|
||||
</div>
|
||||
{{/unless}}
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#if user.editor}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleEditor" user.id}} />
|
||||
{{else}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleEditor" user.id}} />
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#if user.viewUsers}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleUsers" user.id}} />
|
||||
{{else}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleUsers" user.id}} />
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#if user.analytics}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleAnalytics" user.id}} />
|
||||
{{else}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleAnalytics" user.id}} />
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#if user.me}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.NotAllowed}}" />
|
||||
{{else if user.admin}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleAdmin" user.id}} />
|
||||
{{else}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleAdmin" user.id}} />
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#if user.me}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.NotAllowed}}" />
|
||||
{{else if user.active}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleActive" user.id}} />
|
||||
{{else}}
|
||||
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleActive" user.id}} />
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="no-width text-center align-middle">
|
||||
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Edit color=constants.Color.Gray tooltip="Edit user" onClick=(action "onShowEdit" user.id)}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.AddUser color=constants.Color.Gray tooltip="Assign user groups" onClick=(action "onShowGroupsModal" user.id)}}
|
||||
{{#unless user.me}}
|
||||
{{ui/ui-toolbar-icon icon=constants.Icon.Delete color=constants.Color.Red tooltip="Delete user" onClick=(action "onShowDelete" user.id)}}
|
||||
{{/unless}}
|
||||
{{/ui/ui-toolbar}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Delete User" confirmCaption="Delete" buttonColor=constants.Color.Red show=showDeleteDialog onAction=(action "onDelete")}}
|
||||
<p>Are you sure you want to delete {{deleteUser.fullname}}?</p>
|
||||
{{/ui/ui-dialog}}
|
||||
|
||||
<div id="edit-user-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
|
@ -218,18 +199,13 @@
|
|||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onUpdate"}}>Save</button>
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Close dismiss=true}}
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Update onClick=(action "onUpdate")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#ui/ui-dialog title="Delete User" confirmCaption="Delete" buttonType="btn-danger" show=showDeleteDialog
|
||||
onAction=(action "onDelete")}}
|
||||
<p>Are you sure you want to delete {{deleteUser.fullname}}?</p>
|
||||
{{/ui/ui-dialog}}
|
||||
|
||||
<div id="admin-user-delete-modal" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
|
@ -238,8 +214,8 @@ onAction=(action "onDelete")}}
|
|||
<p>Are you sure you want to delete selected users?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn btn-success" onclick={{action "onBulkDelete"}}>Delete</button>
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Close dismiss=true}}
|
||||
{{ui/ui-button color=constants.Color.Red light=true label=constants.Label.Delete onClick=(action "onBulkDelete")}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -251,19 +227,19 @@ onAction=(action "onDelete")}}
|
|||
<div class="modal-header">{{selectedUser.fullname}}</div>
|
||||
<div class="modal-body">
|
||||
<div class="view-customize">
|
||||
<div class="group-membership my-5">
|
||||
<div class="group-membership">
|
||||
{{#each groups as |group|}}
|
||||
<div class="row item">
|
||||
<div class="col-10 group-name">{{group.name}}
|
||||
{{#if group.purpose}}
|
||||
<span class="text-muted group-purpose"> — {{group.purpose}}</span>
|
||||
<span class="group-purpose"> — {{group.purpose}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="col-2 text-right">
|
||||
{{#if group.isMember}}
|
||||
<button class="btn btn-danger" {{action "onLeaveGroup" group.id}}>Leave</button>
|
||||
{{ui/ui-button color=constants.Color.Red light=true label=constants.Label.Leave onClick=(action "onLeaveGroup" group.id)}}
|
||||
{{else}}
|
||||
<button class="btn btn-success" {{action "onJoinGroup" group.id}}>Join</button>
|
||||
{{ui/ui-button color=constants.Color.Green light=true label=constants.Label.Join onClick=(action "onJoinGroup" group.id)}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -272,7 +248,7 @@ onAction=(action "onDelete")}}
|
|||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
|
||||
{{ui/ui-button color=constants.Color.Gray light=true label=constants.Label.Close dismiss=true}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue