<div class="short-description">
<div>{{ shortDescription }}</div>
+
+ <div *ngIf="isNSFW" class="dedicated-to-nsfw">This instance is dedicated to sensitive/NSFW content.</div>
</div>
<div class="description">
.short-description, .description, .terms, .signup {
margin-bottom: 30px;
}
+
+.short-description .dedicated-to-nsfw {
+ margin-top: 20px;
+ font-weight: $font-semibold;
+}
return this.serverService.getConfig().email.enabled && this.serverService.getConfig().contactForm.enabled
}
+ get isNSFW () {
+ return this.serverService.getConfig().instance.isNSFW
+ }
+
ngOnInit () {
this.instanceService.getAbout()
.subscribe(
<div class="feature-table">
<table class="table">
+ <tr>
+ <td i18n class="label">Default NSFW/sensitive videos policy (can be redefined by the users)</td>
+
+ <td class="value">{{ buildNSFWLabel() }}</td>
+ </tr>
+
<tr *ngFor="let feature of features">
<td class="label">{{ feature.label }}</td>
<td>
import { Component, OnInit } from '@angular/core'
import { ServerService } from '@app/core'
import { I18n } from '@ngx-translate/i18n-polyfill'
+import { ServerConfig } from '../../../../../shared'
@Component({
selector: 'my-instance-features-table',
})
}
+ buildNSFWLabel () {
+ const policy = this.serverService.getConfig().instance.defaultNSFWPolicy
+
+ if (policy === 'do_not_list') return this.i18n('Hidden')
+ if (policy === 'blur') return this.i18n('Blurred with confirmation request')
+ if (policy === 'display') return this.i18n('Displayed')
+ }
+
private buildFeatures () {
const config = this.serverService.getConfig()
this.quotaHelpIndication = lines.join('<br />')
}
-
}
import 'mocha'
import {
+ closeAllSequelize,
createUser,
doubleFollow,
flushAndRunMultipleServers,
after(async function () {
killallServers(servers)
+ await closeAllSequelize(servers)
+
// Keep the logs if the test failed
if (this['ok']) {
await flushTests()
import './client'
import './fetch'
-import './helpers'
import './refresher'
+import './helpers'
import './security'
import 'mocha'
import {
+ closeAllSequelize,
flushAndRunMultipleServers,
flushTests,
killallServers,
after(async function () {
killallServers(servers)
+ await closeAllSequelize(servers)
+
// Keep the logs if the test failed
if (this['ok']) {
await flushTests()
import * as Sequelize from 'sequelize'
+let sequelizes: { [ id: number ]: Sequelize.Sequelize } = {}
+
function getSequelize (serverNumber: number) {
+ if (sequelizes[serverNumber]) return sequelizes[serverNumber]
+
const dbname = 'peertube_test' + serverNumber
const username = 'peertube'
const password = 'peertube'
const host = 'localhost'
const port = 5432
- return new Sequelize(dbname, username, password, {
+ const seq = new Sequelize(dbname, username, password, {
dialect: 'postgres',
host,
port,
operatorsAliases: false,
logging: false
})
+
+ sequelizes[serverNumber] = seq
+
+ return seq
}
function setActorField (serverNumber: number, to: string, field: string, value: string) {
return seq.query(`UPDATE video SET "${field}" = '${value}' WHERE uuid = '${uuid}'`, options)
}
+async function closeAllSequelize (servers: any[]) {
+ for (let i = 1; i <= servers.length; i++) {
+ if (sequelizes[ i ]) {
+ await sequelizes[ i ].close()
+ delete sequelizes[ i ]
+ }
+ }
+}
+
export {
setVideoField,
- setActorField
+ setActorField,
+ closeAllSequelize
}