# coding: utf-8
class PaymentsController < ApplicationController
  layout "constr_works"
  before_filter :isAuthorization
  before_filter :set_var
  around_filter :isAccessSuper

  def index
    @employees = Employee.working
    if (params[:date_from] && params[:date_to])
       @date_from = params[:date_from].to_date
       @date_to = params[:date_to].to_date
     else
       @date_from = Date.today.beginning_of_month
       @date_to = Date.today.end_of_month
     end
    @payments = Payment.with_employee(params[:filter_empl]).over_period(@date_from, @date_to).with_editor(params[:filter_editor])
  end



  def new
    @payment = Payment.new(:operation_date => Time.now)
  end

  def create
    @payment = Payment.new(params[:payment])
    @payment.author = Employee.current_user
    respond_to do |format|
      if @payment.save_with_check
        format.html { redirect_to(payments_path()) }
      else
        format.html { render :action => "new" }
      end
    end
  end

  def destroy
    @payment = Payment.find(params[:id])
    if @payment.destroy_with_check
      flash[:notice] = "Платёж удалён."
    else
      mess = ""
      @payment.errors.each_full {|msg| mess += msg + ".  "}
      flash[:error] = mess
    end
    respond_to do |format|
      format.html { redirect_to(payments_path(:date_from => @payment.operation_date.to_date.beginning_of_month, :date_to => Date.today)) }
    end
  end

  private
  
  def set_var
    Employee.current_user = Employee.find(session[:user_id]) unless session[:user_id].nil?
  end


end
