[ARVADOS] updated: 1.3.0-711-g15f97929f

Git user git at public.curoverse.com
Fri Apr 12 17:17:18 UTC 2019


Summary of changes:
 services/api/app/models/container.rb | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

       via  15f97929f3cbc1697cd816ddda7c7e941951b3f8 (commit)
      from  cd3d4a6d0923c3cb93f73f7a1fc6e16f26d07feb (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 15f97929f3cbc1697cd816ddda7c7e941951b3f8
Author: Eric Biagiotti <ebiagiotti at veritasgenetics.com>
Date:   Fri Apr 12 13:06:12 2019 -0400

    15002: Moves validation to state change instead of attribute change
    
    Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti <ebiagiotti at veritasgenetics.com>
    
    This makes the error message more relevant when a non-admin tries to change state.

diff --git a/services/api/app/models/container.rb b/services/api/app/models/container.rb
index cd218d2ee..493998c3c 100644
--- a/services/api/app/models/container.rb
+++ b/services/api/app/models/container.rb
@@ -89,7 +89,10 @@ class Container < ArvadosModel
     nil => [Queued],
     Queued => [Locked, Cancelled],
     Locked => [Queued, Running, Cancelled],
-    Running => [Complete, Cancelled],
+    Running => [Complete, Cancelled]
+  }
+
+  Admin_state_transitions = {
     Complete => [Cancelled]
   }
 
@@ -110,7 +113,9 @@ class Container < ArvadosModel
   end
 
   def state_transitions
-    State_transitions
+    valid_transitions = State_transitions.clone
+    valid_transitions.merge!(Admin_state_transitions) if current_user.andand.is_admin
+    valid_transitions
   end
 
   # Container priority is the highest "computed priority" of any
@@ -491,8 +496,6 @@ class Container < ArvadosModel
         permitted.push :finished_at, *progress_attrs
       when Queued, Locked
         permitted.push :finished_at, :log, :runtime_status
-      when Complete
-        permitted -= [:state] unless current_user.andand.is_admin
       end
 
     else

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list