qi6_app/app/models/p_product.rb
2019-05-17 12:30:45 +02:00

49 lines
1.3 KiB
Ruby

class PProduct < ApplicationRecord
has_many :p_product_p_normes, :dependent => :destroy
has_many :p_product_specs, :through => :p_product_p_normes
has_many :p_product_brut_products
has_many :p_brut_products, :through => :p_product_brut_products
belongs_to :p_product_cat
accepts_nested_attributes_for :p_product_brut_products, allow_destroy: true
attr_accessor :create_matiere
def self.for_search(search)
PProduct.where("name LIKE ? or code LIKE ?", "%#{search}%", "%#{search}%")
end
after_create do
if self.create_matiere.to_s == "1"
p_brut_product = PBrutProduct.create(:name => self.name)
self.p_product_brut_products << PProductBrutProduct.create(:p_brut_product => p_brut_product, :qte => 1.0)
self.save
end
end
def self.import_csv
require 'csv'
csv_text = File.read("#{Rails.root}/csv_import/articles.csv")
@csv = CSV.parse(csv_text, :headers => false, :col_sep => ";")
@csv.each do |row|
@p_product = PProduct.new(:create_matiere => true)
@p_product.p_product_cat_id = row[0].to_i
@p_product.code = row[1]
@p_product.name = row[2]
@p_product.conditionnement = row[3]
@p_product.uv = row[4]
@p_product.compte_achat = row[5]
@p_product.compte_vente = row[6]
@p_product.save
end
end
end