]>
Commit | Line | Data |
---|---|---|
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> | |
3 | ||
4 | <div *ngIf="error" class="alert alert-danger">{{ error }}</div> | |
5 | ||
6 | <form role="form" (ngSubmit)="formValidated()" [formGroup]="form"> | |
7 | <div class="form-group" *ngIf="isCreation()"> | |
8 | <label i18n for="username">Username</label> | |
9 | <input | |
10 | type="text" id="username" i18n-placeholder placeholder="john" | |
11 | formControlName="username" [ngClass]="{ 'input-error': formErrors['username'] }" | |
12 | > | |
13 | <div *ngIf="formErrors.username" class="form-error"> | |
14 | {{ formErrors.username }} | |
15 | </div> | |
16 | </div> | |
17 | ||
18 | <div class="form-group"> | |
19 | <label i18n for="email">Email</label> | |
20 | <input | |
21 | type="text" id="email" i18n-placeholder placeholder="mail@example.com" | |
22 | formControlName="email" [ngClass]="{ 'input-error': formErrors['email'] }" | |
23 | autocomplete="off" | |
24 | > | |
25 | <div *ngIf="formErrors.email" class="form-error"> | |
26 | {{ formErrors.email }} | |
27 | </div> | |
28 | </div> | |
29 | ||
30 | <div class="form-group" *ngIf="isCreation()"> | |
31 | <label i18n for="password">Password</label> | |
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> | |
39 | <input | |
40 | type="password" id="password" autocomplete="new-password" | |
41 | formControlName="password" [ngClass]="{ 'input-error': formErrors['password'] }" | |
42 | > | |
43 | <div *ngIf="formErrors.password" class="form-error"> | |
44 | {{ formErrors.password }} | |
45 | </div> | |
46 | </div> | |
47 | ||
48 | <div class="form-group"> | |
49 | <label i18n for="role">Role</label> | |
50 | <div class="peertube-select-container"> | |
51 | <select id="role" formControlName="role"> | |
52 | <option *ngFor="let role of roles" [value]="role.value"> | |
53 | {{ role.label }} | |
54 | </option> | |
55 | </select> | |
56 | </div> | |
57 | ||
58 | <div *ngIf="formErrors.role" class="form-error"> | |
59 | {{ formErrors.role }} | |
60 | </div> | |
61 | </div> | |
62 | ||
63 | <div class="form-group"> | |
64 | <label i18n for="videoQuota">Video quota</label> | |
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> | |
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"> | |
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> | |
88 | </div> | |
89 | ||
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 | ||
97 | <input type="submit" value="{{ getFormButtonTitle() }}" [disabled]="!form.valid"> | |
98 | </form> | |
99 | ||
100 | <div *ngIf="!isCreation()" class="danger-zone"> | |
101 | <div class="account-title" i18n>Danger Zone</div> | |
102 | ||
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> | |
107 | ||
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> |