]>
Commit | Line | Data |
---|---|---|
b1d40cff C |
1 | <div i18n class="form-sub-title" *ngIf="isCreation() === true">Create user</div> |
2 | <div i18n class="form-sub-title" *ngIf="isCreation() === false">Edit user {{ username }}</div> | |
7da18e44 | 3 | |
04e0fc48 | 4 | <div *ngIf="error" class="alert alert-danger">{{ error }}</div> |
7da18e44 | 5 | |
04e0fc48 C |
6 | <form role="form" (ngSubmit)="formValidated()" [formGroup]="form"> |
7 | <div class="form-group" *ngIf="isCreation()"> | |
b1d40cff | 8 | <label i18n for="username">Username</label> |
04e0fc48 | 9 | <input |
b1d40cff | 10 | type="text" id="username" i18n-placeholder placeholder="john" |
04e0fc48 C |
11 | formControlName="username" [ngClass]="{ 'input-error': formErrors['username'] }" |
12 | > | |
13 | <div *ngIf="formErrors.username" class="form-error"> | |
14 | {{ formErrors.username }} | |
15 | </div> | |
16 | </div> | |
7da18e44 | 17 | |
04e0fc48 | 18 | <div class="form-group"> |
b1d40cff | 19 | <label i18n for="email">Email</label> |
04e0fc48 | 20 | <input |
b1d40cff | 21 | type="text" id="email" i18n-placeholder placeholder="mail@example.com" |
04e0fc48 C |
22 | formControlName="email" [ngClass]="{ 'input-error': formErrors['email'] }" |
23 | > | |
24 | <div *ngIf="formErrors.email" class="form-error"> | |
25 | {{ formErrors.email }} | |
26 | </div> | |
27 | </div> | |
897ec54d | 28 | |
04e0fc48 | 29 | <div class="form-group" *ngIf="isCreation()"> |
b1d40cff | 30 | <label i18n for="password">Password</label> |
04e0fc48 | 31 | <input |
15a7387d | 32 | type="password" id="password" |
04e0fc48 C |
33 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" |
34 | > | |
35 | <div *ngIf="formErrors.password" class="form-error"> | |
36 | {{ formErrors.password }} | |
37 | </div> | |
38 | </div> | |
954605a8 | 39 | |
04e0fc48 | 40 | <div class="form-group"> |
b1d40cff | 41 | <label i18n for="role">Role</label> |
15a7387d C |
42 | <div class="peertube-select-container"> |
43 | <select id="role" formControlName="role"> | |
44 | <option *ngFor="let role of roles" [value]="role.value"> | |
45 | {{ role.label }} | |
46 | </option> | |
47 | </select> | |
48 | </div> | |
954605a8 | 49 | |
04e0fc48 C |
50 | <div *ngIf="formErrors.role" class="form-error"> |
51 | {{ formErrors.role }} | |
52 | </div> | |
53 | </div> | |
6a84aafd | 54 | |
04e0fc48 | 55 | <div class="form-group"> |
b1d40cff | 56 | <label i18n for="videoQuota">Video quota</label> |
15a7387d C |
57 | <div class="peertube-select-container"> |
58 | <select id="videoQuota" formControlName="videoQuota"> | |
59 | <option *ngFor="let videoQuotaOption of videoQuotaOptions" [value]="videoQuotaOption.value"> | |
60 | {{ videoQuotaOption.label }} | |
61 | </option> | |
62 | </select> | |
63 | </div> | |
d6ca951b C |
64 | |
65 | <div i18n class="transcoding-information" *ngIf="isTranscodingInformationDisplayed()"> | |
66 | Transcoding is enabled on server. The video quota only take in account <strong>original</strong> video. <br /> | |
67 | At most, this user could use ~ {{ computeQuotaWithTranscoding() | bytes: 0 }}. | |
68 | </div> | |
69 | </div> | |
70 | ||
71 | <div class="form-group"> | |
bee0abff FA |
72 | <label i18n for="videoQuotaDaily">Daily video quota</label> |
73 | <div class="peertube-select-container"> | |
74 | <select id="videoQuotaDaily" formControlName="videoQuotaDaily"> | |
75 | <option *ngFor="let videoQuotaDailyOption of videoQuotaDailyOptions" [value]="videoQuotaDailyOption.value"> | |
76 | {{ videoQuotaDailyOption.label }} | |
77 | </option> | |
78 | </select> | |
79 | </div> | |
897ec54d | 80 | </div> |
04e0fc48 | 81 | |
e600e1fe | 82 | <input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid"> |
04e0fc48 | 83 | </form> |