diff --git a/app/javascript/src/styles/base/040_colors.css b/app/javascript/src/styles/base/040_colors.css index 28eef86ec..5dc30e914 100644 --- a/app/javascript/src/styles/base/040_colors.css +++ b/app/javascript/src/styles/base/040_colors.css @@ -201,6 +201,9 @@ --user-member-color: var(--link-color); --user-banned-color: black; + --user-verified-email-color: #0A0; + --user-unverified-email-color: #F80; + --news-updates-background: #EEE; --news-updates-border: 2px solid #666; @@ -291,6 +294,9 @@ body[data-current-user-theme="dark"] { --user-moderator-color: var(--green-1); --user-admin-color: var(--red-1); + --user-verified-email-color: var(--green-1); + --user-unverified-email-color: var(--yellow-1); + /* misc specific colors */ --autocomplete-selected-background-color: var(--grey-3); --autocomplete-border: 1px solid var(--grey-4); diff --git a/app/javascript/src/styles/specific/users.scss b/app/javascript/src/styles/specific/users.scss index 708538025..ba9af319f 100644 --- a/app/javascript/src/styles/specific/users.scss +++ b/app/javascript/src/styles/specific/users.scss @@ -30,6 +30,14 @@ div#c-users { p { margin-bottom: 0.5em; } + + .user-verified-email-icon { + color: var(--user-verified-email-color); + } + + .user-unverified-email-icon { + color: var(--user-unverified-email-color); + } } } diff --git a/app/policies/email_address_policy.rb b/app/policies/email_address_policy.rb index cd92232d1..152469125 100644 --- a/app/policies/email_address_policy.rb +++ b/app/policies/email_address_policy.rb @@ -1,6 +1,6 @@ class EmailAddressPolicy < ApplicationPolicy def show? - record.user_id == user.id + record.user_id == user.id || (user.is_moderator? && record.user.level < user.level) end def update? diff --git a/app/policies/nil_class_policy.rb b/app/policies/nil_class_policy.rb new file mode 100644 index 000000000..8bce8769e --- /dev/null +++ b/app/policies/nil_class_policy.rb @@ -0,0 +1,21 @@ +class NilClassPolicy < ApplicationPolicy + def index? + false + end + + def show? + false + end + + def create? + false + end + + def update? + false + end + + def destroy? + false + end +end diff --git a/app/views/emails/verify.html.erb b/app/views/emails/verify.html.erb index 5790b4f57..f152a3558 100644 --- a/app/views/emails/verify.html.erb +++ b/app/views/emails/verify.html.erb @@ -6,12 +6,12 @@ <% if @user.is_restricted? %>
Your account is restricted because you signed up from a VPN or proxy. - You can still use the site, but you won't be able to leave comments, edit - tags, or upload posts until you verify your account.
+ You can still use the site, but you must verify your email address to be + able to leave comments, edit tags, or upload posts. <% end %> -Click below to send an email to <%= @email_address.address %> - to verify your account.
+Your email address is unverified. Click below to send an email to + <%= @email_address.address %> to verify your email address.
<%= edit_form_for(@user, method: :post, url: send_confirmation_user_email_path(@user)) do |f| %> <%= f.submit "Send confirmation email" %> diff --git a/app/views/users/_statistics.html.erb b/app/views/users/_statistics.html.erb index 884a4c100..2a8ee6ec9 100644 --- a/app/views/users/_statistics.html.erb +++ b/app/views/users/_statistics.html.erb @@ -10,6 +10,7 @@