lockaz_app/app/controllers/admin/p_fournisseurs_controller.rb
Nicolas Bally f20fe482c6 initial
2020-04-06 10:38:07 +02:00

154 lines
3.1 KiB
Ruby

# -*- encoding : utf-8 -*-
class Admin::PFournisseursController < ApplicationController
layout "admin"
before_action :auth_admin
before_action :admin_space
def admin_space
@admin_space = "stocks"
end
def import
if false
@file = params[:csv_file]
require 'csv'
csv_text = File.read("#{Rails.root}/import_csv/fournisseurs.csv") #.force_encoding('ISO-8859-1')
@csv = CSV.parse(csv_text, :headers => true, :col_sep => ";")
end
end
def index
@p_fournisseurs = PFournisseur.includes(:p_payment_type)
params[:search] = params[:search] || {}
params[:search][:enabled] = "Oui" if !params[:search][:enabled]
boolean_search @p_fournisseurs ,:enabled
boolean_search @p_fournisseurs ,:payment_comptant
text_search @p_fournisseurs ,:code
collection_search @p_fournisseurs ,:p_payment_type_id
if params[:search][:name].to_s != ""
@p_fournisseurs = @p_fournisseurs.joins(:particulars).where("particulars.organisation LIKE ? or particulars.name LIKE ? or particulars.firstname LIKE ?","%#{params[:search][:name]}%", "%#{params[:search][:name]}%", "%#{params[:search][:name]}%")
end
@p_fournisseurs = sort_by_sorting(@p_fournisseurs, "created_at DESC")
respond_to do |format|
format.html{
params[:search][:per_page] = params[:search][:per_page] || 100
per_page = params[:search][:per_page]
page = (params[:page] and params[:page] != "") ? params[:page] : 1
@p_fournisseurs = @p_fournisseurs.page(page).per(per_page)
}
end
end
def show
@p_fournisseur = PFournisseur.find(params[:id])
end
def new
@p_fournisseur = PFournisseur.new
end
def edit
@p_fournisseur = PFournisseur.find(params[:id])
end
def create
@p_fournisseur = PFournisseur.new(params.require(:p_fournisseur).permit!)
if @p_fournisseur.save
#@p_fournisseurs = PFournisseur.order(:name).all
redirect_to admin_p_fournisseur_path(@p_fournisseur)
else
render action: "new"
end
end
def update
@p_fournisseur = PFournisseur.find(params[:id])
if @p_fournisseur.update_attributes(params.require(:p_fournisseur).permit!)
@p_fournisseurs = PFournisseur.order(:name).all
redirect_to admin_p_fournisseur_path(@p_fournisseur)
else
render action: "edit"
end
end
def destroy
@p_fournisseur = PFournisseur.find(params[:id])
@p_fournisseur.destroy
end
def autocomplete
search = params[:search]
@p_fournisseurs = PFournisseur.joins(:particular).where("code LIKE ? or particulars.organisation LIKE ? or particulars.name LIKE ? or particulars.firstname LIKE ?", "%#{search}%", "%#{search}%", "%#{search}%", "%#{search}%")
@p_fournisseurs = @p_fournisseurs.distinct.limit(50)
respond_to do |format|
format.json { render json: @p_fournisseurs.map{|a| {:id => a.id, :member_label => a.member_label}} }
end
end
end