Class: Settings::UsersController

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

Instance Method Summary collapse

Instance Method Details

#create ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/controllers/settings/users_controller.rb', line 32

def create
  authorize(User)
  password = helpers.random_password
  # Create user with a random password if one isn't provided
  @user = User.create({
    "password" => password,
    "password_confirmation" => password,
    "quota" => SiteSettings.default_user_quota,
    "quota_use_site_default" => true
  }.merge(user_params))
  if @user.valid?
    @user.send_reset_password_instructions if SiteSettings.email_configured?
    redirect_to [:settings, @user], notice: t(".success")
  else
    render :new, layout: "settings", status: :unprocessable_content
  end
end

#destroy ⇒ Object



65
66
67
68
# File 'app/controllers/settings/users_controller.rb', line 65

def destroy
  @user.destroy
  redirect_to settings_users_path, notice: t(".success")
end

#edit ⇒ Object



28
29
30
# File 'app/controllers/settings/users_controller.rb', line 28

def edit
  render layout: "settings"
end

#index ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'app/controllers/settings/users_controller.rb', line 6

def index
  @users = policy_scope(User).active.includes([:roles])
  @users = apply_sort_order(@users)
  @users = @users.page(params[:page]&.to_i || 1).per(params[:per_page]&.to_i || 25)
  render layout: "settings"
  # i18n-tasks-use t("activerecord.attributes.user.approved")
  # i18n-tasks-use t("activerecord.attributes.user.auth_uid")
  # i18n-tasks-use t("activerecord.attributes.user.created_at")
  # i18n-tasks-use t("activerecord.attributes.user.updated_at")
end

#new ⇒ Object



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

def new
  authorize(User)
  @user = User.new
  @user.send :assign_default_role
  render layout: "settings"
end

#show ⇒ Object



17
18
19
# File 'app/controllers/settings/users_controller.rb', line 17

def show
  render layout: "settings"
end

#update ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'app/controllers/settings/users_controller.rb', line 50

def update
  if params[:reset]
    @user.send_reset_password_instructions
    redirect_to [:settings, @user], notice: t(".reset_link_sent")
  elsif params[:approve]
    @user.update(approved: true)
    UserMailer.with(user: @user)..deliver_later if SiteSettings.email_configured?
    redirect_to [:settings, @user], notice: t(".approved")
  elsif @user.update(user_params)
    redirect_to [:settings, @user], notice: t(".success")
  else
    render :edit, layout: "settings", status: :unprocessable_content
  end
end