|
|
|
@ -102,109 +102,110 @@
|
|
|
|
|
></ng-template>
|
|
|
|
|
|
|
|
|
|
<form *ngIf="form; else loaderRef" [formGroup]="form" (ngSubmit)="save()">
|
|
|
|
|
<ngb-tabset>
|
|
|
|
|
<ngb-tab [title]="'AbpIdentity::UserInformations' | abpLocalization">
|
|
|
|
|
<ng-template ngbTabContent>
|
|
|
|
|
<div class="mt-2 fade-in-top">
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="user-name">{{ 'AbpIdentity::UserName' | abpLocalization }}</label
|
|
|
|
|
><span> * </span>
|
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
id="user-name"
|
|
|
|
|
class="form-control"
|
|
|
|
|
formControlName="userName"
|
|
|
|
|
autofocus
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<ul ngbNav #nav="ngbNav" class="nav-tabs">
|
|
|
|
|
<li ngbNavItem>
|
|
|
|
|
<a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>
|
|
|
|
|
<ng-template ngbNavContent>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="user-name">{{ 'AbpIdentity::UserName' | abpLocalization }}</label
|
|
|
|
|
><span> * </span>
|
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
id="user-name"
|
|
|
|
|
class="form-control"
|
|
|
|
|
formControlName="userName"
|
|
|
|
|
autofocus
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="name">{{ 'AbpIdentity::DisplayName:Name' | abpLocalization }}</label>
|
|
|
|
|
<input type="text" id="name" class="form-control" formControlName="name" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="name">{{ 'AbpIdentity::DisplayName:Name' | abpLocalization }}</label>
|
|
|
|
|
<input type="text" id="name" class="form-control" formControlName="name" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="surname">{{
|
|
|
|
|
'AbpIdentity::DisplayName:Surname' | abpLocalization
|
|
|
|
|
}}</label>
|
|
|
|
|
<input type="text" id="surname" class="form-control" formControlName="surname" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="surname">{{
|
|
|
|
|
'AbpIdentity::DisplayName:Surname' | abpLocalization
|
|
|
|
|
}}</label>
|
|
|
|
|
<input type="text" id="surname" class="form-control" formControlName="surname" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="password">{{ 'AbpIdentity::Password' | abpLocalization }}</label
|
|
|
|
|
><span *ngIf="!selected.userName"> * </span>
|
|
|
|
|
<input
|
|
|
|
|
type="password"
|
|
|
|
|
id="password"
|
|
|
|
|
autocomplete="new-password"
|
|
|
|
|
class="form-control"
|
|
|
|
|
formControlName="password"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="password">{{ 'AbpIdentity::Password' | abpLocalization }}</label
|
|
|
|
|
><span *ngIf="!selected.userName"> * </span>
|
|
|
|
|
<input
|
|
|
|
|
type="password"
|
|
|
|
|
id="password"
|
|
|
|
|
autocomplete="new-password"
|
|
|
|
|
class="form-control"
|
|
|
|
|
formControlName="password"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="email">{{ 'AbpIdentity::EmailAddress' | abpLocalization }}</label
|
|
|
|
|
><span> * </span>
|
|
|
|
|
<input type="text" id="email" class="form-control" formControlName="email" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="email">{{ 'AbpIdentity::EmailAddress' | abpLocalization }}</label
|
|
|
|
|
><span> * </span>
|
|
|
|
|
<input type="text" id="email" class="form-control" formControlName="email" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="phone-number">{{ 'AbpIdentity::PhoneNumber' | abpLocalization }}</label>
|
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
id="phone-number"
|
|
|
|
|
class="form-control"
|
|
|
|
|
formControlName="phoneNumber"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="phone-number">{{ 'AbpIdentity::PhoneNumber' | abpLocalization }}</label>
|
|
|
|
|
<input
|
|
|
|
|
type="text"
|
|
|
|
|
id="phone-number"
|
|
|
|
|
class="form-control"
|
|
|
|
|
formControlName="phoneNumber"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="custom-checkbox custom-control mb-2">
|
|
|
|
|
<input
|
|
|
|
|
type="checkbox"
|
|
|
|
|
id="lockout-checkbox"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
formControlName="lockoutEnabled"
|
|
|
|
|
/>
|
|
|
|
|
<label class="custom-control-label" for="lockout-checkbox">{{
|
|
|
|
|
'AbpIdentity::DisplayName:LockoutEnabled' | abpLocalization
|
|
|
|
|
}}</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="custom-checkbox custom-control mb-2">
|
|
|
|
|
<input
|
|
|
|
|
type="checkbox"
|
|
|
|
|
id="lockout-checkbox"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
formControlName="lockoutEnabled"
|
|
|
|
|
/>
|
|
|
|
|
<label class="custom-control-label" for="lockout-checkbox">{{
|
|
|
|
|
'AbpIdentity::DisplayName:LockoutEnabled' | abpLocalization
|
|
|
|
|
}}</label>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="custom-checkbox custom-control mb-2">
|
|
|
|
|
<input
|
|
|
|
|
type="checkbox"
|
|
|
|
|
id="two-factor-checkbox"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
formControlName="twoFactorEnabled"
|
|
|
|
|
/>
|
|
|
|
|
<label class="custom-control-label" for="two-factor-checkbox">{{
|
|
|
|
|
'AbpIdentity::DisplayName:TwoFactorEnabled' | abpLocalization
|
|
|
|
|
}}</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="custom-checkbox custom-control mb-2">
|
|
|
|
|
<input
|
|
|
|
|
type="checkbox"
|
|
|
|
|
id="two-factor-checkbox"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
formControlName="twoFactorEnabled"
|
|
|
|
|
/>
|
|
|
|
|
<label class="custom-control-label" for="two-factor-checkbox">{{
|
|
|
|
|
'AbpIdentity::DisplayName:TwoFactorEnabled' | abpLocalization
|
|
|
|
|
}}</label>
|
|
|
|
|
</div>
|
|
|
|
|
</ng-template>
|
|
|
|
|
</ngb-tab>
|
|
|
|
|
<ngb-tab [title]="'AbpIdentity::Roles' | abpLocalization">
|
|
|
|
|
<ng-template ngbTabContent>
|
|
|
|
|
<div class="mt-2 fade-in-top">
|
|
|
|
|
<div
|
|
|
|
|
*ngFor="let roleGroup of roleGroups; let i = index; trackBy: trackByFn"
|
|
|
|
|
class="custom-checkbox custom-control mb-2"
|
|
|
|
|
>
|
|
|
|
|
<input
|
|
|
|
|
type="checkbox"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
[attr.id]="'roles-' + i"
|
|
|
|
|
[formControl]="roleGroup.controls[roles[i].name]"
|
|
|
|
|
/>
|
|
|
|
|
<label class="custom-control-label" [attr.for]="'roles-' + i">{{
|
|
|
|
|
roles[i].name
|
|
|
|
|
}}</label>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li ngbNavItem>
|
|
|
|
|
<a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>
|
|
|
|
|
<ng-template ngbNavContent>
|
|
|
|
|
<div
|
|
|
|
|
*ngFor="let roleGroup of roleGroups; let i = index; trackBy: trackByFn"
|
|
|
|
|
class="custom-checkbox custom-control mb-2"
|
|
|
|
|
>
|
|
|
|
|
<input
|
|
|
|
|
type="checkbox"
|
|
|
|
|
class="custom-control-input"
|
|
|
|
|
[attr.id]="'roles-' + i"
|
|
|
|
|
[formControl]="roleGroup.controls[roles[i].name]"
|
|
|
|
|
/>
|
|
|
|
|
<label class="custom-control-label" [attr.for]="'roles-' + i">{{
|
|
|
|
|
roles[i].name
|
|
|
|
|
}}</label>
|
|
|
|
|
</div>
|
|
|
|
|
</ng-template>
|
|
|
|
|
</ngb-tab>
|
|
|
|
|
</ngb-tabset>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<div class="mt-2 fade-in-top" [ngbNavOutlet]="nav"></div>
|
|
|
|
|
</form>
|
|
|
|
|
</ng-template>
|
|
|
|
|
|
|
|
|
|