Class: Gluttonberg::Admin::Membership::MembersController
Instance Method Summary
collapse
Methods included from Public
#clean_public_query, #clean_public_query_for_sphinx, #embed_shortcode, #google_analytics_js_tag, #link_to_inappropriate, #render_match_partial, #shortcode_safe
#gallery_ul
#html_truncate
#cms_managed_stylesheets_link_tag
#build_page, #children_active?, #find_children, #navigation_tree, #page_url
#description_meta_tag, #keywords_meta_tag
#body_class, #og_image, #og_site_name, #og_title, #og_type, #page_description, #page_keywords, #page_title
Instance Method Details
#create ⇒ Object
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 40
def create
password_hash = Gluttonberg::Member.generate_password_hash
@member = Member.new(params[:gluttonberg_member].merge(password_hash))
@member.assign_groups(params[:gluttonberg_member][:group_ids])
@member.profile_confirmed = true
if @member.save
flash[:notice] = "Member has been registered, A welcome email has been sent."
MemberNotifier.welcome(@member.id).deliver
redirect_to admin_membership_members_path
else
render :action => :new
end
end
|
#create_bulk ⇒ Object
import csv and show report for successfully, failed, updated members
99
100
101
102
103
104
105
106
107
108
109
110
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 99
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
end
end
end
|
#delete ⇒ Object
73
74
75
76
77
78
79
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 73
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
81
82
83
84
85
86
87
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 81
def destroy
generic_destroy(@member, {
:name => "member",
:success_path => admin_membership_members_path,
:failure_path => admin_membership_members_path
})
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
89
90
91
92
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 89
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
|
#group ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 22
def group
@group = Group.where(:id => params[:id]).first
@members = @group.members.order(get_order).includes(:groups)
unless params[:query].blank?
query = clean_public_query(params[:query])
command = Gluttonberg.like_or_ilike
@members = @members.where(["first_name #{command} :query OR last_name #{command} :query OR email #{command} :query OR bio #{command} :query " , :query => "%#{query}%" ])
end
@members = @members.paginate(:page => params[:page] , :per_page => Gluttonberg::Setting.get_setting("number_of_per_page_items") )
render :template => "/gluttonberg/admin/membership/members/index"
end
|
#index ⇒ Object
12
13
14
15
16
17
18
19
20
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 12
def index
@members = Member.order(get_order).includes(:groups)
unless params[:query].blank?
query = clean_public_query(params[:query])
command = Gluttonberg.like_or_ilike
@members = @members.where(["first_name #{command} :query OR last_name #{command} :query OR email #{command} :query OR bio #{command} :query " , :query => "%#{query}%" ])
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
95
96
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 95
def new_bulk
end
|
#update ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 60
def update
mark_image_delete
@member.assign_groups(params[:gluttonberg_member][:group_ids])
@member.assign_attributes(params[:gluttonberg_member])
if @member.save
flash[:notice] = "Member account updated!"
redirect_to admin_membership_members_path
else
flash[:notice] = "Failed to save account changes!"
render :action => :edit
end
end
|
#welcome ⇒ Object
112
113
114
115
116
|
# File 'app/controllers/gluttonberg/admin/membership/members_controller.rb', line 112
def welcome
MemberNotifier.welcome( params[:id] ).deliver
flash[:notice] = "Welcome email is successfully sent to the member."
redirect_to admin_membership_members_path
end
|