Sha256: 6f458d1311216c9a00cab6313d19ddf6c159924cfe9c8678673adc82937ba111

Contents?: true

Size: 795 Bytes

Versions: 6

Compression:

Stored size: 795 Bytes

Contents

class DailyEmailReportJob
  def perform(date=nil)

    date ||= 1.day.ago

    #
    # We have to go back two days here intentionally to account for orgs across different time zones
    # We'll re-select the correct orders in the respective jobs
    #
    org_ids = Order.csv_not_imported.after(date-1.day).before(DateTime.now).pluck(:organization_id).uniq
    Organization.where(:id => org_ids).receiving_sales_email.each do |org|
      tickets = DailyTicketReport.new(org, date)
      donations = DailyDonationReport.new(org, date)
      memberships = DailyMembershipReport.new(org, date)

      next if tickets.rows.empty? && donations.rows.empty? && tickets.exchange_rows.empty? && memberships.rows.empty?
      ReportsMailer.daily(tickets, donations, memberships).deliver
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
artfully_ose-1.2.0.pre.12 app/models/job/daily_email_report_job.rb
artfully_ose-1.2.0.pre.11 app/models/job/daily_email_report_job.rb
artfully_ose-1.2.0.pre.10 app/models/job/daily_email_report_job.rb
artfully_ose-1.2.0.pre.9 app/models/job/daily_email_report_job.rb
artfully_ose-1.2.0.pre.8 app/models/job/daily_email_report_job.rb
artfully_ose-1.2.0.pre.7 app/models/job/daily_email_report_job.rb