- {
- label: this.i18n('Delete'),
- handler: users => this.removeUsers(users)
- },
- {
- label: this.i18n('Ban'),
- handler: users => this.openBanUserModal(users),
- isDisplayed: users => users.every(u => u.blocked === false)
- },
- {
- label: this.i18n('Unban'),
- handler: users => this.unbanUsers(users),
- isDisplayed: users => users.every(u => u.blocked === true)
- }
+ [
+ {
+ label: $localize`Delete`,
+ description: $localize`Videos will be deleted, comments will be tombstoned.`,
+ handler: users => this.removeUsers(users),
+ isDisplayed: users => users.every(u => this.authUser.canManage(u))
+ },
+ {
+ label: $localize`Ban`,
+ description: $localize`User won't be able to login anymore, but videos and comments will be kept as is.`,
+ handler: users => this.openBanUserModal(users),
+ isDisplayed: users => users.every(u => this.authUser.canManage(u) && u.blocked === false)
+ },
+ {
+ label: $localize`Unban`,
+ handler: users => this.unbanUsers(users),
+ isDisplayed: users => users.every(u => this.authUser.canManage(u) && u.blocked === true)
+ }
+ ],
+ [
+ {
+ label: $localize`Set Email as Verified`,
+ handler: users => this.setEmailsAsVerified(users),
+ isDisplayed: users => {
+ return this.requiresEmailVerification &&
+ users.every(u => this.authUser.canManage(u) && !u.blocked && u.emailVerified === false)
+ }
+ }
+ ]
+ ]
+
+ this.columns = [
+ { id: 'username', label: 'Username' },
+ { id: 'email', label: 'Email' },
+ { id: 'quota', label: 'Video quota' },
+ { id: 'role', label: 'Role' },
+ { id: 'createdAt', label: 'Created' }