},
{
label: this.i18n('Ban'),
- description: this.i18n('Videos will be kept as private, comments will be kept as is.'),
+ description: this.i18n('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)
},
<ng-template #templateActionLabel let-action>
<my-global-icon *ngIf="action.iconName" [iconName]="action.iconName" [ngClass]="'icon-' + action.iconName"></my-global-icon>
+
<div class="d-flex flex-column">
<span i18n>{{ action.label }}</span>
<small class="text-muted" *ngIf="action.description">{{ action.description }}</small>
if (this.user && authUser.hasRight(UserRight.MANAGE_USERS) && authUser.canManage(this.user)) {
this.userActions.push([
{
- label: this.i18n('Edit'),
+ label: this.i18n('Edit user'),
description: this.i18n('Change quota, role, and more.'),
linkBuilder: ({ user }) => this.getRouterUserEditLink(user)
},
{
- label: this.i18n('Delete'),
+ label: this.i18n('Delete user'),
description: this.i18n('Videos will be deleted, comments will be tombstoned.'),
handler: ({ user }) => this.removeUser(user)
},
{
label: this.i18n('Ban'),
- description: this.i18n('Videos will be kept as private, comments will be kept as is.'),
+ description: this.i18n('User won\'t be able to login anymore, but videos and comments will be kept as is.'),
handler: ({ user }) => this.openBanUserModal(user),
isDisplayed: ({ user }) => !user.blocked
},
const address = this.form.value['text']
const [ username, hostname ] = address.split('@')
+ // Should not have CORS error because https://tools.ietf.org/html/rfc7033#section-5
fetch(`https://${hostname}/.well-known/webfinger?resource=acct:${username}@${hostname}`)
.then(response => response.json())
.then(data => new Promise((resolve, reject) => {