[ARVADOS] updated: 2d5c3de5600cd820e783a27e5d9ebceb6847f9c1

git at public.curoverse.com git at public.curoverse.com
Mon Dec 8 15:26:42 EST 2014


Summary of changes:
 .../app/assets/javascripts/upload_to_collection.js | 44 +++++++++++++---------
 .../app/views/collections/_show_upload.html.erb    |  6 +--
 2 files changed, 29 insertions(+), 21 deletions(-)

       via  2d5c3de5600cd820e783a27e5d9ebceb6847f9c1 (commit)
       via  09cfb0083e572a6259b6e4d8dbed34a720b847aa (commit)
       via  3c06d760206dd94cc7f4ef5d59cbc1f419694f8d (commit)
      from  f180576ff3ec675e5ad27856a83773166ac6a5ca (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 2d5c3de5600cd820e783a27e5d9ebceb6847f9c1
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Dec 8 15:26:52 2014 -0500

    3781: Go to "Done!" state when the last upload completes despite a late call to stop().

diff --git a/apps/workbench/app/assets/javascripts/upload_to_collection.js b/apps/workbench/app/assets/javascripts/upload_to_collection.js
index c685017..4fc24a2 100644
--- a/apps/workbench/app/assets/javascripts/upload_to_collection.js
+++ b/apps/workbench/app/assets/javascripts/upload_to_collection.js
@@ -262,7 +262,8 @@ function UploadToCollection($scope, $filter, $q, $timeout,
             that.state = 'Paused';
             setProgress(_readPos);
             _currentUploader = null;
-            _deferred.reject(reason);
+            if (_deferred)
+                _deferred.reject(reason);
         }
         function onUploaderProgress(sliceDone, sliceSize) {
             setProgress(_readPos + sliceDone);
@@ -311,13 +312,14 @@ function UploadToCollection($scope, $filter, $q, $timeout,
                     $filter('date')(Date.now(), 'shortTime');
                 _finishTime = Date.now();
             }
-            _deferred.notify();
+            if (_deferred)
+                _deferred.notify();
         }
     }
 
     function QueueUploader() {
         $.extend(this, {
-            state: 'Idle',
+            state: 'Idle',      // Idle, Running, Stopped, Failed
             stateReason: null,
             statusSuccess: null,
             go: go,
@@ -344,9 +346,6 @@ function UploadToCollection($scope, $filter, $q, $timeout,
             if (_deferred) {
                 _deferred.reject({});
             }
-            if (_deferredAppend) {
-                _deferredAppend.reject({});
-            }
             for (var i=0; i<$scope.uploadQueue.length; i++)
                 $scope.uploadQueue[i].stop();
             onQueueProgress();
@@ -363,20 +362,28 @@ function UploadToCollection($scope, $filter, $q, $timeout,
             return doQueueWork();
         }
         function doQueueWork() {
-            if (!_deferred) {
-                // Queue work has been stopped.
-                return;
-            }
-            that.stateReason = null;
             // If anything is not Done, do it.
             if ($scope.uploadQueue.length > 0 &&
                 $scope.uploadQueue[0].state !== 'Done') {
-                return $scope.uploadQueue[0].go().
-                    then(appendToCollection, null, onQueueProgress).
-                    then(doQueueWork, onQueueReject);
+                if (_deferred) {
+                    that.stateReason = null;
+                    return $scope.uploadQueue[0].go().
+                        then(appendToCollection, null, onQueueProgress).
+                        then(doQueueWork, onQueueReject);
+                } else {
+                    // Queue work has been stopped. Just update the
+                    // view.
+                    onQueueProgress();
+                    return;
+                }
             }
-            // If everything is Done, resolve the promise and clean up.
-            return onQueueResolve();
+            // If everything is Done, resolve the promise and clean
+            // up. Note this can happen even after the _deferred
+            // promise has been rejected: specifically, when stop() is
+            // called too late to prevent completion of the last
+            // upload. In that case we want to update state to "Idle",
+            // rather than leave it at "Stopped".
+            onQueueResolve();
         }
         function onQueueReject(reason) {
             if (!_deferred) {
@@ -399,7 +406,8 @@ function UploadToCollection($scope, $filter, $q, $timeout,
         function onQueueResolve() {
             that.state = 'Idle';
             that.stateReason = 'Done!';
-            _deferred.resolve();
+            if (_deferred)
+                _deferred.resolve();
             onQueueProgress();
         }
         function onQueueProgress() {

commit 09cfb0083e572a6259b6e4d8dbed34a720b847aa
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Dec 8 13:59:45 2014 -0500

    3781: Fix use of committed flag. That is now called state==="Done".

diff --git a/apps/workbench/app/views/collections/_show_upload.html.erb b/apps/workbench/app/views/collections/_show_upload.html.erb
index be6cf77..e42c0e0 100644
--- a/apps/workbench/app/views/collections/_show_upload.html.erb
+++ b/apps/workbench/app/views/collections/_show_upload.html.erb
@@ -37,14 +37,14 @@
       </div>
     </div>
   </div>
-  <div ng-repeat="upload in uploadQueue" class="row" ng-class="{lighten: upload.committed}">
+  <div ng-repeat="upload in uploadQueue" class="row" ng-class="{lighten: upload.state==='Done'}">
     <div class="col-sm-1">
       <button class="btn btn-xs btn-default"
-              ng-show="!upload.committed"
+              ng-show="upload.state!=='Done'"
               ng-click="removeFileFromQueue($index)"
               title="cancel"><i class="fa fa-fw fa-times"></i></button>
       <span class="label label-success label-info"
-            ng-show="upload.committed">finished</span>
+            ng-show="upload.state==='Done'">finished</span>
     </div>
     <div class="col-sm-4 nowrap" style="overflow-x:hidden;text-overflow:ellipsis">
       <span title="{{upload.file.name}}">

commit 3c06d760206dd94cc7f4ef5d59cbc1f419694f8d
Author: Tom Clegg <tom at curoverse.com>
Date:   Mon Dec 8 13:58:25 2014 -0500

    3781: Fix exaggerated claims of being finished.

diff --git a/apps/workbench/app/assets/javascripts/upload_to_collection.js b/apps/workbench/app/assets/javascripts/upload_to_collection.js
index 9e20542..c685017 100644
--- a/apps/workbench/app/assets/javascripts/upload_to_collection.js
+++ b/apps/workbench/app/assets/javascripts/upload_to_collection.js
@@ -301,7 +301,7 @@ function UploadToCollection($scope, $filter, $q, $timeout,
             } else {
                 that.statistics = that.state;
             }
-            if (that.state === 'Uploading' || that.state === 'Uploaded') {
+            if (that.state === 'Uploaded') {
                 // 'Uploaded' gets reported as 'finished', which is a
                 // little misleading because the collection hasn't
                 // been updated yet. But FileUploader's portion of the

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list