X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0621f855413c1fcd24864345061bfb886b8b98b1..c8622c142b7344369351b33373d6b46423ad1d98:/app/controllers/application_controller.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index ba5d26babb..076e3f868e 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -50,8 +50,8 @@ class ApplicationController < ActionController::Base def index @objects ||= model_class. - joins("LEFT JOIN metadata permissions ON permissions.head=#{table_name}.owner AND permissions.tail=#{model_class.sanitize current_user.uuid} AND permissions.metadata_class='permission'"). - where("?=? OR #{table_name}.owner=? OR #{table_name}.uuid=? OR permissions.head IS NOT NULL", + joins("LEFT JOIN links permissions ON permissions.head_uuid=#{table_name}.owner AND permissions.tail_uuid=#{model_class.sanitize current_user.uuid} AND permissions.link_class='permission'"). + where("?=? OR #{table_name}.owner=? OR #{table_name}.uuid=? OR permissions.head_uuid IS NOT NULL", true, current_user.is_admin, current_user.uuid, current_user.uuid) if params[:where]