aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--client/src/app/+admin/users/user-list/user-list.component.ts2
-rw-r--r--client/src/app/shared/buttons/action-dropdown.component.html1
-rw-r--r--client/src/app/shared/moderation/user-moderation-dropdown.component.ts6
-rw-r--r--client/src/app/shared/user-subscription/remote-subscribe.component.ts1
-rw-r--r--server/initializers/database.ts2
5 files changed, 7 insertions, 5 deletions
diff --git a/client/src/app/+admin/users/user-list/user-list.component.ts b/client/src/app/+admin/users/user-list/user-list.component.ts
index a596251f6..7c5e8eaa4 100644
--- a/client/src/app/+admin/users/user-list/user-list.component.ts
+++ b/client/src/app/+admin/users/user-list/user-list.component.ts
@@ -63,7 +63,7 @@ export class UserListComponent extends RestTable implements OnInit {
63 }, 63 },
64 { 64 {
65 label: this.i18n('Ban'), 65 label: this.i18n('Ban'),
66 description: this.i18n('Videos will be kept as private, comments will be kept as is.'), 66 description: this.i18n('User won\'t be able to login anymore, but videos and comments will be kept as is.'),
67 handler: users => this.openBanUserModal(users), 67 handler: users => this.openBanUserModal(users),
68 isDisplayed: users => users.every(u => this.authUser.canManage(u) && u.blocked === false) 68 isDisplayed: users => users.every(u => this.authUser.canManage(u) && u.blocked === false)
69 }, 69 },
diff --git a/client/src/app/shared/buttons/action-dropdown.component.html b/client/src/app/shared/buttons/action-dropdown.component.html
index 54f5bf97c..cd993db9f 100644
--- a/client/src/app/shared/buttons/action-dropdown.component.html
+++ b/client/src/app/shared/buttons/action-dropdown.component.html
@@ -17,6 +17,7 @@
17 17
18 <ng-template #templateActionLabel let-action> 18 <ng-template #templateActionLabel let-action>
19 <my-global-icon *ngIf="action.iconName" [iconName]="action.iconName" [ngClass]="'icon-' + action.iconName"></my-global-icon> 19 <my-global-icon *ngIf="action.iconName" [iconName]="action.iconName" [ngClass]="'icon-' + action.iconName"></my-global-icon>
20
20 <div class="d-flex flex-column"> 21 <div class="d-flex flex-column">
21 <span i18n>{{ action.label }}</span> 22 <span i18n>{{ action.label }}</span>
22 <small class="text-muted" *ngIf="action.description">{{ action.description }}</small> 23 <small class="text-muted" *ngIf="action.description">{{ action.description }}</small>
diff --git a/client/src/app/shared/moderation/user-moderation-dropdown.component.ts b/client/src/app/shared/moderation/user-moderation-dropdown.component.ts
index 7ae5f40e3..11d8588f4 100644
--- a/client/src/app/shared/moderation/user-moderation-dropdown.component.ts
+++ b/client/src/app/shared/moderation/user-moderation-dropdown.component.ts
@@ -243,18 +243,18 @@ export class UserModerationDropdownComponent implements OnInit, OnChanges {
243 if (this.user && authUser.hasRight(UserRight.MANAGE_USERS) && authUser.canManage(this.user)) { 243 if (this.user && authUser.hasRight(UserRight.MANAGE_USERS) && authUser.canManage(this.user)) {
244 this.userActions.push([ 244 this.userActions.push([
245 { 245 {
246 label: this.i18n('Edit'), 246 label: this.i18n('Edit user'),
247 description: this.i18n('Change quota, role, and more.'), 247 description: this.i18n('Change quota, role, and more.'),
248 linkBuilder: ({ user }) => this.getRouterUserEditLink(user) 248 linkBuilder: ({ user }) => this.getRouterUserEditLink(user)
249 }, 249 },
250 { 250 {
251 label: this.i18n('Delete'), 251 label: this.i18n('Delete user'),
252 description: this.i18n('Videos will be deleted, comments will be tombstoned.'), 252 description: this.i18n('Videos will be deleted, comments will be tombstoned.'),
253 handler: ({ user }) => this.removeUser(user) 253 handler: ({ user }) => this.removeUser(user)
254 }, 254 },
255 { 255 {
256 label: this.i18n('Ban'), 256 label: this.i18n('Ban'),
257 description: this.i18n('Videos will be kept as private, comments will be kept as is.'), 257 description: this.i18n('User won\'t be able to login anymore, but videos and comments will be kept as is.'),
258 handler: ({ user }) => this.openBanUserModal(user), 258 handler: ({ user }) => this.openBanUserModal(user),
259 isDisplayed: ({ user }) => !user.blocked 259 isDisplayed: ({ user }) => !user.blocked
260 }, 260 },
diff --git a/client/src/app/shared/user-subscription/remote-subscribe.component.ts b/client/src/app/shared/user-subscription/remote-subscribe.component.ts
index 63e7cd5d9..befdb7157 100644
--- a/client/src/app/shared/user-subscription/remote-subscribe.component.ts
+++ b/client/src/app/shared/user-subscription/remote-subscribe.component.ts
@@ -39,6 +39,7 @@ export class RemoteSubscribeComponent extends FormReactive implements OnInit {
39 const address = this.form.value['text'] 39 const address = this.form.value['text']
40 const [ username, hostname ] = address.split('@') 40 const [ username, hostname ] = address.split('@')
41 41
42 // Should not have CORS error because https://tools.ietf.org/html/rfc7033#section-5
42 fetch(`https://${hostname}/.well-known/webfinger?resource=acct:${username}@${hostname}`) 43 fetch(`https://${hostname}/.well-known/webfinger?resource=acct:${username}@${hostname}`)
43 .then(response => response.json()) 44 .then(response => response.json())
44 .then(data => new Promise((resolve, reject) => { 45 .then(data => new Promise((resolve, reject) => {
diff --git a/server/initializers/database.ts b/server/initializers/database.ts
index a7988d75b..9ec146ab1 100644
--- a/server/initializers/database.ts
+++ b/server/initializers/database.ts
@@ -163,7 +163,7 @@ async function checkPostgresExtension (extension: string) {
163 } 163 }
164} 164}
165 165
166async function createFunctions () { 166function createFunctions () {
167 const query = `CREATE OR REPLACE FUNCTION immutable_unaccent(text) 167 const query = `CREATE OR REPLACE FUNCTION immutable_unaccent(text)
168 RETURNS text AS 168 RETURNS text AS
169$func$ 169$func$