# -*- 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