Class: Muck::UsersController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/muck/users_controller.rb

Instance Method Summary collapse

Instance Method Details

#activation_instructionsObject



28
29
30
31
32
33
34
# File 'app/controllers/muck/users_controller.rb', line 28

def activation_instructions
  @page_title = t('muck.users.welcome')
  @user = User.find(params[:id])
  respond_to do |format|
    format.html { render :template => 'users/activation_instructions' }
  end
end

#createObject



50
51
52
53
54
55
56
57
58
# File 'app/controllers/muck/users_controller.rb', line 50

def create
  @page_title = t('muck.users.register_account', :application_name => GlobalConfig.application_name)
  cookies.delete :auth_token
  @user = User.new(params[:user])
  check_access_code
  check_recaptcha
  success, path = setup_user
  after_create_response(success, path)
end

#destroyObject



71
72
73
74
75
76
77
78
# File 'app/controllers/muck/users_controller.rb', line 71

def destroy
  return unless admin? || GlobalConfig.
  @user = admin? ? User.find(params[:id]) : User.find(current_user)
  if @user.destroy
    flash[:notice] = t("muck.users.user_account_deleted")
  end
  after_destroy_response
end

#editObject



42
43
44
45
46
47
48
# File 'app/controllers/muck/users_controller.rb', line 42

def edit
  @page_title = t('muck.users.update_profile')
  @user = admin? ? User.find(params[:id]) : current_user
  respond_to do |format|
    format.html { render :template => 'users/edit' }
  end
end

#is_email_availableObject



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'app/controllers/muck/users_controller.rb', line 105

def is_email_available
  if params[:user_email].nil?
    result = ''
  elsif params[:user_email].empty?
    result = t('muck.users.email_empty')
  elsif !User.email_exists?(params[:user_email])
    valid, errors = valid_email?(params[:user_email])
    if valid
      result = t('muck.users.email_available')
    else
      result = t('muck.users.email_invalid')
    end
  else
    recover_password_prompt = render_to_string :partial => 'users/recover_password_via_email_link', :locals => { :email => params[:user_email] }
    result = t('muck.users.email_not_available', :reset_password_help => recover_password_prompt)
  end
  respond_to do |format|
    format.html { render :text => result }
    format.js { render :text => result }
  end
end

#is_login_availableObject



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'app/controllers/muck/users_controller.rb', line 80

def 
  result = t('muck.users.username_not_available')
  if params[:user_login].nil?
    result = ''
  elsif params[:user_login].empty?
    result = t('muck.users.login_empty')
  elsif !User.(params[:user_login])
    @user = User.new(:login => params[:user_login])
    if !@user.validate_attributes(:only => [:login])
      result = t('muck.users.invalid_username')
      @user.errors.full_messages.each do |message|
        if !message.include? 'blank'
          result += "<br />#{message}"
        end
      end
    else
      result = t('muck.users.username_available')
    end
  end
  respond_to do |format|
    format.html { render :text => result }
    format.js { render :text => result }
  end
end

#newObject



36
37
38
39
40
# File 'app/controllers/muck/users_controller.rb', line 36

def new
  @page_title = t('muck.users.register_account', :application_name => GlobalConfig.application_name)
  @user = User.new
  standard_response('new')
end

#showObject



9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/muck/users_controller.rb', line 9

def show
  @user = User.find(params[:id]) if params[:id]
  @user ||= current_user
  if @user == current_user
    @page_title = @user.to_param
    standard_response('show')
  else
    redirect_to public_user_path(@user)
  end
end

#updateObject



60
61
62
63
64
65
66
67
68
69
# File 'app/controllers/muck/users_controller.rb', line 60

def update
  @title = t("users.update_profile")
  @user = admin? ? User.find(params[:id]) : User.find(current_user)
  if @user.update_attributes(params[:user])
    flash[:notice] = t("muck.users.user_update")
    after_update_response(true)
  else
    after_update_response(false)
  end
end

#welcomeObject



20
21
22
23
24
25
26
# File 'app/controllers/muck/users_controller.rb', line 20

def welcome
  @page_title = t('muck.users.welcome')
  @user = User.find(params[:id])
  respond_to do |format|
    format.html { render :template => 'users/welcome' }
  end
end