Sha256: af15fd748c7f7e4a25166392f65ec0ceb210850321934d54e76041ae9413a756

Contents?: true

Size: 1.89 KB

Versions: 3

Compression:

Stored size: 1.89 KB

Contents

# frozen_string_literal: true

class Admin::UsersController < Admin::BaseController
  before_action :set_user, only: [:edit, :update, :destroy]

  def index
    @users = User.order("login asc").page(params[:page])
      .per(this_blog.admin_display_elements)
  end

  def new
    @user = User.new
    @user.text_filter_name = this_blog.text_filter
  end

  def edit
    @user = params[:id] ? User.find_by(id: params[:id]) : current_user
  end

  def create
    @user = User.new(user_params)
    @user.name = @user.login
    if @user.save
      redirect_to admin_users_url, notice: I18n.t("admin.users.new.success")
    else
      render :new
    end
  end

  def update
    if @user.update(update_params)
      flash[:notice] = I18n.t("admin.base.successfully_updated",
                              name: User.model_name.human)
      redirect_to admin_users_url
    else
      render :edit
    end
  end

  def destroy
    @user.destroy if User.where("profile = ? and id != ?", User::ADMIN, @user.id).count > 1
    redirect_to admin_users_url
  end

  private

  def set_user
    @user = User.find(params[:id])
  end

  def user_params
    params.require(:user).permit(:login, :password, :password_confirmation,
                                 :email, :firstname, :lastname, :nickname,
                                 :name, :notify_via_email,
                                 :notify_on_new_articles, :notify_on_comments,
                                 :profile, :text_filter_name, :state,
                                 :twitter_account, :twitter_oauth_token,
                                 :twitter_oauth_token_secret, :description,
                                 :url, :msn, :yahoo, :jabber, :aim, :twitter)
  end

  def update_params
    if user_params[:password].blank? && user_params[:password_confirmation].blank?
      user_params.except(:password_confirmation, :password)
    else
      user_params
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
publify_core-10.0.2 app/controllers/admin/users_controller.rb
publify_core-10.0.1 app/controllers/admin/users_controller.rb
publify_core-10.0.0 app/controllers/admin/users_controller.rb