Sha256: b129ba607017f75ea5ceb6613c019c79e0e357ee617277906d728181100dda4f

Contents?: true

Size: 1.46 KB

Versions: 8

Compression:

Stored size: 1.46 KB

Contents

class Admin::UsersController < Admin::BaseController
  before_action :set_user,  :only => [:show, :edit, :update, :destroy]
  before_action :authorize_access

  def index
    @users = User.where(admin: true).to_a + @site.users.to_a
  end

  def show
  end

  def new
    @user = User.new
  end

  def create
    @user = User.new(params[:user])
    @user.memberships.build(:site => @site) if @site and !@user.admin?

    if @user.save
      @user.verify! # TODO hu??
      trigger_events(@user)
      redirect_to [:admin, @user], notice: "The user has been created."
    else
      flash.now.alert = "The user could not be created."
      render :action => :new
    end
  end

  def edit
  end

  def update
    if @user.update(params[:user])
      trigger_events(@user)
      redirect_to [:admin, @user], notice: "The user has been updated."
    else
      flash.now.alert = "The user could not be updated."
      render :action => :edit
    end
  end

  def destroy
    if @user.destroy
      trigger_events(@user)
      redirect_to [:admin, :users], notice: "The user has been deleted."
    else
      flash.now.alert = "The user could not be deleted."
      render :action => :edit
    end
  end

  private

    def set_menu
      @menu = Menus::Admin::Users.new
    end

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

    # FIXME extract this and use Rbac contexts instead
    def authorize_access
      redirect_to admin_sites_url unless @site || current_user.admin?
    end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
adva-0.3.2 app/controllers/admin/users_controller.rb
adva-0.3.1 app/controllers/admin/users_controller.rb
adva-0.3.0 app/controllers/admin/users_controller.rb
adva-0.2.4 app/controllers/admin/users_controller.rb
adva-0.2.3 app/controllers/admin/users_controller.rb
adva-0.2.2 app/controllers/admin/users_controller.rb
adva-0.2.1 app/controllers/admin/users_controller.rb
adva-0.2.0 app/controllers/admin/users_controller.rb