123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- <div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
- <ol class="breadcrumb">
- <li><a href="#/realms/{{realm.realm}}/users">{{:: 'users' | translate}}</a></li>
- <li>{{user.username}}</li>
- </ol>
- <kc-tabs-user></kc-tabs-user>
- <form class="form-horizontal" name="userForm" novalidate>
- <fieldset class="border-top" data-ng-show="user.federationLink || user.origin">
- <legend>
- <span class="text">{{:: 'supported-user-storage-credential-types' | translate}}</span>
- <kc-tooltip>{{:: 'supported-user-storage-credential-types.tooltip' | translate}}</kc-tooltip>
- </legend>
- <table class="datatable table table-bordered dataTable no-footer credentials-table">
- <thead>
- <tr>
- <th>{{:: 'type' | translate}}</th>
- <th>{{:: 'provided-by' | translate}}</th>
- </tr>
- </thead>
- <tr ng-repeat="credential in userStorageCredentialTypes">
- <td>
- <b>{{credential}}</b>
- </td>
- <td>
- <a href="{{getUserStorageProviderLink()}}">{{getUserStorageProviderName()}}</a>
- </td>
- </tr>
- </table>
- </fieldset>
- <fieldset class="border-top">
- <legend data-ng-show="user.federationLink || user.origin">
- <span class="text">{{:: 'manage-credentials' | translate}}</span>
- <kc-tooltip>{{:: 'manage-credentials.tooltip' | translate}}</kc-tooltip>
- </legend>
- <legend data-ng-hide="user.federationLink || user.origin">
- <span class="text">{{:: 'manage-credentials' | translate}}</span>
- </legend>
- <table class="datatable table table-bordered dataTable no-footer credentials-table">
- <thead>
- <tr>
- <th>{{:: 'position' | translate}}</th>
- <th>{{:: 'type' | translate}}</th>
- <th>{{:: 'user-label' | translate}}</th>
- <th>{{:: 'data' | translate}}</th>
- <th colspan="2">{{:: 'actions' | translate}}</th>
- </tr>
- </thead>
- <tr ng-repeat="credential in credentials">
- <td class="credential-arrows-cell">
- <button data-ng-disabled="$first" class="btn btn-default btn-sm" data-ng-click="moveUp(credentials, $index)"><i class="fa fa-angle-up"></i></button>
- <button data-ng-disabled="$last" class="btn btn-default btn-sm" data-ng-click="moveDown(credentials, $index)"><i class="fa fa-angle-down"></i></button>
- </td>
- <td>
- <b>{{credential.type}}</b>
- </td>
- <td class="credential-label-cell">
- <input type="text" class="form-control" data-ng-model="credential.userLabel"/>
- </td>
- <td class="credential-action-cell">
- <div class="kc-action-cell" data-ng-click="showData(credential.credentialData)">
- {{:: 'show-data' | translate}}
- </div>
- </td>
- <td class="credential-action-cell">
- <div class="kc-action-cell" data-ng-click="deleteCredential(credential)">
- {{:: 'delete' | translate}}
- </div>
- </td>
- <td class="credential-action-cell">
- <div class="kc-action-cell" data-ng-click="updateCredentialLabel(credential)">
- {{:: 'save' | translate}}
- </div>
- </td>
- </tr>
- </table>
- </fieldset>
- <fieldset class="border-top">
- <legend><span class="text">{{ (hasPassword ? 'reset-password' : 'set-password') | translate }}</span></legend>
- <div class="form-group">
- <label class="col-md-2 control-label" for="newPas">{{:: 'password' | translate}} <span class="required" data-ng-show="create">*</span></label>
- <div class="col-md-6">
- <input class="form-control" kc-password type="text" id="newPas" name="newPas" data-ng-model="password" required>
- </div>
- </div>
- <div class="form-group">
- <label class="col-md-2 control-label" for="confirmPas">{{:: 'password-confirmation' | translate}} <span class="required" data-ng-show="create">*</span></label>
- <div class="col-md-6">
- <input class="form-control" kc-password id="confirmPas" name="confirmPas" data-ng-model="confirmPassword" required>
- </div>
- </div>
- <div class="form-group clearfix block">
- <label class="col-md-2 control-label" for="temporaryPassword">{{:: 'temporary' | translate}}</label>
- <div class="col-md-6">
- <input ng-model="temporaryPassword" name="temporaryPassword" id="temporaryPassword" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
- </div>
- <kc-tooltip>{{:: 'credentials.temporary.tooltip' | translate}}</kc-tooltip>
- </div>
- <div class="form-group">
- <div class="col-md-10 col-md-offset-2">
- <button data-ng-disabled="!passwordAndConfirmPasswordEntered()" class="btn btn-default" type="submit" data-ng-click="resetPassword(true)">{{ (hasPassword ? 'reset-password' : 'set-password') | translate }}</button>
- </div>
- </div>
- </fieldset>
- <fieldset class="border-top" data-ng-show="user.disableableCredentialTypes && user.disableableCredentialTypes.length > 0">
- <legend><span class="text">{{:: 'disable-credentials' | translate}}</span></legend>
- <div class="form-group clearfix">
- <label class="col-md-2 control-label" for="credentialTypeList">{{:: 'disableable-credential-types' | translate}}</label>
- <div class="col-md-6">
- <select ui-select2 id="credentialTypeList" ng-model="disableableCredentialTypes" data-placeholder="{{:: 'select-a-type.placeholder' | translate}}" multiple>
- <option ng-repeat="credType in user.disableableCredentialTypes" value="{{credType}}">{{credType}}</option>
- </select>
- </div>
- <kc-tooltip>{{:: 'credentials.disableable.tooltip' | translate}}</kc-tooltip>
- </div>
- <div class="form-group clearfix">
- <label class="col-md-2 control-label" for="disableCredentialTypes">{{:: 'disable-credential-types' | translate}}</label>
- <div class="col-md-6">
- <button data-ng-disabled="disableableCredentialTypes.length === 0" type="button" id="disableCredentialTypes" class="btn btn-default" data-ng-click="disableCredentialTypes()">{{:: 'disable' | translate}}</button>
- </div>
- <kc-tooltip>{{:: 'credentials.disable.tooltip' | translate}}</kc-tooltip>
- </div>
- </fieldset>
- <fieldset class="border-top" data-ng-show="user.email">
- <legend><span class="text">{{:: 'credential-reset-actions' | translate}}</span></legend>
- <div class="form-group clearfix">
- <label class="col-md-2 control-label" for="reqActions">{{:: 'reset-actions' | translate}}</label>
- <div class="col-md-6">
- <select ui-select2 id="reqActions" ng-model="emailActions" data-placeholder="{{:: 'select-an-action.placeholder' | translate}}" multiple>
- <option ng-repeat="action in userReqActionList" value="{{action.alias}}">{{action.name}} ({{action.alias}})</option>
- </select>
- </div>
- <kc-tooltip>{{:: 'credentials.reset-actions.tooltip' | translate}}</kc-tooltip>
- </div>
- <div class="form-group clearfix">
- <label class="col-md-2 control-label" for="reqActionsEmailTimeout">{{:: 'credential-reset-actions-timeout' | translate}}</label>
- <div class="col-md-6 time-selector">
- <input class="form-control" type="number" required min="1" max="31536000" data-ng-model="emailActionsTimeout.time"
- id="reqActionsEmailTimeout" name="reqActionsEmailTimeout">
- <select class="form-control" name="reqActionsEmailTimeoutUnit" data-ng-model="emailActionsTimeout.unit">
- <option value="Minutes">{{:: 'minutes' | translate}}</option>
- <option value="Hours">{{:: 'hours' | translate}}</option>
- <option value="Days">{{:: 'days' | translate}}</option>
- </select>
- </div>
- <kc-tooltip>{{:: 'credential-reset-actions-timeout.tooltip' | translate}}</kc-tooltip>
- </div>
- <div class="form-group clearfix">
- <label class="col-md-2 control-label" for="reqActionsEmail">{{:: 'reset-actions-email' | translate}}</label>
- <div class="col-md-6">
- <button data-ng-disabled="emailActions.length === 0" type="button" id="reqActionsEmail" class="btn btn-default" data-ng-click="sendExecuteActionsEmail()">{{:: 'send-email' | translate}}</button>
- </div>
- <kc-tooltip>{{:: 'credentials.reset-actions-email.tooltip' | translate}}</kc-tooltip>
- </div>
- </fieldset>
- </form>
- </div>
- <kc-menu></kc-menu>
|