vita_app/app/controllers/public/product_customers_controller.rb
Nicolas Bally d52c017848 suite
2016-04-28 22:41:58 +02:00

154 lines
3.5 KiB
Ruby
Executable File

class Public::ProductCustomersController < ApplicationController
layout "public"
before_filter :auth_product_customer, :except => [:new, :create, :confirm, :find_parrain, :parrainage]
def index
@product_customers = ProductCustomer.all
end
def new
if params[:r] and params[:r] != ""
session[:before_auth_url] = nil
end
@no_search = true
if params[:for_annonce] and params[:for_annonce] != ""
session[:for_annonce] = true
params[:step] = "login"
else
session[:for_annonce] = nil
params[:for_annonce] = nil
end
params[:for_mail] =nil if params[:for_mail] == ""
@product_customer = ProductCustomer.new()
if cookies[:mlm_token] and @parent = ProductCustomer.find_parrain(cookies[:mlm_token])
@product_customer.parent_code = @parent.mlm_token.upcase
elsif params[:p] and @parent = ProductCustomer.find_parrain(params[:p])
@product_customer.parent_code = @parent.mlm_token.upcase
end
if cookies[:mlm_token] and @parent = ProductCustomer.find_parrain(cookies[:mlm_token])
@product_customer.parent_code = @parent.mlm_token.upcase
elsif params[:p] and @parent = ProductCustomer.find_parrain(params[:p])
@product_customer.parent_code = @parent.mlm_token.upcase
end
end
def edit
@product_customer = ProductCustomer.find(params[:id])
end
def create
@product_customer = ProductCustomer.new(params.require(:product_customer).permit!)
@product_customer.remote_ip = request.remote_ip
if @product_customer.save
#ProductCustomerMailer.confirm(@product_customer).deliver
@product_customer.authenticate(params[:password])
cookies[:product_customer_auth_token] = @product_customer.token
redirect_to particulars_public_product_orders_path
else
render :action => "new"
end
end
def confirm
@product_customer = ProductCustomer.find_by_token(params[:id])
@product_customer.enabled = true
@product_customer.save(:validate => false)
cookies[:product_customer_auth_token] = @product_customer.token
redirect_to public_my_account_path
#redirect_to "/"
end
def update
@product_customer = ProductCustomer.find(params[:id])
if params[:order]
@product_customer.force_address = true
end
if @product_customer == current_product_customer
if @product_customer.update_attributes(params.require(:product_customer).permit!)
if params[:order]
@product_customer = current_product_customer
@order.product_customer = @product_customer
render :template => "public/orders/new"
else
redirect_to public_my_account_path
end
else
if params[:order]
@order = Order.new(session[:order])
render :template => "public/orders/billing"
else
render :template => "public/my_account/edit_infos"
end
end
end
end
def find_parrain
@parent = ProductCustomer.find_parrain(params[:parent_code])
if @parent
cookies.permanent[:mlm_token] = @parent.mlm_token
else
cookies.permanent[:mlm_token] = nil
end
render layout: false
end
def parrainage
cookies.permanent[:mlm_token] = params[:mlm_token]
redirect_to "/"
end
end