Advertisement
Guest User

Untitled

a guest
Jul 5th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. class UsersController < Clearance::UsersController
  2. before_action :require_login, only: [:create] # does this need to be in both user controllers?
  3.  
  4. ...
  5.  
  6. def user_params
  7. params.require(:user)
  8. end
  9. end
  10.  
  11. class Clearance::UsersController < ApplicationController
  12. before_action :require_login, only: [:create]
  13. require 'will_paginate/array'
  14.  
  15. def new
  16. @user = user_from_params
  17. render template: 'users/new'
  18. end
  19.  
  20. def create
  21. @user = user_from_params
  22. @user.regenerate_password
  23.  
  24. if @user.save
  25. sign_in @user unless current_user
  26. UserMailer.welcome_email(@user).deliver!
  27. redirect_to users_path
  28. else
  29. render template: 'users/new'
  30. end
  31. end
  32.  
  33. def edit
  34. @user = User.friendly.find(params[:id])
  35. end
  36.  
  37. def update
  38. @user = User.friendly.find(params[:id])
  39. if @user.update(permit_params)
  40. redirect_to @user
  41. flash[:success] = "This profile has been updated."
  42. else
  43. render 'edit'
  44. end
  45. end
  46.  
  47. private
  48.  
  49. def avoid_sign_in
  50. redirect_to Clearance.configuration.redirect_url
  51. end
  52.  
  53. def url_after_create(user)
  54. dashboards_path(user)
  55. end
  56.  
  57. def user_from_params
  58. user_params = params[:user] || Hash.new
  59. is_public = check_public_params(user_params)
  60.  
  61. first_name = user_params.delete(:first_name)
  62. last_name = user_params.delete(:last_name)
  63. email = user_params.delete(:email)
  64. password = user_params.delete(:password)
  65. parish = user_params.delete(:parish)
  66. division = user_params.delete(:division)
  67. admin = user_params.delete(:admin)
  68.  
  69. Clearance.configuration.user_model.new(user_params).tap do |user|
  70. user.first_name = first_name
  71. user.last_name = last_name
  72. user.password = password
  73. user.email = email
  74. user.is_public = is_public
  75. user.parish_id = parish.to_i
  76. user.division = division
  77. user.admin = admin
  78. end
  79. end
  80.  
  81. def permit_params
  82. params.require(:user).permit(:first_name, :last_name, :email, :password, :is_public, :parish_id, :division, :admin)
  83. end
  84. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement