2018-12-14 15:47:41 +00:00
|
|
|
<div class="view-customize">
|
2019-05-13 16:50:20 +01:00
|
|
|
{{#if isAuthProviderKeycloak}}
|
2019-05-28 10:59:48 +01:00
|
|
|
<Ui::UiSpacer @size="300" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{#if syncInProgress}}
|
2022-03-03 14:03:48 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Gray light=true icon=constants.Icon.Locked label=(localize 'auth_keycloak_running')}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-03-03 14:03:48 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Locked label=(localize 'auth_keycloak_sync') onClick=(action "onSyncKeycloak")}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/if}}
|
2018-09-04 17:19:26 +01:00
|
|
|
{{/if}}
|
2018-12-14 15:47:41 +00:00
|
|
|
|
2019-08-16 10:37:58 +01:00
|
|
|
{{#if (or isAuthProviderLDAP isDualAuth)}}
|
2019-05-28 10:59:48 +01:00
|
|
|
<Ui::UiSpacer @size="300" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{#if syncInProgress}}
|
2022-03-03 14:03:48 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Gray light=true icon=constants.Icon.Locked label=(localize 'auth_ldap_running')}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-03-03 14:03:48 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Yellow light=true icon=constants.Icon.Locked label=(localize 'auth_ldap_sync') onClick=(action "onSyncLDAP")}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/if}}
|
2018-08-20 17:17:25 +01:00
|
|
|
{{/if}}
|
2018-04-05 19:59:57 +01:00
|
|
|
|
2019-05-28 10:59:48 +01:00
|
|
|
<Ui::UiSpacer @size="300" />
|
2018-12-14 15:47:41 +00:00
|
|
|
<div class="explain-user-perms">
|
2018-12-16 12:56:50 +00:00
|
|
|
<div class="title" {{action "togglePerms"}}>
|
2022-03-03 14:03:48 -05:00
|
|
|
{{localize 'permissions'}}
|
2018-12-16 12:56:50 +00:00
|
|
|
{{#if showPermExplain}}
|
|
|
|
<i class="dicon {{constants.Icon.ArrowSmallUp}}" />
|
|
|
|
{{else}}
|
|
|
|
<i class="dicon {{constants.Icon.ArrowSmallDown}}" />
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
<div class="perms">
|
2022-03-03 14:03:48 -05:00
|
|
|
<div class="perm-name">{{localize 'permission_spaces'}}</div>
|
|
|
|
<div class="perm-desc">{{localize 'permission_spaces_explain'}}</div>
|
|
|
|
<div class="perm-name">{{localize 'permission_visible'}}</div>
|
|
|
|
<div class="perm-desc">{{localize 'permission_visible_explain'}}</div>
|
|
|
|
<div class="perm-name">{{localize 'permission_admin'}}</div>
|
|
|
|
<div class="perm-desc">{{localize 'permission_admin_explain'}}</div>
|
|
|
|
<div class="perm-name">{{localize 'permission_analytics'}}</div>
|
|
|
|
<div class="perm-desc">{{localize 'permission_analytics_explain'}}<</div>
|
|
|
|
<div class="perm-name">{{localize 'permission_active'}}</div>
|
|
|
|
<div class="perm-desc">{{localize 'permission_active_explain'}}</div>
|
2018-12-16 12:56:50 +00:00
|
|
|
</div>
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
2019-05-28 10:59:48 +01:00
|
|
|
<Ui::UiSpacer @size="300" />
|
2018-03-01 19:14:27 +00:00
|
|
|
|
2018-12-14 15:47:41 +00:00
|
|
|
<div class="form-group">
|
2022-03-03 14:03:48 -05:00
|
|
|
{{focus-input type="text" class="form-control" placeholder=(localize 'find_user') value=filter key-up=(action "onFilterChange")}}
|
|
|
|
<small class="form-text text-muted">{{localize 'find_user_syntax'}}</small>
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
|
|
|
|
2018-12-14 15:47:41 +00:00
|
|
|
<div class="text-center">
|
2022-03-03 14:03:48 -05:00
|
|
|
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false tooltip=(localize 'user_max_display')}}
|
2018-12-16 12:56:50 +00:00
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="5" selected=(eq userLimit 5) onClick=(action "onLimit" 5)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="10" selected=(eq userLimit 10) onClick=(action "onLimit" 10)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="25" selected=(eq userLimit 25) onClick=(action "onLimit" 25)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="50" selected=(eq userLimit 50) onClick=(action "onLimit" 50)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="100" selected=(eq userLimit 100) onClick=(action "onLimit" 100)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="250" selected=(eq userLimit 250) onClick=(action "onLimit" 250)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="500" selected=(eq userLimit 500) onClick=(action "onLimit" 500)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="1,000" selected=(eq userLimit 1000) onClick=(action "onLimit" 1000)}}
|
|
|
|
{{ui/ui-toolbar-label color=constants.Color.Gray label="ALL" selected=(eq userLimit 99999) onClick=(action "onLimit" 99999)}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/ui/ui-toolbar}}
|
2018-08-20 17:17:25 +01:00
|
|
|
</div>
|
|
|
|
|
2018-03-01 19:14:27 +00:00
|
|
|
<table class="table table-responsive table-borderless user-table">
|
2018-03-01 10:58:55 +00:00
|
|
|
<thead>
|
|
|
|
<tr>
|
2018-12-14 15:47:41 +00:00
|
|
|
<th class="no-width"></th>
|
|
|
|
<th>
|
2018-03-01 19:14:27 +00:00
|
|
|
{{#if hasSelectedUsers}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{ui/ui-button
|
|
|
|
id="bulk-delete-users"
|
|
|
|
color=constants.Color.Red
|
|
|
|
light=false
|
|
|
|
icon=constants.Icon.Delete
|
2022-03-03 14:03:48 -05:00
|
|
|
label=(localize 'delete')
|
2018-12-14 15:47:41 +00:00
|
|
|
onClick=(action "onShowDeleteBulk")}}
|
2018-04-05 19:59:57 +01:00
|
|
|
{{/if}}
|
2018-03-01 19:14:27 +00:00
|
|
|
</th>
|
2022-03-03 14:03:48 -05:00
|
|
|
<th class="no-width">{{localize 'permission_spaces'}}</th>
|
|
|
|
<th class="no-width">{{localize 'permission_visible'}}</th>
|
|
|
|
<th class="no-width">{{localize 'permission_analytics'}}</th>
|
|
|
|
<th class="no-width">{{localize 'permission_admin'}}</th>
|
|
|
|
<th class="no-width">{{localize 'permission_active'}}</th>
|
2018-12-14 15:47:41 +00:00
|
|
|
<th class="no-width"></th>
|
2018-03-01 10:58:55 +00:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2018-03-01 19:14:27 +00:00
|
|
|
{{#each users key="id" as |user|}}
|
2018-12-14 15:47:41 +00:00
|
|
|
<tr>
|
|
|
|
<td class="no-width text-center align-middle">
|
2018-03-01 10:58:55 +00:00
|
|
|
{{#if user.me}}
|
2018-12-14 15:47:41 +00:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.NotAllowed}}" />
|
2018-12-12 13:35:16 +00:00
|
|
|
{{else if user.selected}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleSelect" user}} role="button" tabindex="0" />
|
2018-03-01 10:58:55 +00:00
|
|
|
{{else}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleSelect" user}} role="button" tabindex="0" />
|
2018-03-01 10:58:55 +00:00
|
|
|
{{/if}}
|
2018-12-14 15:47:41 +00:00
|
|
|
</td>
|
|
|
|
<td class="{{unless user.active "inactive-user"}} {{if user.admin "admin-user"}}">
|
2022-01-11 12:40:52 -05:00
|
|
|
<div class="name" {{action "onShowEdit" user.id}} role="button" tabindex="0">
|
2018-12-14 15:47:41 +00:00
|
|
|
{{user.fullname}}
|
|
|
|
<div class="email">{{user.email}}</div>
|
2018-03-02 11:28:45 +00:00
|
|
|
</div>
|
2022-01-11 12:40:52 -05:00
|
|
|
<div class="groups" {{action "onShowGroupsModal" user.id}} role="button" tabindex="0">
|
2018-12-12 13:35:16 +00:00
|
|
|
{{#each user.groups as |group|}}
|
2018-12-14 15:47:41 +00:00
|
|
|
<span class="group">
|
|
|
|
{{group.name}}{{#if (not-eq group user.groups.lastObject)}}, {{/if}}
|
|
|
|
</span>
|
2018-12-12 13:35:16 +00:00
|
|
|
{{else}}
|
2022-03-03 14:03:48 -05:00
|
|
|
<span class="group"><{{localize 'group_none'}}></span>
|
2018-12-12 13:35:16 +00:00
|
|
|
{{/each}}
|
|
|
|
</div>
|
2018-12-14 15:47:41 +00:00
|
|
|
</td>
|
|
|
|
<td class="no-width text-center align-middle">
|
|
|
|
{{#if user.editor}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleEditor" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleEditor" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td class="no-width text-center align-middle">
|
|
|
|
{{#if user.viewUsers}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleUsers" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleUsers" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td class="no-width text-center align-middle">
|
|
|
|
{{#if user.analytics}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleAnalytics" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleAnalytics" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/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}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleAdmin" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleAdmin" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/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}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.CheckboxChecked}}" {{action "toggleActive" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{else}}
|
2022-01-11 12:40:52 -05:00
|
|
|
<i class="user-checkbox dicon {{constants.Icon.Checkbox}}" {{action "toggleActive" user.id}} role="button" tabindex="0" />
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/if}}
|
|
|
|
</td>
|
|
|
|
<td class="no-width text-center align-middle">
|
|
|
|
{{#ui/ui-toolbar dark=false light=true raised=true large=false bordered=true}}
|
2022-03-03 14:03:48 -05:00
|
|
|
{{ui/ui-toolbar-icon icon=constants.Icon.Edit color=constants.Color.Gray tooltip=(localize 'edit') onClick=(action "onShowEdit" user.id)}}
|
|
|
|
{{ui/ui-toolbar-icon icon=constants.Icon.AddUser color=constants.Color.Gray tooltip=(localize 'user_assign_group') onClick=(action "onShowGroupsModal" user.id)}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{#unless user.me}}
|
2022-03-03 14:03:48 -05:00
|
|
|
{{ui/ui-toolbar-icon icon=constants.Icon.Delete color=constants.Color.Red tooltip=(localize 'delete') onClick=(action "onShowDelete" user.id)}}
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/unless}}
|
|
|
|
{{/ui/ui-toolbar}}
|
|
|
|
</td>
|
|
|
|
</tr>
|
2018-03-01 10:58:55 +00:00
|
|
|
{{/each}}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
|
2022-03-08 13:05:30 -05:00
|
|
|
{{#ui/ui-dialog title="Delete User" confirmCaption=(localize 'delete') buttonColor=constants.Color.Red show=showDeleteDialog onAction=(action "onDelete")}}
|
2022-03-03 14:03:48 -05:00
|
|
|
<p>{{localize 'user_delete_confirm' deleteUser.fullname}}</p>
|
2018-12-14 15:47:41 +00:00
|
|
|
{{/ui/ui-dialog}}
|
|
|
|
|
2018-03-01 10:58:55 +00:00
|
|
|
<div id="edit-user-modal" class="modal" tabindex="-1" role="dialog">
|
|
|
|
<div class="modal-dialog" role="document">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">User {{editUser.firstname}} {{editUser.lastname}}</div>
|
|
|
|
<div class="modal-body">
|
2022-01-11 12:40:52 -05:00
|
|
|
<form role="form">
|
2018-03-01 10:58:55 +00:00
|
|
|
<div class="form-group">
|
2022-03-03 14:03:48 -05:00
|
|
|
<label for="edit-firstname">{{localize 'firstname'}}</label>
|
2018-03-01 10:58:55 +00:00
|
|
|
{{input id="edit-firstname" class="form-control" type="text" value=editUser.firstname}}
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
2022-03-03 14:03:48 -05:00
|
|
|
<label for="edit-lastname">{{localize 'lastname'}}</label>
|
2018-03-01 10:58:55 +00:00
|
|
|
{{input id="edit-lastname" type="text" class="form-control" value=editUser.lastname}}
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
2022-03-03 14:03:48 -05:00
|
|
|
<label for="edit-email">{{localize 'email'}}</label>
|
2018-03-01 10:58:55 +00:00
|
|
|
{{input id="edit-email" type="text" class="form-control" value=editUser.email}}
|
|
|
|
</div>
|
2019-05-13 16:50:20 +01:00
|
|
|
{{#if (or isAuthProviderDocumize isDualAuth)}}
|
2018-12-21 11:46:51 +00:00
|
|
|
<div class="form-group">
|
2022-03-03 14:03:48 -05:00
|
|
|
<label for="edit-password">{{localize 'password'}}</label>
|
2018-12-21 11:46:51 +00:00
|
|
|
{{input id="edit-password" type="password" class="form-control" value=password.password}}
|
2022-03-03 14:03:48 -05:00
|
|
|
<small class="form-text text-muted">Optional</small>
|
2018-12-12 13:35:16 +00:00
|
|
|
</div>
|
2018-12-21 11:46:51 +00:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="edit-confirmPassword">Confirm Password</label>
|
|
|
|
{{input id="edit-confirmPassword" type="password" class="form-control" value=password.confirmation}}
|
2022-03-03 14:03:48 -05:00
|
|
|
<small class="form-text text-muted"></small>
|
2018-03-01 10:58:55 +00:00
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Gray light=true label=(localize 'close') dismiss=true}}
|
2019-01-04 16:33:30 +00:00
|
|
|
{{ui/ui-button-gap}}
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Green light=true label=(localize 'update') onClick=(action "onUpdate")}}
|
2018-03-01 10:58:55 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-03-01 19:14:27 +00:00
|
|
|
<div id="admin-user-delete-modal" class="modal" tabindex="-1" role="dialog">
|
|
|
|
<div class="modal-dialog" role="document">
|
|
|
|
<div class="modal-content">
|
2022-03-03 14:03:48 -05:00
|
|
|
<div class="modal-header">{{localize 'user_delete'}}</div>
|
2018-03-01 19:14:27 +00:00
|
|
|
<div class="modal-body">
|
2022-03-03 14:03:48 -05:00
|
|
|
<p>{{localize 'user_selected_delete_confirm'}}</p>
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Gray light=true label=(localize 'close') dismiss=true}}
|
2018-12-21 11:15:59 +00:00
|
|
|
{{ui/ui-button-gap}}
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Red light=true label=(localize 'delete') onClick=(action "onBulkDelete")}}
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="group-member-modal" class="modal" tabindex="-1" role="dialog">
|
|
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header">{{selectedUser.fullname}}</div>
|
|
|
|
<div class="modal-body">
|
2018-12-21 11:46:51 +00:00
|
|
|
{{#each groups as |group|}}
|
|
|
|
<div class="grid-container-8-2">
|
|
|
|
<div class="grid-cell-1">
|
|
|
|
<div class="view-customize">
|
|
|
|
<div class="group-membership">
|
|
|
|
<div class="item">
|
|
|
|
<div class="group-name">{{group.name}}
|
|
|
|
{{#if group.purpose}}
|
|
|
|
<span class="group-purpose"> — {{group.purpose}}</span>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
2018-12-21 11:46:51 +00:00
|
|
|
</div>
|
|
|
|
<div class="grid-cell-2 grid-cell-right">
|
|
|
|
<div class="view-customize">
|
|
|
|
<div class="group-membership">
|
|
|
|
<div class="item">
|
|
|
|
{{#if group.isMember}}
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Red light=true label=(localize 'leave') onClick=(action "onLeaveGroup" group.id)}}
|
2018-12-21 11:46:51 +00:00
|
|
|
{{else}}
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Green light=true label=(localize 'join') onClick=(action "onJoinGroup" group.id)}}
|
2018-12-21 11:46:51 +00:00
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-12-12 13:35:16 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
2018-12-21 11:46:51 +00:00
|
|
|
{{/each}}
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
2022-03-01 22:40:51 -05:00
|
|
|
{{ui/ui-button color=constants.Color.Gray light=true label=(localize 'close') dismiss=true}}
|
2018-03-01 19:14:27 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-12-12 13:35:16 +00:00
|
|
|
</div>
|