]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Format video blacklist
authorChocobozzz <florian.bigard@gmail.com>
Wed, 26 Apr 2017 19:42:36 +0000 (21:42 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Wed, 26 Apr 2017 19:42:36 +0000 (21:42 +0200)
client/src/app/videos/shared/video.service.ts
client/src/app/videos/video-watch/video-watch.component.html
client/src/app/videos/video-watch/video-watch.component.ts
server/controllers/api/videos.js
server/middlewares/admin.js
server/middlewares/validators/videos.js
server/models/video.js

index a0965e20c725cbe3cb5fa06f91123bf5e19aae49..ba83c72fd12a8933e630399f1d17627d71cc625b 100644 (file)
@@ -152,8 +152,8 @@ export class VideoService {
 
   blacklistVideo(id: string) {
     return this.authHttp.post(VideoService.BASE_VIDEO_URL + id + '/blacklist', {})
-                       .map(this.restExtractor.extractDataBool)
-                       .catch((res) => this.restExtractor.handleError(res));
+                        .map(this.restExtractor.extractDataBool)
+                        .catch((res) => this.restExtractor.handleError(res));
   }
 
   private setVideoRate(id: string, rateType: RateType) {
index 124a3ba8be900f7c94562df31d28c0ef4f9857cb..5e758401eb52b0cc3ef64243b74be7d06d4a2a27 100644 (file)
             </a>
           </li>
 
-         <li *ngIf="isVideoRemovable()" role="menuitem">
-           <a class="dropdown-item" title="Delete this video" href="#" (click)="removeVideo($event)">
-             <span class="glyphicon glyphicon-remove"></span> Delete
-           </a>
-         </li>
-
-         <li *ngIf="isVideoBlacklistable()" role="menuitem">
-           <a class="dropdown-item" title="Blacklist this video" href="#" (click)="blacklistVideo($event)">
-             <span class="glyphicon glyphicon-eye-close"></span> Blacklist
-           </a>
-         </li>
+          <li *ngIf="isVideoRemovable()" role="menuitem">
+            <a class="dropdown-item" title="Delete this video" href="#" (click)="removeVideo($event)">
+              <span class="glyphicon glyphicon-remove"></span> Delete
+            </a>
+          </li>
+
+          <li *ngIf="isVideoBlacklistable()" role="menuitem">
+            <a class="dropdown-item" title="Blacklist this video" href="#" (click)="blacklistVideo($event)">
+              <span class="glyphicon glyphicon-eye-close"></span> Blacklist
+            </a>
+          </li>
         </ul>
       </div>
     </div>
index f582df45cdf4950ca410eba7fc2d8763b71560bc..07b2a1d1f30736f80823c0683500901bef2ef8dc 100644 (file)
@@ -171,41 +171,43 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
 
   removeVideo(event: Event) {
     event.preventDefault();
+
     this.confirmService.confirm('Do you really want to delete this video?', 'Delete').subscribe(
       res => {
         if (res === false) return;
 
         this.videoService.removeVideo(this.video.id)
-                        .subscribe(
-                          status => {
-                            this.notificationsService.success('Success', `Video ${this.video.name} deleted.`)
-                            // Go back to the video-list.
-                            this.router.navigate(['/videos/list'])
-                          },
-
-                          error => this.notificationsService.error('Error', error.text)
-        );
+                         .subscribe(
+                           status => {
+                             this.notificationsService.success('Success', `Video ${this.video.name} deleted.`);
+                             // Go back to the video-list.
+                             this.router.navigate(['/videos/list']);
+                           },
+
+                           error => this.notificationsService.error('Error', error.text)
+                          );
       }
     );
   }
 
   blacklistVideo(event: Event) {
-    event.preventDefault()
+    event.preventDefault();
+
     this.confirmService.confirm('Do you really want to blacklist this video ?', 'Blacklist').subscribe(
       res => {
-       if (res === false) return;
+        if (res === false) return;
 
-       this.videoService.blacklistVideo(this.video.id)
-                        .subscribe(
-                          status => {
-                            this.notificationsService.success('Success', `Video ${this.video.name} had been blacklisted.`)
-                            this.router.navigate(['/videos/list'])
-                          },
+        this.videoService.blacklistVideo(this.video.id)
+                         .subscribe(
+                           status => {
+                             this.notificationsService.success('Success', `Video ${this.video.name} had been blacklisted.`);
+                             this.router.navigate(['/videos/list']);
+                           },
 
-                          error => this.notificationsService.error('Error', error.text)
-       )
+                           error => this.notificationsService.error('Error', error.text)
+                         );
       }
-    )
+    );
   }
 
   showReportModal(event: Event) {
index 1f7d30eef2ee628be093c4cc4b25b7d7187a7831..0be7d9d8328f38ac84353a7c410b48607fcbfe9a 100644 (file)
@@ -635,10 +635,11 @@ function reportVideoAbuse (req, res, finalCallback) {
 function addVideoToBlacklist (req, res, next) {
   const videoInstance = res.locals.video
 
-  db.BlacklistedVideo.create({
+  const toCreate = {
     videoId: videoInstance.id
-  })
-  .asCallback(function (err) {
+  }
+
+  db.BlacklistedVideo.create(toCreate).asCallback(function (err) {
     if (err) {
       logger.error('Errors when blacklisting video ', { error: err })
       return next(err)
index e6d9dc8878a7a4a3725e9f575121c4bef6a44b7a..3288f4c6b9351ee89a8470bb13c4155e8a2dc65b 100644 (file)
@@ -1,6 +1,5 @@
 'use strict'
 
-const constants = require('../initializers/constants')
 const logger = require('../helpers/logger')
 
 const adminMiddleware = {
@@ -9,7 +8,7 @@ const adminMiddleware = {
 
 function ensureIsAdmin (req, res, next) {
   const user = res.locals.oauth.token.user
-  if (user.role !== constants.USER_ROLES.ADMIN) {
+  if (user.isAdmin() === false) {
     logger.info('A non admin user is trying to access to an admin content.')
     return res.sendStatus(403)
   }
index 86a7e39ae24bf87aca1a94650b2d0395c1e211e6..f18ca15972d3747f37e8a6f646cc903e5601d3ef 100644 (file)
@@ -137,6 +137,18 @@ function videoRate (req, res, next) {
   })
 }
 
+function videosBlacklist (req, res, next) {
+  req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
+
+  logger.debug('Checking videosBlacklist parameters', { parameters: req.params })
+
+  checkErrors(req, res, function () {
+    checkVideoExists(req.params.id, res, function () {
+      checkVideoIsBlacklistable(req, res, next)
+    })
+  })
+}
+
 // ---------------------------------------------------------------------------
 
 module.exports = validatorsVideos
@@ -166,8 +178,8 @@ function checkUserCanDeleteVideo (userId, res, callback) {
     }
 
     // Check if the user can delete the video
-    //  The user can delete it if s/he an admin
-    //  Or if s/he is the video's author
+    // The user can delete it if s/he is an admin
+    // Or if s/he is the video's author
     if (user.isAdmin() === false) {
       if (res.locals.video.isOwned() === false) {
         return res.status(403).send('Cannot remove video of another pod')
@@ -185,20 +197,8 @@ function checkUserCanDeleteVideo (userId, res, callback) {
 
 function checkVideoIsBlacklistable (req, res, callback) {
   if (res.locals.video.isOwned() === true) {
-        return res.status(403).send('Cannot blacklist a local video')
+    return res.status(403).send('Cannot blacklist a local video')
   }
 
   callback()
 }
-
-function videosBlacklist (req, res, next) {
-  req.checkParams('id', 'Should have a valid id').notEmpty().isUUID(4)
-
-  logger.debug('Checking videosBlacklist parameters', { parameters: req.params })
-
-  checkErrors(req, res, function () {
-    checkVideoExists(req.params.id, res, function() {
-      checkVideoIsBlacklistable(req, res, next)
-    })
-  })
-}
index 1addfa6827b66360f4fab4aac4a7c3c290cc5fda..0eef4114c724e1e2cdcda4330b0517c7c99c9ac1 100644 (file)
@@ -770,7 +770,6 @@ function removeFromBlacklist (video, callback) {
     // If an error occured, stop here
     if (err) {
       logger.error('Error when fetching video from blacklist.', { error: err })
-
       return callback(err)
     }