summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLogan Fick <logaldeveloper@protonmail.com>2017-11-10 15:05:43 -0500
committerLogan Fick <logaldeveloper@protonmail.com>2017-11-10 15:05:43 -0500
commitbadb94ff074cfd63e078d9f4d0f7198b8e0895a5 (patch)
tree09f79ef431b5bfad06edc64eab2d7ec62c12b372
parent5a534a4ddace03f747688c9cfe753ea20135bdc7 (diff)
Made the notification settings page not editable if user's email is not confirmed.
-rw-r--r--app/views/users/edit_notifications.html.erb26
1 files changed, 19 insertions, 7 deletions
diff --git a/app/views/users/edit_notifications.html.erb b/app/views/users/edit_notifications.html.erb
index 9c45445..0976635 100644
--- a/app/views/users/edit_notifications.html.erb
+++ b/app/views/users/edit_notifications.html.erb
@@ -1,5 +1,11 @@
<% title "Edit Notification Settings: #{@user.name}" %>
+<%
+ def can_edit?
+ (@user.is?(current_user) && confirmed?) || (mod? && current_user.role >= @user.role && current_user.confirmed?)
+ end
+%>
+
<%= link_to @user.name, @user %> → Edit Notification Settings
<h1>Edit Notification Settings</h1>
@@ -11,13 +17,13 @@
<tr>
<td>replies to my thread</td>
<td>
- <%= f.check_box :mail_own_thread_reply %>
+ <%= f.check_box :mail_own_thread_reply, disabled: !can_edit? %>
</td>
</tr>
<tr>
<td>replies to a thread I already replied to</td>
<td>
- <%= f.check_box :mail_other_thread_reply %>
+ <%= f.check_box :mail_other_thread_reply, disabled: !can_edit? %>
</td>
</tr>
<tr>
@@ -26,13 +32,13 @@
<i>(Currently used for staff only)</i>
</td>
<td>
- <%= f.check_box :mail_own_blogpost_comment %>
+ <%= f.check_box :mail_own_blogpost_comment, disabled: !can_edit? %>
</td>
</tr>
<tr>
<td>comments a blog post I already commented</td>
<td>
- <%= f.check_box :mail_other_blogpost_comment %>
+ <%= f.check_box :mail_other_blogpost_comment, disabled: !can_edit? %>
</td>
</tr>
<tr>
@@ -40,14 +46,20 @@
mentions me in a thread or comment
</td>
<td>
- <%= f.check_box :mail_mention %>
+ <%= f.check_box :mail_mention, disabled: !can_edit? %>
</td>
</tr>
</tbody>
</table>
<h3>Public Key</h1>
<p>All notification emails will be encrypted with this key if you supply it.</p>
- <%= f.text_area :public_key, placeholder: "-----BEGIN PGP PUBLIC KEY BLOCK-----" %>
- <p><%= f.submit "Save changes", class: "btn blue left" %></p>
+ <%= f.text_area :public_key, placeholder: "-----BEGIN PGP PUBLIC KEY BLOCK-----", disabled: !can_edit? %>
+ <p><%= f.submit "Save changes", class: "btn blue left", disabled: !can_edit? %></p>
<div class="clear"></div>
+
+ <% if !@user.is?(current_user) && !current_user.confirmed? %>
+ <span class='red-alert'>You must confirm your own email before you can edit other user's notification settings.</span>
+ <% elsif !@user.confirmed? && @user.is?(current_user) %>
+ <span class='red-alert'>You need to confirm your email before you can edit your notification settings.</span>
+ <% end %>
<% end %>