Class: Wco::LeadsController
Instance Method Summary
collapse
#home, #tinymce
#my_truthy?, #obfuscate, #pp_amount, #pp_currency, #pp_date, #pp_datetime, #pp_money, #pp_percent, #pp_time, #pretty_date
Instance Method Details
#create ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'app/controllers/wco/leads_controller.rb', line 5
def create
params[:lead][:tag_ids]&.delete ''
params[:lead].delete :leadset_id if params[:lead][:leadset_id].blank?
@lead = Wco::Lead.new params[:lead].permit!
authorize! :create, @lead
if params[:lead][:photo]
photo = Wco::Photo.new photo: params[:lead][:photo]
photo.is_public = true
if photo.save
@lead.photo = photo
end
params[:lead].delete :photo
end
if @lead.save
flash_notice 'ok'
else
flash_alert @lead
end
redirect_to action: :index
end
|
#edit ⇒ Object
29
30
31
32
|
# File 'app/controllers/wco/leads_controller.rb', line 29
def edit
authorize! :edit, Wco::Lead
@lead = Wco::Lead.find params[:id]
end
|
#index ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'app/controllers/wco/leads_controller.rb', line 34
def index
authorize! :index, Wco::Lead
@leads = Wco::Lead.all
if params[:q].present?
q = params[:q].downcase
@leads = @leads.any_of(
{ email: /#{q}/i },
{ name: /#{q}/i },
);
if 1 == @leads.length
redirect_to controller: 'wco/leads', action: 'show', id: @leads[0].id
return
end
end
@leads = @leads.page( params[:leads_page ] ).per( current_profile.per_page )
end
|
#new ⇒ Object
54
55
56
57
|
# File 'app/controllers/wco/leads_controller.rb', line 54
def new
authorize! :new, Wco::Lead
@lead = Wco::Lead.new
end
|
#show ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'app/controllers/wco/leads_controller.rb', line 59
def show
@lead = Wco::Lead.where({ id: params[:id] }).first
@lead ||= Wco::Lead.where({ email: params[:id] }).first
authorize! :show, @lead
if !@lead
flash_alert "This lead does not exist"
redirect_to request.referrer
return
end
@ctxs = @lead.ctxs.page( params[:ctxs_page] ).per( current_profile.per_page )
@convs = @lead.conversations.page( params[:convs_page] ).per( current_profile.per_page )
end
|
#update ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# File 'app/controllers/wco/leads_controller.rb', line 73
def update
params[:lead][:tag_ids]&.delete ''
params[:lead].delete :leadset_id if params[:lead][:leadset_id].blank?
@lead = Wco::Lead.find params[:id]
authorize! :update, @lead
if params[:lead][:photo]
photo = Wco::Photo.new photo: params[:lead][:photo]
photo.is_public = true
if photo.save
@lead.photo = photo
end
params[:lead].delete :photo
end
if @lead.update params[:lead].permit!
flash_notice 'ok'
else
puts! @lead.errors.full_messages.join(", "), 'cannot update lead'
flash_alert @lead
end
redirect_to action: :show, id: @lead.id
end
|