+ get authUser () {
+ return this.auth.getUser()
+ }
+
+ get requiresEmailVerification () {
+ return this.serverService.getConfig().signup.requiresEmailVerification
+ }
+
+ ngOnInit () {
+ this.initialize()
+
+ this.bulkUserActions = [
+ {
+ label: this.i18n('Delete'),
+ handler: users => this.removeUsers(users),
+ isDisplayed: users => users.every(u => this.authUser.canManage(u))
+ },
+ {
+ label: this.i18n('Ban'),
+ handler: users => this.openBanUserModal(users),
+ isDisplayed: users => users.every(u => this.authUser.canManage(u) && u.blocked === false)
+ },
+ {
+ label: this.i18n('Unban'),
+ handler: users => this.unbanUsers(users),
+ isDisplayed: users => users.every(u => this.authUser.canManage(u) && u.blocked === true)
+ },
+ {
+ label: this.i18n('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)
+ }
+ }
+ ]
+ }
+
+ openBanUserModal (users: User[]) {
+ for (const user of users) {
+ if (user.username === 'root') {
+ this.notifier.error(this.i18n('You cannot ban root.'))
+ return
+ }