Skip to content

Commit d3bfaed

Browse files
committed
fix cross-shard qualified name bug
ref CNVS-18330 Change-Id: Ibdd77f87f1b86e744d70116b4f1a9c9327639c57 Reviewed-on: https://gerrit.instructure.com/74999 Reviewed-by: James Williams <jamesw@instructure.com> Tested-by: Jenkins Product-Review: Cody Cutrer <cody@instructure.com> QA-Review: Cody Cutrer <cody@instructure.com>
1 parent 9822ee4 commit d3bfaed

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

app/models/collaboration.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ def self.any_collaborations_configured?(context)
170170
plugin_collabs = collaboration_types.any? do |type|
171171
collaboration_class(type['type'].titleize.gsub(/\s/, '')).present?
172172
end
173-
external_tool_collabs = ContextExternalTool.all_tools_for(context, placements: :collaboration).any?
173+
external_tool_collabs = ContextExternalTool.all_tools_for(context, placements: :collaboration).exists?
174174
plugin_collabs || external_tool_collabs
175175
end
176176

app/models/context_external_tool.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -515,10 +515,12 @@ def self.all_tools_for(context, options={})
515515
contexts.concat contexts_to_search(context)
516516
return nil if contexts.empty?
517517

518-
scope = ContextExternalTool.shard(context.shard).polymorphic_where(context: contexts).active
519-
scope = scope.placements(*placements)
520-
scope = scope.selectable if Canvas::Plugin.value_to_boolean(options[:selectable])
521-
scope.order("#{ContextExternalTool.best_unicode_collation_key('context_external_tools.name')}, context_external_tools.id")
518+
context.shard.activate do
519+
scope = ContextExternalTool.shard(context.shard).polymorphic_where(context: contexts).active
520+
scope = scope.placements(*placements)
521+
scope = scope.selectable if Canvas::Plugin.value_to_boolean(options[:selectable])
522+
scope.order("#{ContextExternalTool.best_unicode_collation_key('context_external_tools.name')}, context_external_tools.id")
523+
end
522524
end
523525

524526
def self.find_external_tool_by_id(id, context)

0 commit comments

Comments
 (0)