Sha256: 859b0f04165a18cfe5df4c6bf42d1dba1e22a0598f178c67841ace11775140c3

Contents?: true

Size: 1.26 KB

Versions: 44

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module Renalware
  class Admin::UsersController < BaseController
    include Renalware::Concerns::Pageable

    def index
      query = params.fetch(:q, {})
      query[:s] ||= "family_name"
      search = User
        .includes(:roles)
        .where.not(username: :systemuser)
        .search(query)
      users = search.result(distinct: true).page(page).per(per_page)
      authorize users
      render locals: { users: users, user_search: search }
    end

    def edit
      load_user
    end

    def update
      load_user

      if update_user.call(update_params)
        redirect_to admin_users_path,
          notice: t(".success", model_name: "user")
      else
        flash.now[:error] = t(".failed", model_name: "user")
        render :edit
      end
    end

    private

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

    def update_params
      roles = Array(Role.fetch(role_ids))
      user_params.merge(roles: roles)
    end

    def user_params
      params.require(:user).permit(:approved, :unexpire, :telephone, role_ids: [])
    end

    def role_ids
      (user_params[:role_ids] || []).reject(&:blank?)
    end

    def update_user
      @service ||= System::UpdateUser.new(@user)
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
renalware-core-2.0.64 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.63 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.62 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.61 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.60 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.58 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.57 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.56 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.55 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.54 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.53 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.52 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.51 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.50 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.48 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.47 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.46 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.45 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.44 app/controllers/renalware/admin/users_controller.rb
renalware-core-2.0.43 app/controllers/renalware/admin/users_controller.rb