Merge branch '3235-top-nav-site-search' refs #3235
authorTom Clegg <tom@curoverse.com>
Tue, 29 Jul 2014 02:50:37 +0000 (22:50 -0400)
committerTom Clegg <tom@curoverse.com>
Tue, 29 Jul 2014 02:50:37 +0000 (22:50 -0400)
services/api/app/controllers/arvados/v1/groups_controller.rb
services/api/app/models/user.rb
services/api/test/fixtures/groups.yml
services/api/test/functional/arvados/v1/groups_controller_test.rb
services/fuse/arvados_fuse/__init__.py

index 98acbef65ca97b05eb61366b082669381b977af7..6b214034fa2da20d28f075bb22d4b0b6620f3701 100644 (file)
@@ -3,6 +3,9 @@ class Arvados::V1::GroupsController < ApplicationController
   def self._contents_requires_parameters
     _index_requires_parameters.
       merge({
+              uuid: {
+                type: 'string', required: false, default: nil
+              },
               include_linked: {
                 type: 'boolean', required: false, default: false
               },
@@ -60,6 +63,9 @@ class Arvados::V1::GroupsController < ApplicationController
      Collection,
      Human, Specimen, Trait].each do |klass|
       @objects = klass.readable_by(*@read_users)
+      if klass == Group
+        @objects = @objects.where('group_class = ?', 'project')
+      end
       conds = []
       cond_params = []
       if opts[:owner_uuid]
index 65475853f2810e3a355c8f11085e5abec36d1571..d27b4febdb9f9da7da1c0f4e38b3d091f4b0771d 100644 (file)
@@ -218,7 +218,7 @@ class User < ArvadosModel
 
   def check_auto_admin
     if User.where("uuid not like '%-000000000000000'").where(:is_admin => true).count == 0 and Rails.configuration.auto_admin_user
-      if current_user.email == Rails.configuration.auto_admin_user
+      if self.email == Rails.configuration.auto_admin_user
         self.is_admin = true
         self.is_active = true
       end
index 62b9958010bc8b4480fb40a338907a5c2eb39675..c4ed1335ea4fb243d6e40cbccd3e1bbad204837f 100644 (file)
@@ -66,7 +66,7 @@ asubproject:
   updated_at: 2014-04-21 15:37:48 -0400
   name: A Subproject
   description: "Test project belonging to active user's first test project"
-  group_class: folder
+  group_class: project
 
 future_project_viewing_group:
   uuid: zzzzz-j7d0g-futrprojviewgrp
index 176e8e1129969e96fbf1ddd18f36ef9a06ee94fd..d6ac3cee14550657a7606e890d20eb434e0e6942 100644 (file)
@@ -61,6 +61,13 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
     kinds = json_response['items'].collect { |i| i['kind'] }.uniq
     expect_kinds = %w'arvados#group arvados#specimen arvados#pipelineTemplate arvados#job'
     assert_equal expect_kinds, (expect_kinds & kinds)
+
+    json_response['items'].each do |i|
+      if i['kind'] == 'arvados#group'
+        assert(i['group_class'] == 'project',
+               "group#contents returned a non-project group")
+      end
+    end
   end
 
   test 'get group-owned objects' do
index 5d782d2641133643546622b95713d88b8587b15b..c0ea03f06b39df2c592e427c0a21b1cfd909038f 100644 (file)
@@ -305,7 +305,8 @@ class GroupsDirectory(Directory):
                 self._entries[a].invalidate()
 
     def update(self):
-        groups = self.api.groups().list().execute()
+        groups = self.api.groups().list(
+            filters=[['group_class','=','project']]).execute()
         self.merge(groups['items'],
                    lambda i: i['uuid'],
                    lambda a, i: a.uuid == i['uuid'],