From 5579876c63ae6ffd7b324ae400f58c6b2093f13b Mon Sep 17 00:00:00 2001 From: Dan Elbert Date: Sun, 1 Apr 2018 12:17:54 -0500 Subject: [PATCH] login --- app/controllers/users_controller.rb | 11 ++++++---- app/javascript/components/AppModal.vue | 9 ++++++++- app/javascript/components/AppNavbar.vue | 27 ++++++++++++++++++++----- app/javascript/lib/Api.js | 4 ++++ app/javascript/lib/GlobalMixins.js | 3 ++- app/javascript/packs/application.js | 3 ++- app/javascript/router.js | 21 ++++++++++++++++--- app/javascript/store/index.js | 10 ++++++++- package.json | 1 + yarn.lock | 4 ++++ 10 files changed, 77 insertions(+), 16 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index c48cb69..d2c7289 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -7,7 +7,7 @@ class UsersController < ApplicationController def show if current_user - render json: { id: current_user.id, name: current_user.display_name } + render json: { id: current_user.id, name: current_user.display_name, admin: current_user.admin? } else render json: nil end @@ -20,8 +20,11 @@ class UsersController < ApplicationController def logout set_current_user(nil) session.destroy - flash[:notice] = "Logged out" - redirect_to root_path + + respond_to do |format| + format.html { redirect_to root_path, notice: "Logged out" } + format.json { render json: { success: true } } + end end def verify_login @@ -30,7 +33,7 @@ class UsersController < ApplicationController if user = User.authenticate(params[:username], params[:password]) set_current_user(user) format.html { redirect_to root_path, notice: "Welcome, #{user.display_name}" } - format.json { render json: { success: true, user: { id: user.id, name: user.display_name } } } + format.json { render json: { success: true, user: { id: user.id, name: user.display_name, admin: user.admin? } } } else format.html { flash[:error] = "Invalid credentials"; render :login } format.json { render json: { success: false, message: 'Invalid Credentials', user: nil } } diff --git a/app/javascript/components/AppModal.vue b/app/javascript/components/AppModal.vue index 3ad7545..1ccd644 100644 --- a/app/javascript/components/AppModal.vue +++ b/app/javascript/components/AppModal.vue @@ -1,6 +1,6 @@