12318: Merge branch 'master' into 12318-update-libcloud-pin
[arvados.git] / apps / workbench / app / models / user.rb
index 74f4a6b1de060a0b2b59e557e1c6091d78569ae5..10da22db69e4540f8d7027df94b3fd7d43d98279 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class User < ArvadosBase
   def initialize(*args)
     super(*args)
@@ -27,15 +31,20 @@ class User < ArvadosBase
                                                {}))
   end
 
+  def contents params={}
+    Group.contents params.merge(uuid: self.uuid)
+  end
+
   def attributes_for_display
     super.reject { |k,v| %w(owner_uuid default_owner_uuid identity_url prefs).index k }
   end
 
- def attribute_editable? attr, *args
-    (not (self.uuid.andand.match(/000000000000000$/) and self.is_admin)) and super
+  def attribute_editable?(attr, ever=nil)
+    (ever or not (self.uuid.andand.match(/000000000000000$/) and
+                  self.is_admin)) and super
   end
 
-  def friendly_link_name
+  def friendly_link_name lookup=nil
     [self.first_name, self.last_name].compact.join ' '
   end
 
@@ -55,4 +64,11 @@ class User < ArvadosBase
                                                params))
   end
 
+  def deletable?
+    false
+  end
+
+   def self.creatable?
+    current_user and current_user.is_admin
+   end
 end