Class: Gluttonberg::Admin::Membership::MembersController
Instance Method Summary
collapse
Methods included from Public
#body_class, #clean_public_query, #clean_public_query_for_sphinx, #db_stylesheet_link_tag, #description_meta_tag, #google_analytics_js_tag, #html_truncate, #keywords_meta_tag, #link_to_inappropriate, #navigation_tree, #page_description, #page_fb_icon_path, #page_keywords, #page_title, #page_url, #render_match_partial
Instance Method Details
#create ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 32
def create
@password = Gluttonberg::Member.generateRandomString
password_hash = {
:password => @password ,
:password_confirmation => @password
}
@member = Member.new(params[:gluttonberg_member].merge(password_hash))
if !params[:gluttonberg_member][:group_ids].blank? && params[:gluttonberg_member][:group_ids].kind_of?(String)
@member.group_ids = [params[:gluttonberg_member][:group_ids]]
else
@member.group_ids = params[:gluttonberg_member][:group_ids]
end
@member.profile_confirmed = true
if @member.save
flash[:notice] = "Member account registered and welcome email is also sent to the member"
MemberNotifier.welcome(@member.id).deliver
redirect_to :action => :index
else
render :action => :new
end
end
|
#create_bulk ⇒ Object
import csv and show report for successfully, failed, updated members
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 108
def create_bulk
if params[:csv].blank?
flash[:error] = "Please provide a valid csv file."
redirect_to :action => new_bulk
else
@successfull , @failed , @updated = Member.importCSV(params[:csv][:file].tempfile.path , params[:invite] , params[:csv][:group_ids])
if @successfull.kind_of? String
flash[:error] = @successfull
redirect_to :action => new_bulk
return
end
end
end
|
#delete ⇒ Object
80
81
82
83
84
85
86
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 80
def delete
display_delete_confirmation(
:title => "Delete “#{@member.email}” member?",
:url => admin_membership_member_path(@member),
:return_url => admin_membership_members_path
)
end
|
#destroy ⇒ Object
88
89
90
91
92
93
94
95
96
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 88
def destroy
if @member.destroy
flash[:notice] = "Member deleted!"
redirect_to :action => :index
else
flash[:error] = "There was an error deleting the member."
redirect_to :action => :index
end
end
|
#edit ⇒ Object
56
57
58
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 56
def edit
@groups = Gluttonberg::Group.all
end
|
#export ⇒ Object
98
99
100
101
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 98
def export
csv_data = Member.exportCSV
send_data csv_data, :type => 'text/csv' , :disposition => 'attachment' , :filename => "All members at #{Time.now.strftime('%Y-%m-%d')}.csv"
end
|
#index ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 12
def index
unless params[:query].blank?
query = clean_public_query(params[:query])
command = "like"
if ActiveRecord::Base.configurations[Rails.env]["adapter"] == "postgresql"
command = "ilike"
end
@members = Member.order(get_order).where(["first_name #{command} ? OR last_name #{command} ? OR email #{command} ? OR bio #{command} ? " , "%#{query}%" , "%#{query}%" , "%#{query}%" , "%#{query}%" ]).includes(:groups)
else
@members = Member.order(get_order).includes(:groups)
end
@members = @members.paginate(:page => params[:page] , :per_page => Gluttonberg::Setting.get_setting("number_of_per_page_items") )
end
|
#new_bulk ⇒ Object
form for uploading csv for members
104
105
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 104
def new_bulk
end
|
#update ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 60
def update
if params[:gluttonberg_member] && params[:gluttonberg_member]["image_delete"] == "1"
params[:gluttonberg_member][:image] = nil
end
if !params[:gluttonberg_member][:group_ids].blank? && params[:gluttonberg_member][:group_ids].kind_of?(String)
@member.group_ids = [params[:gluttonberg_member][:group_ids]]
else
@member.group_ids = params[:gluttonberg_member][:group_ids]
end
@member.assign_attributes(params[:gluttonberg_member])
if @member.save
flash[:notice] = "Member account updated!"
redirect_to :action => :index
else
flash[:notice] = "Failed to save account changes!"
render :action => :edit
end
end
|
#welcome ⇒ Object
122
123
124
125
126
127
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 122
def welcome
@member = Member.find(params[:id])
MemberNotifier.welcome( @member ).deliver
flash[:notice] = "Welcome email is successfully sent to the member."
redirect_to :action => :index
end
|