Class: Ums::UsersController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- Ums::UsersController
- Defined in:
- app/controllers/ums/users_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
POST /ums/users POST /ums/users.json.
-
#destroy ⇒ Object
DELETE /ums/users/1 DELETE /ums/users/1.json.
-
#edit ⇒ Object
GET /ums/users/1/edit.
- #index ⇒ Object
- #login ⇒ Object
- #logout ⇒ Object
-
#new ⇒ Object
GET /ums/users/new.
- #password ⇒ Object
- #profile ⇒ Object
- #show ⇒ Object
-
#update ⇒ Object
PATCH/PUT /ums/users/1 PATCH/PUT /ums/users/1.json.
-
#welcome ⇒ Object
GET /ums/users GET /ums/users.json.
Instance Method Details
#create ⇒ Object
POST /ums/users POST /ums/users.json
142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'app/controllers/ums/users_controller.rb', line 142 def create @ums_user = Ums::User.new(ums_user_params) respond_to do |format| if @ums_user.save format.html { redirect_to ums.users_url, notice: '用户创建成功.' } format.json { render action: 'show', status: :created, location: @ums_user } else format.html { render action: 'new' , status: :unprocessable_entity } format.json { render json: @ums_user.errors, status: :unprocessable_entity } end end end |
#destroy ⇒ Object
DELETE /ums/users/1 DELETE /ums/users/1.json
172 173 174 175 176 177 178 |
# File 'app/controllers/ums/users_controller.rb', line 172 def destroy @ums_user.destroy respond_to do |format| format.html { redirect_to ums.users_url, notice: '用户删除成功.' } format.json { head :no_content } end end |
#edit ⇒ Object
GET /ums/users/1/edit
137 138 |
# File 'app/controllers/ums/users_controller.rb', line 137 def edit end |
#index ⇒ Object
125 126 127 |
# File 'app/controllers/ums/users_controller.rb', line 125 def index @ums_users = Ums::User.all end |
#login ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/controllers/ums/users_controller.rb', line 14 def login if request.post? user = Ums::User.authenticate(params[:account],params[:password]) if user login_count = user.login_count login_count = 0 if login_count.nil? login_count += 1 session[:last_login_time] = user.last_login_time session[:last_login_ip] = user.last_login_ip session[:login_count] = login_count user.last_login_time = Time.now user.last_login_ip = request.remote_ip user.login_count = login_count user.save(validate: false) session[:user_id] = user.id session[:user_account] = user.account session[:user_name] = user.name uri = session[:original_uri] session[:original_uri] = nil log_info("login",params[:account] + "登录成功") = '^redactor_rails|welcome|profile|password|' # 上传组件和用户基础操作默认许可 user.role.functions.each do |function| if function.action.blank? += '^' + function.controller else += function.controller + "/" + function.action end += "|" end .chop! unless .blank? session[:user_permission] = respond_to do |format| format.html { redirect_to uri || root_path } format.json { render json: {is_success:"true",message:"登录成功",user:user} } end else log_error("login",params[:account] + "登录失败") respond_to do |format| error_info = "无效的账号或密码" format.html { flash.now[:notice] = error_info } format.json { render json: {is_success:"false",message:error_info} } end end end end |
#logout ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 |
# File 'app/controllers/ums/users_controller.rb', line 69 def logout log_info("logout",session[:user_account].to_s + "退出登录") session[:user_id] = nil session[:user_account] = nil session[:user_name] = nil session[:last_login_time] = nil session[:last_login_ip] = nil session[:login_count] = nil #flash[:notice] = "已退出" redirect_to root_path end |
#new ⇒ Object
GET /ums/users/new
131 132 133 134 |
# File 'app/controllers/ums/users_controller.rb', line 131 def new @ums_user = Ums::User.new @ums_user.is_enabled = true end |
#password ⇒ Object
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'app/controllers/ums/users_controller.rb', line 81 def password if request.post? if params[:new_password].blank? flash.now[:error] = "新密码不能为空" return end if params[:new_password] != params[:re_password] flash.now[:error] = "两次新密码输入不一致" return end if params[:new_password].blank? flash.now[:error] = "新密码不能为空" return end user = Ums::User.find_by_id(session[:user_id]) if user.verify_password(params[:old_password]) user.password=params[:new_password] if user.save flash.now[:notice] = "密码修改成功" params.delete(:new_password) params.delete(:old_password) params.delete(:re_password) else flash.now[:error] = user.errors..to_s end else flash.now[:error] = "旧密码输入错误" end render status: :unprocessable_entity end end |
#profile ⇒ Object
113 114 115 116 117 118 119 120 121 122 123 |
# File 'app/controllers/ums/users_controller.rb', line 113 def profile @ums_user = Ums::User.find_by_id(session[:user_id]) if request.patch? if @ums_user.update(params.require(:user).permit(:email)) flash.now[:notice] = "资料修改成功" else flash.now[:error] = "资料修改失败" end render status: :unprocessable_entity end end |
#show ⇒ Object
128 129 |
# File 'app/controllers/ums/users_controller.rb', line 128 def show end |
#update ⇒ Object
PATCH/PUT /ums/users/1 PATCH/PUT /ums/users/1.json
158 159 160 161 162 163 164 165 166 167 168 |
# File 'app/controllers/ums/users_controller.rb', line 158 def update respond_to do |format| if @ums_user.update(ums_user_params) format.html { redirect_to ums.users_url, notice: '用户修改成功.' } format.json { head :no_content } else format.html { render action: 'edit', status: :unprocessable_entity } format.json { render json: @ums_user.errors, status: :unprocessable_entity } end end end |
#welcome ⇒ Object
GET /ums/users GET /ums/users.json
11 12 |
# File 'app/controllers/ums/users_controller.rb', line 11 def welcome end |