Compare commits
3 Commits
ac16ea4594
...
abe9267893
| Author | SHA1 | Date | |
|---|---|---|---|
| abe9267893 | |||
| 0b4825dcbb | |||
| bc05f9c984 |
@@ -3,10 +3,24 @@ class ApplicationController < ActionController::Base
|
|||||||
before_action :authenticate
|
before_action :authenticate
|
||||||
|
|
||||||
private
|
private
|
||||||
|
def current_user
|
||||||
|
Current.user || authenticate_user_from_session
|
||||||
|
end
|
||||||
|
helper_method :current_user
|
||||||
|
|
||||||
|
def authenticate_user_from_session
|
||||||
|
session_record = Session.find_by_id(cookies.signed[:session_token])
|
||||||
|
Current.session = session_record
|
||||||
|
Current.user
|
||||||
|
end
|
||||||
|
|
||||||
|
def user_signed_in?
|
||||||
|
current_user.present?
|
||||||
|
end
|
||||||
|
helper_method :user_signed_in?
|
||||||
|
|
||||||
def authenticate
|
def authenticate
|
||||||
if session_record = Session.find_by_id(cookies.signed[:session_token])
|
unless user_signed_in?
|
||||||
Current.session = session_record
|
|
||||||
else
|
|
||||||
redirect_to sign_in_path
|
redirect_to sign_in_path
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class HomeController < ApplicationController
|
class HomeController < ApplicationController
|
||||||
|
skip_before_action :authenticate
|
||||||
def index
|
def index
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,23 +1,19 @@
|
|||||||
<p style="color: green"><%= notice %></p>
|
<p style="color: green"><%= notice %></p>
|
||||||
|
<% if user_signed_in? %>
|
||||||
<p>Signed as <%= Current.user.email %></p>
|
<p>Signed as <%= current_user.email %></p>
|
||||||
|
<h2>Login and verification</h2>
|
||||||
<h2>Login and verification</h2>
|
<div>
|
||||||
|
<%= link_to "Change password", edit_password_path %>
|
||||||
<div>
|
</div>
|
||||||
<%= link_to "Change password", edit_password_path %>
|
<div>
|
||||||
</div>
|
<%= link_to "Change email address", edit_identity_email_path %>
|
||||||
|
</div>
|
||||||
<div>
|
<h2>Access history</h2>
|
||||||
<%= link_to "Change email address", edit_identity_email_path %>
|
<div>
|
||||||
</div>
|
<%= link_to "Devices & Sessions", sessions_path %>
|
||||||
|
</div>
|
||||||
<h2>Access history</h2>
|
<br>
|
||||||
|
<%= button_to "Log out", Current.session, method: :delete %>
|
||||||
<div>
|
<% else %>
|
||||||
<%= link_to "Devices & Sessions", sessions_path %>
|
<%= link_to "Log in", sign_in_path %>
|
||||||
</div>
|
<% end %>
|
||||||
|
|
||||||
<br>
|
|
||||||
|
|
||||||
<%= button_to "Log out", Current.session, method: :delete %>
|
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ class SessionsControllerTest < ActionDispatch::IntegrationTest
|
|||||||
assert_equal "That email or password is incorrect", flash[:alert]
|
assert_equal "That email or password is incorrect", flash[:alert]
|
||||||
|
|
||||||
get root_url
|
get root_url
|
||||||
assert_redirected_to sign_in_url
|
# assert_redirected_to sign_in_url
|
||||||
|
assert_response :success
|
||||||
end
|
end
|
||||||
|
|
||||||
test "should sign out" do
|
test "should sign out" do
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class VehiclesControllerTest < ActionDispatch::IntegrationTest
|
|||||||
|
|
||||||
test "should create vehicle" do
|
test "should create vehicle" do
|
||||||
assert_difference("Vehicle.count") do
|
assert_difference("Vehicle.count") do
|
||||||
post vehicles_url, params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, type: @vehicle.type } }
|
post vehicles_url, params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, vehicle_type: @vehicle.vehicle_type } }
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_redirected_to vehicle_url(Vehicle.last)
|
assert_redirected_to vehicle_url(Vehicle.last)
|
||||||
@@ -34,7 +34,7 @@ class VehiclesControllerTest < ActionDispatch::IntegrationTest
|
|||||||
end
|
end
|
||||||
|
|
||||||
test "should update vehicle" do
|
test "should update vehicle" do
|
||||||
patch vehicle_url(@vehicle), params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, type: @vehicle.type } }
|
patch vehicle_url(@vehicle), params: { vehicle: { car_brand: @vehicle.car_brand, fuel_type: @vehicle.fuel_type, license_plate: @vehicle.license_plate, model: @vehicle.model, model_year: @vehicle.model_year, vehicle_type: @vehicle.vehicle_type } }
|
||||||
assert_redirected_to vehicle_url(@vehicle)
|
assert_redirected_to vehicle_url(@vehicle)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
4
test/fixtures/vehicles.yml
vendored
4
test/fixtures/vehicles.yml
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
one:
|
one:
|
||||||
license_plate: MyString
|
license_plate: MyString
|
||||||
type:
|
vehicle_type:
|
||||||
model_year: 2024-08-20 18:58:36
|
model_year: 2024-08-20 18:58:36
|
||||||
car_brand: MyString
|
car_brand: MyString
|
||||||
model: MyString
|
model: MyString
|
||||||
@@ -10,7 +10,7 @@ one:
|
|||||||
|
|
||||||
two:
|
two:
|
||||||
license_plate: MyString
|
license_plate: MyString
|
||||||
type:
|
vehicle_type:
|
||||||
model_year: 2024-08-20 18:58:36
|
model_year: 2024-08-20 18:58:36
|
||||||
car_brand: MyString
|
car_brand: MyString
|
||||||
model: MyString
|
model: MyString
|
||||||
|
|||||||
Reference in New Issue
Block a user