diff --git a/app/models/reminder_mailer.rb b/app/models/reminder_mailer.rb index a962a85..e3afddd 100644 --- a/app/models/reminder_mailer.rb +++ b/app/models/reminder_mailer.rb @@ -32,9 +32,10 @@ def due_date_notification(user, projects) def self.find_issues if Redmine::VERSION::MAJOR >= 3 scope = Issue.where( - "(#{Issue.table_name}.assigned_to_id IS NOT NULL OR #{Issue.table_name}.rpr_project_responsible_id IS NOT NULL)" + + "#{Issue.table_name}.assigned_to_id IS NOT NULL" + " AND #{Project.table_name}.status = #{Project::STATUS_ACTIVE}" + " AND #{Issue.table_name}.due_date IS NOT NULL" + + " AND #{Issue.table_name}.done_ratio < 100" + " AND #{User.table_name}.status = #{User::STATUS_ACTIVE}" ) issues = scope.joins(:status, :assigned_to, :project, :tracker).to_a @@ -42,9 +43,10 @@ def self.find_issues issues.sort! { |first, second| first.due_date <=> second.due_date } else scope = Issue.open.scoped(:conditions => [ - "(#{Issue.table_name}.assigned_to_id IS NOT NULL OR #{Issue.table_name}.rpr_project_responsible_id IS NOT NULL)" + + "#{Issue.table_name}.assigned_to_id IS NOT NULL" + " AND #{Project.table_name}.status = #{Project::STATUS_ACTIVE}" + " AND #{Issue.table_name}.due_date IS NOT NULL" + + " AND #{Issue.table_name}.done_ratio < 100" + " AND #{User.table_name}.status = #{User::STATUS_ACTIVE}" ]) issues = scope.all(:include => [:status, :assigned_to, :project, :tracker])