summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLogan Fick <logaldeveloper@protonmail.com>2017-11-11 20:23:10 -0500
committerLogan Fick <logaldeveloper@protonmail.com>2017-11-11 20:23:10 -0500
commit94fc2bd1a9e804074167345880d6d02ff573a3df (patch)
treeea7abb95444b27787607a47a4770f63cbfa0a5ec
parent780598ca6d53ce9caeecd41503a176fdc7ab0dcc (diff)
Made having a confirmed email required to manage forums.
-rw-r--r--app/controllers/forums_controller.rb6
-rw-r--r--app/views/forums/edit.html.erb24
-rw-r--r--app/views/forums/new.html.erb22
3 files changed, 36 insertions, 16 deletions
diff --git a/app/controllers/forums_controller.rb b/app/controllers/forums_controller.rb
index 206f01f..8111cbb 100644
--- a/app/controllers/forums_controller.rb
+++ b/app/controllers/forums_controller.rb
@@ -34,7 +34,7 @@ class ForumsController < ApplicationController
end
def update
- if admin?
+ if admin? && current_user.confirmed?
if @forum.update_attributes(forum_params)
flash[:notice] = "Forum updated"
redirect_to @forum
@@ -48,7 +48,7 @@ class ForumsController < ApplicationController
end
def create
- if admin?
+ if admin? && current_user.confirmed?
@forum = Forum.new(forum_params([:forumgroup_id]))
if @forum.save
flash[:notice] = "Forum created."
@@ -64,7 +64,7 @@ class ForumsController < ApplicationController
end
def destroy
- if admin?
+ if admin? && current_user.confirmed?
if @forum.destroy
flash[:notice] = "Forum deleted."
else
diff --git a/app/views/forums/edit.html.erb b/app/views/forums/edit.html.erb
index 571b3b7..8b01b45 100644
--- a/app/views/forums/edit.html.erb
+++ b/app/views/forums/edit.html.erb
@@ -1,5 +1,11 @@
<% title "Edit Forum: #{@forum.name}" %>
+<%
+ def can_edit?
+ admin? && current_user.confirmed?
+ end
+%>
+
<%= link_to "(Edit) #{@forum.group.name}", edit_forumgroup_path(@forum.group) %> → <%= @forum.name %>
<h1>Edit Forum</h1>
<% role_selection = Role.all_from_to(:normal, :admin).collect{|p|[p.name, p.id]} %>
@@ -7,26 +13,30 @@
<table>
<tr>
<td><%= f.label :name %></td>
- <td><%= f.text_field :name, placeholder: "Name" %></td>
+ <td><%= f.text_field :name, placeholder: "Name", disabled: !can_edit? %></td>
</tr>
<tr>
<td><%= f.label :position %></td>
- <td><%= f.number_field :position, placeholder: "Position" %></td>
+ <td><%= f.number_field :position, placeholder: "Position", disabled: !can_edit? %></td>
</tr>
<tr>
<td><%= f.label :role_read_id, "Min. read role" %></td>
- <td><%= f.select :role_read_id, role_selection, include_blank: "None" %></td>
+ <td><%= f.select :role_read_id, role_selection, { include_blank: "None" }, { disabled: !can_edit? } %></td>
</tr>
<tr>
<td><%= f.label :role_write_id, "Min. write role" %></td>
- <td><%= f.select :role_write_id, role_selection, include_blank: false %></td>
+ <td><%= f.select :role_write_id, role_selection, { include_blank: false }, { disabled: !can_edit? } %></td>
</tr>
<tr>
<td><%= f.label :necro_length, "Necropost warning delay (in days)" %></td>
- <td><%= f.number_field :necro_length, placeholder: "Warning Delay (leave blank for no warning)" %></td>
+ <td><%= f.number_field :necro_length, placeholder: "Warning Delay (leave blank for no warning)", disabled: !can_edit? %></td>
</tr>
</table>
- <p><%= f.submit "Update forum", class: "btn blue left" %></p>
+ <p><%= f.submit "Update forum", class: "btn blue left", disabled: !can_edit? %></p>
<% end %>
-<p><%= button_to "Delete forum", @forum, method: "delete", data: {confirm: "Delete forum forever?\nThreads won't be accessible!"}, class: "btn red right" %></p>
+<p><%= button_to "Delete forum", @forum, method: "delete", data: {confirm: "Delete forum forever?\nThreads won't be accessible!"}, class: "btn red right", disabled: !can_edit? %></p>
<div class="clear"></div>
+
+<% if !current_user.confirmed? %>
+ <span class='red-alert'>You must confirm your email before you can edit forums.</span>
+<% end %>
diff --git a/app/views/forums/new.html.erb b/app/views/forums/new.html.erb
index 836a9b2..e9758ec 100644
--- a/app/views/forums/new.html.erb
+++ b/app/views/forums/new.html.erb
@@ -1,5 +1,11 @@
<% title "New Forum: #{@forum.group.name}" %>
+<%
+ def can_create?
+ admin? && current_user.confirmed?
+ end
+%>
+
<%= link_to @forum.group, forumgroup_path(@forum.group) %> → New forum
<h1>New Forum</h1>
<% role_selection = Role.all_from_to(:normal, :admin).collect{|p|[p.name, p.id]} %>
@@ -7,26 +13,30 @@
<table>
<tr>
<td><%= f.label :name %></td>
- <td><%= f.text_field :name, placeholder: "Name" %></td>
+ <td><%= f.text_field :name, placeholder: "Name", disabled: !can_create? %></td>
</tr>
<tr>
<td><%= f.label :position %></td>
- <td><%= f.number_field :position, placeholder: "Position" %></td>
+ <td><%= f.number_field :position, placeholder: "Position", disabled: !can_create? %></td>
</tr>
<tr>
<td><%= f.label :role_read_id, "Min. read role" %></td>
- <td><%= f.select :role_read_id, role_selection, include_blank: "None" %></td>
+ <td><%= f.select :role_read_id, role_selection, { include_blank: "None"}, { disabled: !can_create? } %></td>
</tr>
<tr>
<td><%= f.label :role_write_id, "Min. write role" %></td>
- <td><%= f.select :role_write_id, role_selection, include_blank: false %></td>
+ <td><%= f.select :role_write_id, role_selection, { include_blank: false }, { disabled: !can_create? } %></td>
</tr>
<tr>
<td><%= f.label :necro_length, "Necropost warning delay (in days)" %></td>
- <td><%= f.number_field :necro_length, placeholder: "Warning Delay (leave blank for no warning)" %></td>
+ <td><%= f.number_field :necro_length, placeholder: "Warning Delay (leave blank for no warning)", disabled: !can_create? %></td>
</tr>
</table>
<%= f.hidden_field :forumgroup_id %>
- <p><%= f.submit "Create forum", class: "btn blue left" %></p>
+ <p><%= f.submit "Create forum", class: "btn blue left", disabled: !can_create? %></p>
<div class="clear"></div>
+
+ <% if !current_user.confirmed? %>
+ <span class='red-alert'>You must confirm your email before you can create new forums.</span>
+ <% end %>
<% end %>