sadem_app/app/controllers/admin/m_odr_remises_controller.rb
Nicolas Bally 6c27e12a7e suite
2020-03-03 01:36:04 +01:00

148 lines
3.1 KiB
Ruby

# -*- encoding : utf-8 -*-
class Admin::MOdrRemisesController < ApplicationController
layout "admin"
before_action :auth_admin
before_action :admin_space
def admin_space
@admin_space = "payments"
end
def export_sepa
@m_odr_remise = MOdrRemise.find(params[:id])
@m_odr = @m_odr_remise.m_odr
@m_odr_virements = @m_odr_remise.m_odr_virements.where(:refused => false)
@prelevement_date = Time.now
@iban = @m_odr.iban.to_s
@bic = @m_odr.bic.to_s
@name = @m_odr.bank_name.to_s
params[:inline] = false
file_path = Rails.root.join("pdf", "sepa", "remise_#{@m_odr_remise.id}.xml")
if true or !File.exist?(file_path)
@data_to_send = render_to_string(:layout => "admin/m_odr_remises/sepa.html.erb", :layout => false)
#@data_to_send = "d"
File.open(file_path, "w+") do |f|
f.write(@data_to_send)
end
end
send_file file_path, :filename =>"export-#{@m_odr_remise.id}-#{Date.today.strftime("%Y-%m-%d")}.xml" , :type => 'text/xml',:disposition => (params[:inline] ? 'inline' : "attachment")
end
def confirm
@m_odr_remise = MOdrRemise.find(params[:id])
@m_odr_remise.m_odr_virements.each do |m_odr_virement|
m_odr_virement.sended = true
m_odr_virement.m_odr_rep.change_state("Virement envoyé")
m_odr_virement.save
m_odr_virement.m_odr_rep.send_mail_type("succes", m_odr_virement)
end
@m_odr_remise.confirmed = true
@m_odr_remise.save
redirect_to [:admin, @m_odr_remise]
end
def generate_all
redirect_to admin_m_odr_remises_path
@m_odr_virements = MOdrVirement.where(:enabled => true, :m_odr_remise_id => nil)
@m_odr_virements.group(:m_odr_id).each do |m_odr|
@m_odr_remise = MOdrRemise.new(:m_odr_id => m_odr.m_odr_id)
m_odr_virements = @m_odr_virements.where(:m_odr_id => m_odr.m_odr_id)
@m_odr_remise.m_odr_virements << m_odr_virements
@m_odr_remise.save
end
end
def index
@m_odr_remises = MOdrRemise.includes(:m_odr)
@m_odr_remises = sort_by_sorting(@m_odr_remises, "created_at DESC")
params[:search][:per_page] = params[:search][:per_page] || 50
per_page = params[:search][:per_page]
page = (params[:page] and params[:page] != "") ? params[:page] : 1
@m_odr_remises = @m_odr_remises.page(page).per(per_page)
end
def show
@m_odr_remise = MOdrRemise.find(params[:id])
end
def new
@m_odr_remise = MOdrRemise.new
end
def edit
@m_odr_remise = MOdrRemise.find(params[:id])
end
def create
@m_odr_remise = MOdrRemise.new(params.require(:m_odr_remise).permit!)
if @m_odr_remise.save
else
render action: "new"
end
end
def update
@m_odr_remise = MOdrRemise.find(params[:id])
if @m_odr_remise.update_attributes(params.require(:m_odr_remise).permit!)
else
render action: "edit"
end
end
def destroy
@m_odr_remise = MOdrRemise.find(params[:id])
@m_odr_remise.destroy
end
end