57 lines
1.3 KiB
Ruby
Executable File
57 lines
1.3 KiB
Ruby
Executable File
class Public::ContactsController < ApplicationController
|
|
layout :get_public_layout
|
|
|
|
def index
|
|
|
|
end
|
|
|
|
def new
|
|
@contact = Contact.new(:raison_id => params[:raison_id], :survey_set_id => params[:id], :provenance_id => 3)
|
|
|
|
session[:product_qtes] = session[:product_qtes] || {}
|
|
|
|
|
|
|
|
if @contact.raison_id == 4 and session[:product_ids] and session[:product_ids].size > 0
|
|
session[:product_ids].each do |token|
|
|
|
|
|
|
|
|
@contact.contact_products << ContactProduct.new(:d_product => DProduct.find(token), :qte => session[:product_qtes][token])
|
|
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
def create
|
|
@contact = Contact.new(params.require(:contact).permit!)
|
|
|
|
if @contact.raison_id == 4
|
|
|
|
@contact.contact_products.each do |contact_product|
|
|
|
|
session[:product_qtes][contact_product.d_product_id.to_s] = contact_product.qte
|
|
|
|
|
|
end
|
|
end
|
|
|
|
if @contact.save
|
|
if @contact.raison_id == 4
|
|
@contact.notes = session[:product_ids].join(",")
|
|
session[:product_ids] = []
|
|
end
|
|
@contact.save
|
|
QuestionMailer.send_contact(@contact).deliver
|
|
@contact.syncro
|
|
render :action => :create
|
|
else
|
|
|
|
render :action => :new
|
|
end
|
|
|
|
end
|
|
|
|
end
|