233 lines
6.0 KiB
Ruby
233 lines
6.0 KiB
Ruby
class Public::AnnonceAccountsController < ApplicationController
|
|
layout "public"
|
|
|
|
before_filter :auth_annonce_account, :except => [:new, :create, :confirm, :show, :parrainage, :find_parrain]
|
|
|
|
|
|
def parrainage
|
|
cookies.permanent[:mlm_token] = params[:mlm_token]
|
|
redirect_to "/"
|
|
end
|
|
|
|
def index
|
|
|
|
@annonce_accounts = AnnonceAccount.all
|
|
end
|
|
|
|
|
|
def show
|
|
per_page = (params[:per_page] and params[:per_page] != "") ? params[:per_page] : 10
|
|
page = (params[:page] and params[:page] != "") ? params[:page] : 1
|
|
|
|
@annonce_account = AnnonceAccount.enableds.find_by_id(params[:id])
|
|
if @annonce_account
|
|
@annonces = @annonce_account.annonces.valid_to_show.order("list_head DESC, created_at DESC").page(page).per(per_page).all
|
|
end
|
|
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] == ""
|
|
|
|
@annonce_account = AnnonceAccount.new()
|
|
if cookies[:mlm_token] and @parent = AnnonceAccount.find_parrain(cookies[:mlm_token])
|
|
@annonce_account.parent_code = @parent.mlm_token.upcase
|
|
|
|
elsif params[:p] and @parent = AnnonceAccount.find_parrain(params[:p])
|
|
@annonce_account.parent_code = @parent.mlm_token.upcase
|
|
|
|
end
|
|
|
|
end
|
|
|
|
def show_details
|
|
@no_search = true
|
|
if current_annonce_account.mlm_children_ids.include?(params[:id].to_i)
|
|
|
|
@annonce_account = AnnonceAccount.find(params[:id])
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
def edit
|
|
@annonce_account = AnnonceAccount.find(params[:id])
|
|
|
|
end
|
|
|
|
def find_parrain
|
|
@parent = AnnonceAccount.find_parrain(params[:parent_code])
|
|
|
|
if @parent
|
|
cookies.permanent[:mlm_token] = @parent.mlm_token
|
|
else
|
|
cookies.permanent[:mlm_token] = nil
|
|
end
|
|
end
|
|
|
|
|
|
def create
|
|
params[:for_annonce] =nil if params[:for_annonce] == ""
|
|
params[:for_mail] =nil if params[:for_mail] == ""
|
|
|
|
params[:step] = "login"
|
|
@no_search = true
|
|
@annonce_account = AnnonceAccount.new(params.require(:annonce_account).permit!)
|
|
@annonce_account.remote_ip = request.remote_ip
|
|
|
|
@parent = AnnonceAccount.find_parrain(@annonce_account.parent_code)
|
|
|
|
if @annonce_account.save
|
|
IpHistory.create(:element => @annonce_account, :annonce_account => @annonce_account, :remote_ip => request.remote_ip)
|
|
AnnonceAccountMailer.confirm(@annonce_account).deliver
|
|
if @parent
|
|
AnnonceAccountMailer.new_user(@annonce_account).deliver
|
|
end
|
|
@annonce_account.authenticate(params[:password])
|
|
|
|
cookies[:annonce_account_auth_token] = @annonce_account.token
|
|
|
|
|
|
if session[:for_annonce]
|
|
session[:for_annonce] =nil
|
|
redirect_to new_public_annonce_path(:ins => "ins_finish"), notice: "Vous êtes désormais inscrit."
|
|
elsif session[:before_auth_url]
|
|
url = session[:before_auth_url]
|
|
session[:before_auth_url] = nil
|
|
redirect_to url
|
|
else
|
|
redirect_to public_my_account_path(:ins => "ins_finish"), notice: "Vous êtes désormais inscrit."
|
|
end
|
|
|
|
|
|
else
|
|
render :action => "new"
|
|
end
|
|
end
|
|
|
|
def confirm
|
|
@annonce_account = AnnonceAccount.find_by_token(params[:id])
|
|
@annonce_account.enabled = true
|
|
@annonce_account.save(:validate => false)
|
|
|
|
|
|
cookies[:annonce_account_auth_token] = @annonce_account.token
|
|
|
|
redirect_to public_my_account_path
|
|
#redirect_to "/"
|
|
end
|
|
|
|
|
|
def update
|
|
@annonce_account = AnnonceAccount.find(params[:id])
|
|
|
|
if params[:order]
|
|
|
|
@annonce_account.force_address = true
|
|
end
|
|
|
|
if @annonce_account == current_annonce_account
|
|
|
|
|
|
if @annonce_account.update_attributes(params.require(:annonce_account).permit!)
|
|
|
|
if params[:order]
|
|
|
|
if params[:credit_product_id]
|
|
@credit_product = CreditProduct.find(params[:credit_product_id])
|
|
@order = Order.new(:devise => @credit_product.devise)
|
|
session[:order] = @order
|
|
session[:order].credit_product = @credit_product
|
|
|
|
|
|
|
|
elsif session[:order]
|
|
@order = Order.new(session[:order])
|
|
else
|
|
|
|
end
|
|
|
|
@annonce_account = current_annonce_account
|
|
@order.annonce_account = @annonce_account
|
|
|
|
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 destroy
|
|
|
|
#@annonce_account = AnnonceAccount.find(params[:id])
|
|
#@annonce_account.destroy
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
def mail
|
|
@no_search = true
|
|
@annonce_account = AnnonceAccount.enableds.find_by_id(params[:id])
|
|
|
|
if @annonce_account
|
|
@annonce_message = AnnonceMessage.new(:destinataire => @annonce_account)
|
|
if params[:annonce_id]
|
|
if current_annonce_account and @annonce = current_annonce_account.annonces.find_by_id(params[:annonce_id])
|
|
|
|
elsif current_admin
|
|
|
|
@annonce = Annonce.find(params[:annonce_id])
|
|
else
|
|
|
|
@annonce = Annonce.valid_to_show.find_by_id(params[:annonce_id])
|
|
end
|
|
if @annonce
|
|
@annonce_message.annonce = @annonce
|
|
else
|
|
@annonce_invalide = true
|
|
end
|
|
|
|
|
|
end
|
|
|
|
@annonce_message.expediteur = current_annonce_account if current_annonce_account
|
|
if @annonce_message.expediteur
|
|
@annonce_message.expediteur_mail = current_annonce_account.email
|
|
@annonce_message.tel = current_annonce_account.tel_number
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
|
|
end
|