class UsersController

Public Instance Methods

create() click to toggle source
# File lib/generators/devowd/templates/controllers/users_controller.rb, line 10
def create
        args = params.require(:user).permit(:email, :fname, :mname, :lname)
        args[:password] = ''
        args[:password_confirmation] = ''

        @user = User.new args
        
        if @user.save
            redirect_to current_admin, flash: {notice: 'Приглашение отправлено'}
        else
                flash[:alert] = @user.errors.messages
                render :new
        end
end
destroy() click to toggle source
# File lib/generators/devowd/templates/controllers/users_controller.rb, line 78
def destroy
        @user = User.find(params[:id])
        @user.destroy
flash[:notice] = 'Пользователь удален'
        redirect_to admin_path(current_admin)
end
edit() click to toggle source
# File lib/generators/devowd/templates/controllers/users_controller.rb, line 25
def edit
        if current_admin != nil
                @user = User.find(params[:id])
        else
                token = (params[:token] != nil ? params[:token] : params[:user][:token])
                @user = User.find_by(token: token)
                if @user.nil?
              flash[:alert] = "Неправильный токен!"
              @user = User.new
            end
            if @user.activated?
                        redirect_to ('/') and return
            end
        end
end
new() click to toggle source
# File lib/generators/devowd/templates/controllers/users_controller.rb, line 6
def new
        @user = User.new
end
show() click to toggle source
# File lib/generators/devowd/templates/controllers/users_controller.rb, line 2
def show
        
end
update() click to toggle source
# File lib/generators/devowd/templates/controllers/users_controller.rb, line 41
def update
        if current_admin != nil
                @user = User.find(params[:id])
                args = params.require(:user).permit(:fname, :mname, :lname)
                @user.pass_required = false
                if @user.update(args)
                        @user.pass_required = true
                      flash[:notice] = 'Данные изменены'
                      redirect_to admin_path(current_admin)
            else
                        @user.pass_required = true
              flash[:alert] = @user.errors.messages
                      render :edit
              end
        else
                token = (params[:token] != nil ? params[:token] : params[:user][:token])
                @user = User.find_by(token: token)
                args = params.require(:user).permit(:password, :password_confirmation, :fname, :mname, :lname).merge(activated: true)
              if @user.nil?
              flash[:alert] = "Неправильный токен!"
              @user = User.new
              return render :edit
            end
            if @user.activated?
                        redirect_to ('/') and return
            end
              if @user.update(args)
                      flash[:notice] = 'Регистрация прошла успешно'
                      sign_out(current_admin) if !current_admin.nil?
                      sign_in_and_redirect @user
            else
              flash[:alert] = @user.errors.messages
                      render :edit
              end
        end
end