diff options
author | Logan Fick <logaldeveloper@protonmail.com> | 2017-11-11 20:23:10 -0500 |
---|---|---|
committer | Logan Fick <logaldeveloper@protonmail.com> | 2017-11-11 20:23:10 -0500 |
commit | 94fc2bd1a9e804074167345880d6d02ff573a3df (patch) | |
tree | ea7abb95444b27787607a47a4770f63cbfa0a5ec | |
parent | 780598ca6d53ce9caeecd41503a176fdc7ab0dcc (diff) |
Made having a confirmed email required to manage forums.
-rw-r--r-- | app/controllers/forums_controller.rb | 6 | ||||
-rw-r--r-- | app/views/forums/edit.html.erb | 24 | ||||
-rw-r--r-- | app/views/forums/new.html.erb | 22 |
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 %> |