Sha256: 68f8bf30993e68210db404f62b55ab5abc58fd0d520c8715b851941df894df60

Contents?: true

Size: 1.57 KB

Versions: 3

Compression:

Stored size: 1.57 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)
      flash[:notice] = t(:'adva.users.flash.create.success')
      redirect_to admin_user_url(@user)
    else
      flash.now[:error] = t(:'adva.users.flash.create.failure')
      render :action => :new
    end
  end

  def edit
  end

  def update
    if @user.update(params[:user])
      trigger_events(@user)
      flash[:notice] = t(:'adva.users.flash.update.success')
      redirect_to admin_user_url(@user)
    else
      flash.now[:error] = t(:'adva.users.flash.update.failure')
      render :action => :edit
    end
  end

  def destroy
    if @user.destroy
      trigger_events(@user)
      flash[:notice] = t(:'adva.users.flash.destroy.success')
      redirect_to admin_users_url
    else
      flash.now[:error] = t(:'adva.users.flash.destroy.failure')
      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

3 entries across 3 versions & 1 rubygems

Version Path
adva-0.1.4 app/controllers/admin/users_controller.rb
adva-0.1.3 app/controllers/admin/users_controller.rb
adva-0.1.2 app/controllers/admin/users_controller.rb