Merge pull request #4878 from consul/verification_info

Show verification info only if verification is enabled
This commit is contained in:
Javi Martín
2023-01-10 15:01:06 +01:00
committed by GitHub
6 changed files with 97 additions and 50 deletions

View File

@@ -0,0 +1,14 @@
.verify-account {
padding-right: $line-height / 2;
.already-verified {
@include has-fa-icon(check, solid);
color: $color-success;
margin-top: $line-height;
&::before {
color: $check;
font-size: 1.4em;
}
}
}

View File

@@ -1228,10 +1228,6 @@ form {
margin-right: $line-height / 2;
}
.verify-account {
padding-right: $line-height / 2;
}
.final-votes-info {
background: $warning-bg;
border: 1px solid $warning-border;
@@ -1270,16 +1266,6 @@ form {
vertical-align: top;
}
.user-permissions {
p {
span {
color: $text-medium;
font-size: rem-calc(12);
}
}
}
.notifications-list {
position: relative;
@@ -1666,21 +1652,6 @@ table {
}
}
.verify-account {
padding-right: $line-height / 2;
.already-verified {
color: $check;
line-height: $line-height * 2;
.icon-check {
font-size: rem-calc(24);
line-height: rem-calc(45);
vertical-align: middle;
}
}
}
.verify {
margin-bottom: $line-height * 2;
margin-top: $line-height;

View File

@@ -0,0 +1,17 @@
<div class="verify-account">
<% if account.level_three_verified? %>
<p class="already-verified">
<%= t("account.show.verified_account") %>
</p>
<% else %>
<p>
<%= t("account.show.user_permission_verify") %>
</p>
<% if account.level_two_verified? %>
<%= link_to t("account.show.finish_verification"), verification_path, class: "button success" %>
<% else %>
<%= link_to t("account.show.verify_my_account"), verification_path, class: "button success" %>
<% end %>
<% end %>
</div>

View File

@@ -0,0 +1,11 @@
class Account::VerifyAccountComponent < ApplicationComponent
attr_reader :account
def initialize(account)
@account = account
end
def render?
Setting["feature.user.skip_verification"].blank? && !account.organization?
end
end

View File

@@ -94,27 +94,7 @@
<p><%= t("account.show.user_permission_info") %></p>
<%= render Account::PermissionsListComponent.new(current_user) %>
<p>
<%= t("account.show.user_permission_verify") %>
</p>
<% unless @account.organization? %>
<div>
<span class="verify-account">
<% if current_user.level_three_verified? %>
<p class="already-verified">
<span class="icon-check"></span>
<%= t("account.show.verified_account") %>
</p>
<% elsif current_user.level_two_verified? %>
<%= link_to t("account.show.finish_verification"), verification_path, class: "button success" %>
<% else %>
<%= link_to t("account.show.verify_my_account"), verification_path, class: "button success" %>
<% end %>
</span>
</div>
<% end %>
<%= render Account::VerifyAccountComponent.new(@account) %>
</div>
</div>
<% end %>

View File

@@ -0,0 +1,54 @@
require "rails_helper"
describe Account::VerifyAccountComponent do
context "verification is enabled" do
before { Setting["feature.user.skip_verification"] = false }
it "shows a link to verify account to unverified users" do
account = User.new
render_inline Account::VerifyAccountComponent.new(account)
expect(page).to have_content "To perform all the actions verify your account."
expect(page).to have_link "Verify my account"
end
it "shows a link to complete verification to level two verified users" do
account = User.new(level_two_verified_at: Time.current)
render_inline Account::VerifyAccountComponent.new(account)
expect(page).to have_content "To perform all the actions verify your account."
expect(page).to have_link "Complete verification"
end
it "shows information about a verified account to level three verified users" do
account = User.new(verified_at: Time.current)
render_inline Account::VerifyAccountComponent.new(account)
expect(page).not_to have_content "To perform all the actions verify your account."
expect(page).to have_content "Account verified"
end
it "does not show verification info to organizations" do
account = User.new(organization: Organization.new)
render_inline Account::VerifyAccountComponent.new(account)
expect(page).not_to be_rendered
end
end
context "verification is disabled" do
before { Setting["feature.user.skip_verification"] = true }
it "does not show verification info to anyone" do
account = User.new
render_inline Account::VerifyAccountComponent.new(account)
expect(page).not_to be_rendered
end
end
end