Merge branch 'master' into 6203-collection-perf-api
[arvados.git] / apps / workbench / app / models / job.rb
index 1528bd771e3046b07039931fb40386d0b62f74c5..3ece865959f10aabf70acfab6cde1dd9145cf6d5 100644 (file)
@@ -7,16 +7,8 @@ class Job < ArvadosBase
     "#{script} job"
   end
 
-  def attribute_editable? attr, *args
-    if attr.to_sym == :description
-      super && attr.to_sym == :description
-    else
-      false
-    end
-  end
-
-  def self.creatable?
-    false
+  def editable_attributes
+    %w(description)
   end
 
   def default_name
@@ -38,24 +30,12 @@ class Job < ArvadosBase
     arvados_api_client.api "jobs/#{self.uuid}/", "cancel", {}
   end
 
-  def self.state job
-    if job.responds_to? :state
-      return job.state
-    end
+  def self.queue_size
+    arvados_api_client.api("jobs/", "queue_size", {"_method"=> "GET"})[:queue_size] rescue 0
+  end
 
-    if not job[:cancelled_at].nil?
-      "Canceled"
-    elsif not job[:finished_at].nil? or not job[:success].nil?
-      if job[:success]
-        "Completed"
-      else
-        "Failed"
-      end
-    elsif job[:running]
-      "Running"
-    else
-      "Queued"
-    end
+  def self.queue
+    arvados_api_client.unpack_api_response arvados_api_client.api("jobs/", "queue", {"_method"=> "GET"})
   end
 
   def textile_attributes