coton_app/app/controllers/admin/p_payments_controller.rb
Nicolas Bally e27c3d8331 suite
2020-03-23 13:35:43 +01:00

134 lines
2.8 KiB
Ruby

# -*- encoding : utf-8 -*-
class Admin::PPaymentsController < ApplicationController
layout "admin"
before_filter :auth_admin
before_filter :admin_space
def admin_space
@admin_space = "payments"
end
def index
@p_payments = PPayment.includes(:p_payment_type)
params[:p_payment_type_ids] = params[:p_payment_type_ids] || []
@p_payments = @p_payments.where(:p_payment_type_id => params[:p_payment_type_ids]) if params[:p_payment_type_ids].size > 0
date_regex = /^(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)\d\d$/i
params[:start] = Date.today.beginning_of_month.strftime('%d/%m/%Y') if !params[:start]
if params[:start] and params[:start] =~ date_regex
@start = Date.parse(params[:start]).beginning_of_day
params[:start]= @start.strftime('%d/%m/%Y')
else
@start = nil
end
if true
params[:stop] = Date.today.end_of_month.strftime('%d/%m/%Y') if !params[:stop]
if params[:stop].to_s != "" # and params[:stop] =~ date_regex
@stop = Date.parse(params[:stop]).end_of_day
params[:stop]= @stop.strftime('%d/%m/%Y')
else
@stop = nil
end
end
if params[:amount_min].to_s != ""
@p_payments = @p_payments.where("amount >= ?", params[:amount_min])
end
if params[:amount_max].to_s != ""
@p_payments = @p_payments.where("amount <= ?", params[:amount_max])
end
@p_payments = @p_payments.where("p_payments.created_at >= ?", @start) if @start
@p_payments = @p_payments.where("p_payments.created_at <= ?", @stop.end_of_day) if @stop
@p_payments = sort_by_sorting(@p_payments, "created_at DESC")
per_page = (params[:search][:per_page] and params[:search][:per_page] != "") ? params[:search][:per_page] : 50
page = (params[:search][:page] and params[:search][:page] != "") ? params[:search][:page] : 1
@p_payments = @p_payments.page(page).per(per_page)
end
def show
@p_payment = PPayment.find(params[:id])
end
def new
@p_payment = PPayment.new(:p_payment_type_id => 1)
end
def edit
@p_payment = PPayment.find(params[:id])
end
def create
@p_payment = PPayment.new(params.require(:p_payment).permit!)
if @p_payment.save
@p_payment = PPayment.find(@p_payment.id)
@p_customer = @p_payment.p_customer
else
render action: "new"
end
end
def update
@p_payment = PPayment.find(params[:id])
if @p_payment.update_attributes(params.require(:p_payment).permit!)
@p_payments = PPayment.order("created_at ASC").all
else
render action: "edit"
end
end
def destroy
@p_payment = PPayment.find(params[:id])
@p_payment.destroy
end
end