Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 1x | <div class="row">
<div class="col-md-12">
<h1>{{ 'account.user.new.heading' | translate }}</h1>
<form
[formGroup]="form"
ishFormSubmit
#userForm="ngForm"
class="form-horizontal"
novalidate
(ngSubmit)="submitForm()"
>
<ish-user-profile-form [form]="profile" [error]="userError$ | async" />
<ish-user-roles-selection formControlName="roleIDs" />
@if ('services.OrderApprovalServiceDefinition.runnable' | ishServerSetting) {
<ish-user-budget-form [form]="budgetForm" />
}
<div class="row">
<div class="offset-md-4 col-md-8">
@if (form.invalid && userForm.submitted) {
<div id="submit-button-help" aria-live="polite" class="visually-hidden">
{{ 'form.submit.validation.message' | translate }}
</div>
}
<button
type="submit"
class="btn btn-primary"
[attr.aria-describedby]="form.invalid && userForm.submitted ? 'submit-button-help' : null"
data-testing-id="create-user-submit"
>
{{ 'account.user.new.button.create.label' | translate }}
</button>
<a routerLink="../" class="btn btn-secondary" data-testing-id="create-user-cancel">{{
'account.cancel.link' | translate
}}</a>
</div>
</div>
</form>
</div>
@if (loading$ | async) {
<ish-loading />
}
</div>
<ish-user-csv-import />
|