From 0b4ca6cb1b3f3a57a467887a0c6054614dbf0eee Mon Sep 17 00:00:00 2001 From: dularion Date: Thu, 19 Jan 2017 23:58:05 +0100 Subject: [PATCH] Refresh the page after uploading a video - Feature Request #263 fixed file list in movie / video --- .../javascripts/streama/controllers/admin-movie-ctrl.js | 4 +++- .../javascripts/streama/controllers/modal-file-ctrl.js | 4 ++++ grails-app/domain/streama/File.groovy | 9 +++++++++ grails-app/views/movie/_movie.gson | 1 + grails-app/views/movie/show.gson | 2 +- 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/grails-app/assets/javascripts/streama/controllers/admin-movie-ctrl.js b/grails-app/assets/javascripts/streama/controllers/admin-movie-ctrl.js index 579401745..0a7b5a302 100644 --- a/grails-app/assets/javascripts/streama/controllers/admin-movie-ctrl.js +++ b/grails-app/assets/javascripts/streama/controllers/admin-movie-ctrl.js @@ -57,7 +57,9 @@ angular.module('streama').controller('adminMovieCtrl', [ }; $scope.manageFiles = function(movie){ - modalService.fileManagerModal(movie); + modalService.fileManagerModal(movie, function (data) { + movie.hasFiles = !!movie.files.length; + }); }; diff --git a/grails-app/assets/javascripts/streama/controllers/modal-file-ctrl.js b/grails-app/assets/javascripts/streama/controllers/modal-file-ctrl.js index 5bf986e79..5b99cf21b 100644 --- a/grails-app/assets/javascripts/streama/controllers/modal-file-ctrl.js +++ b/grails-app/assets/javascripts/streama/controllers/modal-file-ctrl.js @@ -45,6 +45,7 @@ angular.module('streama').controller('modalFileCtrl', [ }else{ $scope.video.files = $scope.video.files || []; $scope.video.files.push(data); + $scope.video.hasFiles = true; } }); }; @@ -59,6 +60,7 @@ angular.module('streama').controller('modalFileCtrl', [ }else{ $scope.video.files = $scope.video.files || []; $scope.video.files.push(data); + $scope.video.hasFiles = true; } }).error(function(data) { alertify.error(data.message); @@ -94,10 +96,12 @@ angular.module('streama').controller('modalFileCtrl', [ if(data.extension == '.srt' || data.extension == '.vtt'){ $scope.video.subtitles = $scope.video.subtitles || []; $scope.video.subtitles.push(data); + $scope.video.hasFiles = true; alertify.success('Subtitles uploaded successfully.'); }else{ $scope.video.files = $scope.video.files || []; $scope.video.files.push(data); + $scope.video.hasFiles = true; alertify.success('Video uploaded successfully.'); } diff --git a/grails-app/domain/streama/File.groovy b/grails-app/domain/streama/File.groovy index db2da7ad6..cccdfd944 100644 --- a/grails-app/domain/streama/File.groovy +++ b/grails-app/domain/streama/File.groovy @@ -76,4 +76,13 @@ class File { return true } } + + def getSimpleInstance(){ + return [ + id: this.id, + src: this.getSrc(), + originalFilename: this.originalFilename, + contentType: this.contentType + ] + } } diff --git a/grails-app/views/movie/_movie.gson b/grails-app/views/movie/_movie.gson index 0f7241ca6..dae084b21 100644 --- a/grails-app/views/movie/_movie.gson +++ b/grails-app/views/movie/_movie.gson @@ -6,4 +6,5 @@ model { json g.render(movie, [deep:true]){ hasFiles movie.files ? true : false + foo "bar" } diff --git a/grails-app/views/movie/show.gson b/grails-app/views/movie/show.gson index cd3796fc5..0343afa7b 100644 --- a/grails-app/views/movie/show.gson +++ b/grails-app/views/movie/show.gson @@ -6,6 +6,6 @@ model { json g.render(movie, [deep: true, excludes: ['files']]){ hasFiles movie.files ? true : false - files movie.files.findAll{} + files movie.files.collect{it.simpleInstance} subtitles movie.files.findAll{it.extension == '.srt' || it.extension == '.vtt'} }