class DobryEbookController < ApplicationController
  require 'csv'
  
  cattr_accessor :dobry_eboook_id
  cattr_accessor :access_key
  
  self.dobry_eboook_id  = 5328
  self.access_key       = 'P5RMnyVcLKK6hTzdrT3TPlDMWuHMOmPxCoyOuWes'
  
  def index
    return render :text => 'PLEASE AUTHORIZE' unless self.access_key == params[:key]
    
    from    = begin Date.parse(params[:from]) rescue Date.parse(1.month.ago.to_s) end
    to      = begin Date.parse(params[:to])   rescue Date.today end
    data    = ProvisionAccounted.find(:all,
                                    :select => 'date, amount, id_publication',
                                    :conditions => ['id_user = :id_user AND date BETWEEN :from AND :to', { :id_user => self.dobry_eboook_id, :from => from.to_s, :to => to.to_s }])
    
    respond_to do |format|
      format.html { render :text => '' }
      format.xml  { render :xml => data.to_xml }
      format.csv  do
        csv = CSV.generate do |csv|
          csv << ["date", "amount", "id_publication"]
          data.each do |provision|
            csv << [provision.date, provision.amount, provision.id_publication]
          end
        end
        
        send_data(csv, :filename => "zm_#{from}_#{to}.csv", :type => 'text/csv', :disposition => 'inline')
      end
    end
  end
end
