154 lines
3.1 KiB
Ruby
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
|