Sha256: c05eca6362f5ab4412192e7e222c386ae4d3cbed1bbf475aa7dcbc99bf9f36d4

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

class Profiles < UsersApp
  prepare_model(
    Models::User, finder: :find_by_name,
    only: [:show, :edit, :update, :add_role, :remove_role]
  )

  # require_permission :view, only: :show do
  #   @user
  # end

  layout '/users/layout'

  helper Helpers::Users::Authorization

  allow_get_for :all, :show, :edit

  def all
    @users = Models::User.all
  end

  def show
  end


  require_permission(:update_profile, only: [:edit, :update]){@user}
  def edit
  end

  def update
    access_denied if @user.anonymous? and !Models::User.current.admin?

    if @user.update_attributes params[:user]
      flash[:info] = t :user_updated
      # redirect_to action: :show
    else
      render action: :edit
    end
  end

  def add_role
    require_permission "add_#{params[:role]}_role"

    @user.add_role params[:role]
    @user.save!
    @user.reload
    flash[:info] = t :role_granted
    render action: :update
  end

  def remove_role
    require_permission "remove_#{params[:role]}_role"

    @user.remove_role params[:role]
    @user.save!
    @user.reload
    flash[:info] = t :role_removed
    render action: :update
  end

  active_menu{:users}
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rad_users-0.0.2 app/controllers/profiles.rb