Files
backroad/app/portainer/views/users/users.html
Ali 58d66d3142 chore(prettier): add tailwind prettier plugin [EE-4809] (#8221)
* add prettier plugin

* apply tailwind prettier formatting
2023-02-13 10:04:24 +13:00

183 lines
8.0 KiB
HTML

<page-header title="'Users'" breadcrumbs="['User management']" reload="true"> </page-header>
<div class="row" ng-if="isAdmin">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
<rd-widget-header icon="plus" title-text="Add a new user"> </rd-widget-header>
<rd-widget-body>
<form name="form" class="form-horizontal">
<!-- name-input -->
<div class="form-group">
<label for="username" class="col-sm-3 col-lg-2 control-label required text-left">
Username
<portainer-tooltip ng-if="AuthenticationMethod === 2" message="'Username must exactly match username defined in external LDAP source.'"></portainer-tooltip>
</label>
<div class="col-sm-8">
<div class="input-group">
<input
type="text"
class="form-control"
id="username"
ng-model="formValues.Username"
ng-change="checkUsernameValidity()"
placeholder="e.g. jdoe"
auto-focus
data-cy="user-usernameInput"
/>
<span class="input-group-addon">
<pr-icon mode="'success'" icon="'check'" ng-if="state.validUsername"></pr-icon>
<pr-icon mode="'danger'" icon="'x'" ng-if="!state.validUsername"></pr-icon>
</span>
</div>
</div>
</div>
<!-- !name-input -->
<!-- new-password-input -->
<div class="form-group" ng-if="AuthenticationMethod === 1">
<label for="password" class="col-sm-3 col-lg-2 control-label required text-left">Password</label>
<div class="col-sm-8">
<input
type="password"
class="form-control"
ng-model="formValues.Password"
id="password"
name="password"
ng-minlength="requiredPasswordLength"
data-cy="user-passwordInput"
/>
</div>
</div>
<!-- !new-password-input -->
<!-- confirm-password-input -->
<div class="form-group" ng-if="AuthenticationMethod === 1">
<label for="confirm_password" class="col-sm-3 col-lg-2 control-label required text-left">Confirm password</label>
<div class="col-sm-8">
<div class="input-group">
<input
type="password"
class="form-control form-control--has-icon"
ng-model="formValues.ConfirmPassword"
id="confirm_password"
data-cy="user-passwordConfirmInput"
/>
<span class="input-group-addon">
<pr-icon
mode="'success'"
icon="'check'"
aria-hidden="true"
ng-if="form.password.$viewValue !== '' && form.password.$viewValue === formValues.ConfirmPassword"
></pr-icon>
<pr-icon
mode="'danger'"
icon="'x'"
aria-hidden="true"
ng-if="!(form.password.$viewValue !== '' && form.password.$viewValue === formValues.ConfirmPassword)"
></pr-icon>
</span>
</div>
</div>
</div>
<!-- !confirm-password-input -->
<!-- password-check-hint -->
<div class="form-group" ng-if="AuthenticationMethod === 1">
<div class="col-sm-3 col-lg-2"></div>
<div class="col-sm-8">
<password-check-hint password-valid="form.password.$valid && formValues.Password"></password-check-hint>
</div>
</div>
<!-- ! password-check-hint -->
<!-- admin-checkbox -->
<div class="form-group" ng-if="isAdmin">
<div class="col-sm-12">
<por-switch-field
label-class="'col-sm-3 col-lg-2 control-label text-left'"
checked="formValues.Administrator"
label="'Administrator'"
tooltip="'Administrators have access to Portainer settings management as well as full control over all defined environments and their resources.'"
on-change="(handleAdministratorChange)"
></por-switch-field>
</div>
</div>
<!-- !admin-checkbox -->
<!-- teams -->
<div class="form-group" ng-if="!formValues.Administrator">
<label class="col-sm-3 col-lg-2 control-label text-left" for="teams-selector">Add to team(s)</label>
<div class="col-sm-8">
<span class="small text-muted" ng-if="teams.length === 0">
You don't seem to have any teams to add users into. Head over to the <a ui-sref="portainer.teams">Teams view</a> to create some.
</span>
<teams-selector
ng-if="teams.length > 0"
value="formValues.TeamIds"
teams="teams"
placeholder="'Select one or more teams'"
data-cy="'user-teamSelect'"
on-change="(onChangeTeamIds)"
input-id="'teams-selector'"
disabled="teamSync"
></teams-selector>
</div>
</div>
<div class="form-group" ng-if="teamSync">
<div class="col-sm-12">
<span class="small">
<p class="small text-muted vertical-center">
<pr-icon icon="'alert-circle'" class-name="'icon-warning =vertical-center'"></pr-icon>
The team leader feature is disabled as external authentication is currently enabled with team sync.
</p>
</span>
</div>
</div>
<!-- !teams -->
<div class="form-group" ng-if="isAdmin && !formValues.Administrator && formValues.Teams.length === 0">
<div class="col-sm-12">
<span class="small text-muted vertical-center">
<pr-icon class="vertical-center" icon="'alert-circle'" aria-hidden="true" mode="'primary'" size="'md'"></pr-icon>
<span
>Note: non-administrator users who aren't in a team don't have access to any environments by default. Head over to the
<a ui-sref="portainer.endpoints">Environments view</a> to manage their accesses.</span
>
</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<button
type="button"
class="btn btn-primary btn-sm !ml-0"
ng-disabled="state.actionInProgress || !state.validUsername || formValues.Username === '' || (AuthenticationMethod === 1 && (!formValues.Password || form.$invalid || formValues.Password !== formValues.ConfirmPassword))"
ng-click="addUser()"
button-spinner="state.actionInProgress"
data-cy="user-createUserButton"
>
<span ng-hide="state.actionInProgress" class="vertical-center icon-white"> <pr-icon icon="'plus'" aria-hidden="true" size="'md'"></pr-icon> Create user</span>
<span ng-show="state.actionInProgress">Creating user...</span>
</button>
<span class="text-danger" ng-if="state.userCreationError">
<pr-icon icon="'alert-circle'" aria-hidden="true" mode="'primary'" size="'md'"></pr-icon> {{ state.userCreationError }}
</span>
</div>
</div>
</form>
</rd-widget-body>
</rd-widget>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<users-datatable
title-text="Users"
title-icon="user"
dataset="users"
table-key="users"
order-by="Username"
authentication-method="AuthenticationMethod"
remove-action="removeAction"
is-admin="isAdmin"
></users-datatable>
</div>
</div>