Add Users::SessionPolicy#destroy?
This commit is contained in:
parent
f7e1c85791
commit
17c08c37a8
3 changed files with 21 additions and 5 deletions
7
app/policies/users/session_policy.rb
Normal file
7
app/policies/users/session_policy.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Users::SessionPolicy < ApplicationPolicy
|
||||||
|
def destroy?
|
||||||
|
!account&.user.nil?
|
||||||
|
end
|
||||||
|
end
|
|
@ -44,11 +44,13 @@
|
||||||
<% if user_signed_in? %>
|
<% if user_signed_in? %>
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
|
|
||||||
<%= link_to translate('users.shared.links.sign_out'),
|
<% if policy(%i[users session]).destroy? %>
|
||||||
destroy_user_session_path,
|
<%= link_to translate('users.shared.links.sign_out'),
|
||||||
method: :delete,
|
destroy_user_session_path,
|
||||||
role: :button,
|
method: :delete,
|
||||||
class: 'dropdown-item' %>
|
role: :button,
|
||||||
|
class: 'dropdown-item' %>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
7
spec/policies/users/session_policy_spec.rb
Normal file
7
spec/policies/users/session_policy_spec.rb
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe Users::SessionPolicy do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
Reference in a new issue