Merge branch '8784-dir-listings'
[arvados.git] / apps / workbench / app / models / group.rb
index dde6019e9ca4ed9a5d51978fe933fabee0208727..523e5e94f66e92846a5d7bf3b5cba6a1a90057bb 100644 (file)
@@ -1,20 +1,43 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class Group < ArvadosBase
+  def self.goes_in_projects?
+    true
+  end
+
+  def self.copies_to_projects?
+    false
+  end
+
+  def self.contents params={}
+    res = arvados_api_client.api self, "/contents", {
+      _method: 'GET'
+    }.merge(params)
+    ret = ArvadosResourceList.new
+    ret.results = arvados_api_client.unpack_api_response(res)
+    ret
+  end
+
   def contents params={}
-    res = $arvados_api_client.api self.class, "/#{self.uuid}/contents", {
+    res = arvados_api_client.api self.class, "/#{self.uuid}/contents", {
       _method: 'GET'
     }.merge(params)
     ret = ArvadosResourceList.new
-    ret.results = $arvados_api_client.unpack_api_response(res)
+    ret.results = arvados_api_client.unpack_api_response(res)
     ret
   end
 
   def class_for_display
-    group_class == 'folder' ? 'Folder' : super
+    group_class == 'project' ? 'Project' : super
+  end
+
+  def textile_attributes
+    [ 'description' ]
   end
 
-  def editable?
-    respond_to?(:writable_by) and
-      writable_by and
-      writable_by.index(current_user.uuid)
+  def self.creatable?
+    false
   end
 end