]>
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 | 22 | formControlName="email" [ngClass]="{ 'input-error': formErrors['email'] }" |
b37a5082 | 23 | autocomplete="off" |
04e0fc48 C |
24 | > |
25 | <div *ngIf="formErrors.email" class="form-error"> | |
26 | {{ formErrors.email }} | |
27 | </div> | |
28 | </div> | |
897ec54d | 29 | |
04e0fc48 | 30 | <div class="form-group" *ngIf="isCreation()"> |
b1d40cff | 31 | <label i18n for="password">Password</label> |
45f1bd72 JL |
32 | <my-help *ngIf="isPasswordOptional()"> |
33 | <ng-template ptTemplate="customHtml"> | |
34 | <ng-container i18n> | |
35 | If you leave the password empty, an email will be sent to the user. | |
36 | </ng-container> | |
37 | </ng-template> | |
38 | </my-help> | |
04e0fc48 | 39 | <input |
7738273b | 40 | type="password" id="password" autocomplete="new-password" |
04e0fc48 C |
41 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" |
42 | > | |
43 | <div *ngIf="formErrors.password" class="form-error"> | |
44 | {{ formErrors.password }} | |
45 | </div> | |
46 | </div> | |
954605a8 | 47 | |
04e0fc48 | 48 | <div class="form-group"> |
b1d40cff | 49 | <label i18n for="role">Role</label> |
15a7387d C |
50 | <div class="peertube-select-container"> |
51 | <select id="role" formControlName="role"> | |
a95a4cc8 | 52 | <option *ngFor="let role of getRoles()" [value]="role.value"> |
15a7387d C |
53 | {{ role.label }} |
54 | </option> | |
55 | </select> | |
56 | </div> | |
954605a8 | 57 | |
04e0fc48 C |
58 | <div *ngIf="formErrors.role" class="form-error"> |
59 | {{ formErrors.role }} | |
60 | </div> | |
61 | </div> | |
6a84aafd | 62 | |
04e0fc48 | 63 | <div class="form-group"> |
b1d40cff | 64 | <label i18n for="videoQuota">Video quota</label> |
15a7387d C |
65 | <div class="peertube-select-container"> |
66 | <select id="videoQuota" formControlName="videoQuota"> | |
67 | <option *ngFor="let videoQuotaOption of videoQuotaOptions" [value]="videoQuotaOption.value"> | |
68 | {{ videoQuotaOption.label }} | |
69 | </option> | |
70 | </select> | |
71 | </div> | |
d6ca951b C |
72 | |
73 | <div i18n class="transcoding-information" *ngIf="isTranscodingInformationDisplayed()"> | |
74 | Transcoding is enabled on server. The video quota only take in account <strong>original</strong> video. <br /> | |
75 | At most, this user could use ~ {{ computeQuotaWithTranscoding() | bytes: 0 }}. | |
76 | </div> | |
77 | </div> | |
78 | ||
79 | <div class="form-group"> | |
bee0abff FA |
80 | <label i18n for="videoQuotaDaily">Daily video quota</label> |
81 | <div class="peertube-select-container"> | |
82 | <select id="videoQuotaDaily" formControlName="videoQuotaDaily"> | |
83 | <option *ngFor="let videoQuotaDailyOption of videoQuotaDailyOptions" [value]="videoQuotaDailyOption.value"> | |
84 | {{ videoQuotaDailyOption.label }} | |
85 | </option> | |
86 | </select> | |
87 | </div> | |
897ec54d | 88 | </div> |
04e0fc48 | 89 | |
1eddc9a7 C |
90 | <div class="form-group"> |
91 | <my-peertube-checkbox | |
92 | inputName="byPassAutoBlacklist" formControlName="byPassAutoBlacklist" | |
93 | i18n-labelText labelText="Bypass video auto blacklist" | |
94 | ></my-peertube-checkbox> | |
95 | </div> | |
96 | ||
e600e1fe | 97 | <input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid"> |
04e0fc48 | 98 | </form> |
328c78bc | 99 | |
b426edd4 | 100 | <div *ngIf="!isCreation()" class="danger-zone"> |
328c78bc RK |
101 | <div class="account-title" i18n>Danger Zone</div> |
102 | ||
b426edd4 C |
103 | <div class="form-group reset-password-email"> |
104 | <label i18n>Send a link to reset the password by email to the user</label> | |
105 | <button (click)="resetPassword()" i18n>Ask for new password</button> | |
106 | </div> | |
328c78bc | 107 | |
b426edd4 C |
108 | <div class="form-group"> |
109 | <label i18n>Manually set the user password</label> | |
110 | <my-user-password [userId]="userId"></my-user-password> | |
111 | </div> | |
112 | </div> |