]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Automatically enable videos auto block on signup
authorChocobozzz <me@florianbigard.com>
Wed, 18 Nov 2020 14:55:19 +0000 (15:55 +0100)
committerChocobozzz <me@florianbigard.com>
Wed, 18 Nov 2020 15:13:38 +0000 (16:13 +0100)
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.scss
client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts

index f8f379d47da63cfd1f422994a292649223a85435..e0361fbfd1fd6a150019a027d130c6e89f3d4365 100644 (file)
                 >
                   <ng-container ngProjectAs="description">
                     <span i18n>⚠️ This functionality requires a lot of attention and extra moderation.</span>
+
+                    <div class="alert alert-info alert-signup" *ngIf="signupAlertMessage">{{ signupAlertMessage }}</div>
                   </ng-container>
                   <ng-container ngProjectAs="extra">
                     <my-peertube-checkbox [ngClass]="{ 'disabled-checkbox-extra': !isSignupEnabled() }"
index f8f2d5fdc3ef0b80a89ebfc13b21336d0bef480c..14cd6bd8b8487e7502c93688170355f525a1bdef 100644 (file)
@@ -87,3 +87,8 @@ ngb-tabset:not(.previews) ::ng-deep {
 .submit-error {
   margin-bottom: 20px;
 }
+
+.alert-signup {
+  width: fit-content;
+  margin-top: 10px;
+}
index d442df0e377f6e59e739137f9e90e97833df9f73..7db65d038aff37e62b1e5a6067690e73145d5055 100644 (file)
@@ -20,6 +20,7 @@ import { USER_VIDEO_QUOTA_DAILY_VALIDATOR, USER_VIDEO_QUOTA_VALIDATOR } from '@a
 import { FormReactive, FormValidatorService, SelectOptionsItem } from '@app/shared/shared-forms'
 import { NgbNav } from '@ng-bootstrap/ng-bootstrap'
 import { CustomConfig, ServerConfig } from '@shared/models'
+import { pairwise } from 'rxjs/operators'
 
 @Component({
   selector: 'my-edit-custom-config',
@@ -41,6 +42,8 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
   languageItems: SelectOptionsItem[] = []
   categoryItems: SelectOptionsItem[] = []
 
+  signupAlertMessage: string
+
   private serverConfig: ServerConfig
 
   constructor (
@@ -293,7 +296,9 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
 
     this.buildForm(formGroupData)
     this.loadForm()
+
     this.checkTranscodingFields()
+    this.checkSignupField()
   }
 
   ngAfterViewChecked () {
@@ -428,4 +433,27 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit, A
                 }
               })
   }
+
+  private checkSignupField () {
+    const signupControl = this.form.get('signup.enabled')
+
+    signupControl.valueChanges
+      .pipe(pairwise())
+      .subscribe(([ oldValue, newValue ]) => {
+        if (oldValue !== true && newValue === true) {
+          // tslint:disable:max-line-length
+          this.signupAlertMessage = $localize`You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below.`
+
+          this.form.patchValue({
+            autoBlacklist: {
+              videos: {
+                ofUsers: {
+                  enabled: true
+                }
+              }
+            }
+          })
+        }
+      })
+  }
 }