projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
17040: Swap the order of where clauses in the readable_by query
[arvados.git]
/
services
/
api
/
app
/
models
/
arvados_model.rb
diff --git
a/services/api/app/models/arvados_model.rb
b/services/api/app/models/arvados_model.rb
index 6fb8ff2b33549af8e4e512a1374363f8dee8fa64..37f96c3ff0ec74c1d308021e1048e89053c9efe1 100644
(file)
--- a/
services/api/app/models/arvados_model.rb
+++ b/
services/api/app/models/arvados_model.rb
@@
-353,8
+353,9
@@
class ArvadosModel < ApplicationRecord
# other user owns.
owner_check = ""
if sql_table != "api_client_authorizations" and sql_table != "groups" then
# other user owns.
owner_check = ""
if sql_table != "api_client_authorizations" and sql_table != "groups" then
- owner_check = "OR #{sql_table}.owner_uuid IN (SELECT target_uuid FROM #{PERMISSION_VIEW} "+
- "WHERE user_uuid IN (#{user_uuids_subquery}) AND perm_level >= 1 #{trashed_check} AND traverse_owned) "
+ owner_check = "#{sql_table}.owner_uuid IN (SELECT target_uuid FROM #{PERMISSION_VIEW} "+
+ "WHERE user_uuid IN (#{user_uuids_subquery}) AND perm_level >= 1 #{trashed_check} AND traverse_owned) "
+ direct_check = " OR " + direct_check
end
links_cond = ""
end
links_cond = ""
@@
-366,7
+367,7
@@
class ArvadosModel < ApplicationRecord
"(#{sql_table}.head_uuid IN (#{user_uuids_subquery}) OR #{sql_table}.tail_uuid IN (#{user_uuids_subquery})))"
end
"(#{sql_table}.head_uuid IN (#{user_uuids_subquery}) OR #{sql_table}.tail_uuid IN (#{user_uuids_subquery})))"
end
- sql_conds = "(#{
direct_check} #{owner
_check} #{links_cond}) #{exclude_trashed_records}"
+ sql_conds = "(#{
owner_check} #{direct
_check} #{links_cond}) #{exclude_trashed_records}"
end
end
@@
-454,7
+455,7
@@
class ArvadosModel < ApplicationRecord
end
def logged_attributes
end
def logged_attributes
- attributes.except(*Rails.configuration.AuditLogs.UnloggedAttributes.keys)
+ attributes.except(*Rails.configuration.AuditLogs.UnloggedAttributes.
stringify_keys.
keys)
end
def self.full_text_searchable_columns
end
def self.full_text_searchable_columns
@@
-627,7
+628,12
@@
class ArvadosModel < ApplicationRecord
end
def permission_to_destroy
end
def permission_to_destroy
- permission_to_update
+ if [system_user_uuid, system_group_uuid, anonymous_group_uuid,
+ anonymous_user_uuid, public_project_uuid].include? uuid
+ false
+ else
+ permission_to_update
+ end
end
def maybe_update_modified_by_fields
end
def maybe_update_modified_by_fields