Class: Caboose::UsersController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Caboose::UsersController
- Defined in:
- app/controllers/caboose/users_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /users.
-
#destroy ⇒ Object
DELETE /users/1.
-
#edit ⇒ Object
GET /users/1/edit.
-
#index ⇒ Object
GET /users.
-
#new ⇒ Object
GET /users/new.
-
#update ⇒ Object
PUT /users/1.
- #update_pic ⇒ Object
- #update_resume ⇒ Object
Methods inherited from ApplicationController
#before_action, #before_before_action, #logged_in?, #logged_in_user, #login_user, #reject_param, #user_is_allowed, #validate_token, #var
Instance Method Details
#create ⇒ Object
POST /users
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/controllers/caboose/users_controller.rb', line 41 def create return if !user_is_allowed('users', 'add') resp = StdClass.new({ 'error' => nil, 'redirect' => nil }) user = User.new() user.username = params[:username] if (user.username.length == 0) resp.error = "Your username is required." elsif user.save resp.redirect = "/users/#{user.id}/edit" end render json: resp end |
#destroy ⇒ Object
DELETE /users/1
106 107 108 109 110 111 112 113 114 115 |
# File 'app/controllers/caboose/users_controller.rb', line 106 def destroy return if !user_is_allowed('users', 'delete') user = User.find(params[:id]) user.destroy resp = StdClass.new({ 'redirect' => '/users' }) render json: resp end |
#edit ⇒ Object
GET /users/1/edit
33 34 35 36 37 38 |
# File 'app/controllers/caboose/users_controller.rb', line 33 def edit return if !user_is_allowed('users', 'edit') @user = User.find(params[:id]) @all_roles = Role.tree @roles = Role.roles_with_user(@user.id) end |
#index ⇒ Object
GET /users
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/caboose/users_controller.rb', line 6 def index return if !user_is_allowed('users', 'view') @gen = PageBarGenerator.new(params, { 'first_name' => '', 'last_name' => '', 'username' => '', 'email' => '', },{ 'sort' => 'last_name, first_name', 'desc' => false, 'base_url' => '/users' }) if (@gen.['page'] == 0) @gen.['item_count'] = User.where(@gen.where).count end @users = User.where(@gen.where).limit(@gen.limit).offset(@gen.offset).reorder(@gen.reorder).all end |
#new ⇒ Object
GET /users/new
27 28 29 30 |
# File 'app/controllers/caboose/users_controller.rb', line 27 def new return if !user_is_allowed('users', 'add') @user = User.new end |
#update ⇒ Object
PUT /users/1
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'app/controllers/caboose/users_controller.rb', line 62 def update return if !user_is_allowed('users', 'edit') resp = StdClass.new user = User.find(params[:id]) name = params[:name] value = params[:value] save = true case name when "first_name", "last_name", "username", "email" user[name.to_sym] = value when "password" confirm = params[:confirm] if (value != confirm) resp.error = "Passwords do not match."; save = false elsif (value.length < 8) resp.error = "Passwords must be at least 8 characters."; save = false else user.password = Digest::SHA1.hexdigest(Caboose::salt + value) end when "roles" user.roles = []; value.each { |rid| user.roles << Role.find(rid) } unless value.nil? resp.attribute = { 'text' => user.roles.collect{ |r| r.name }.join(', ') } end resp.success = save && user.save render json: resp end |
#update_pic ⇒ Object
95 96 97 98 |
# File 'app/controllers/caboose/users_controller.rb', line 95 def update_pic @user = User.find(params[:id]) @new_value = "Testing" end |
#update_resume ⇒ Object
100 101 102 103 |
# File 'app/controllers/caboose/users_controller.rb', line 100 def update_resume @user = User.find(params[:id]) @new_value = "Testing" end |