diff options
Diffstat (limited to 'lib/plugins')
-rw-r--r-- | lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb b/lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb index 21e1ee473..5e98a0fee 100644 --- a/lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb +++ b/lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb @@ -55,7 +55,14 @@ module Redmine provider_options = activity_provider_options[event_type] raise "#{self.name} can not provide #{event_type} events." if provider_options.nil? - scope = (provider_options[:scope] || self) + scope = provider_options[:scope] + if !scope + scope = self + elsif scope.respond_to?(:call) + scope = scope.call + else + ActiveSupport::Deprecation.warn "acts_as_activity_provider with implicit :scope option is deprecated. Please pass a scope on the #{self.name} as a proc." + end if from && to scope = scope.where("#{provider_options[:timestamp]} BETWEEN ? AND ?", from, to) |