Added Necropost Warning

This commit is contained in:
MrYummy
2017-05-28 17:40:50 -04:00
parent 1b4a270038
commit 2c02a797b8
7 changed files with 55 additions and 28 deletions

View File

@@ -89,7 +89,7 @@ class ForumsController < ApplicationController
end
def forum_params(add = [])
a = [:name, :position, :role_read_id, :role_write_id] + add
a = [:name, :position, :role_read_id, :role_write_id, :necro_length] + add
params.require(:forum).permit(a)
end
end

View File

@@ -21,6 +21,10 @@
<td><%= f.label :role_write_id, "Min. write role" %></td>
<td><%= f.select :role_write_id, role_selection, include_blank: false %></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>
</tr>
</table>
<p><%= f.submit "Update forum", class: "btn blue left" %></p>
<% end %>

View File

@@ -21,6 +21,10 @@
<td><%= f.label :role_write_id, "Min. write role" %></td>
<td><%= f.select :role_write_id, role_selection, include_blank: false %></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>
</tr>
</table>
<%= f.hidden_field :forumgroup_id %>
<p><%= f.submit "Create forum", class: "btn blue left" %></p>

View File

@@ -1,4 +1,17 @@
<%= form_for [reply.thread, reply] do |f| %>
<%= render partial: "md_editor", locals: {name: "threadreply[content]", content: reply.content} %>
<p><%= f.submit "Reply#{ ' (Locked)' if reply.thread.locked? }", class: "btn blue" %></p>
<% nec_msg = "" %>
<% forum = Forum.find(reply.thread.forum_id) %>
<% if forum.necro_length != nil %>
<% if Threadreply.where(forumthread: reply.thread).count != 0 %>
<% prevAgo = Threadreply.where(forumthread: reply.thread).order(:id).last.created_at %>
<% if prevAgo <= forum.necro_length.days.ago.utc %>
<% nec_msg = "You may be necroposting, as the last reply was made at least #{forum.necro_length} days ago. If you still wish to make this reply, press 'Ok'." %>
<% end %>
<% elsif reply.thread.created_at <= forum.necro_length.days.ago.utc %>
<% nec_msg = "You may be necroposting, as this thread was posted at least #{forum.necro_length} days ago. If you still wish to make this reply, press 'Ok'." %>
<% end %>
<% end %>
<p><%= f.submit "Reply#{ ' (Locked)' if reply.thread.locked? }", class: "btn blue", data: { confirm: nec_msg } %></p>
<% nec_msg = "" %>
<% end %>

View File

@@ -0,0 +1,5 @@
class AddNecroLengthToForums < ActiveRecord::Migration
def change
add_column :forums, :necro_length, :integer
end
end

View File

@@ -11,10 +11,10 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170319193517) do
ActiveRecord::Schema.define(version: 20170409135858) do
create_table "blogposts", force: :cascade do |t|
t.string "title"
t.string "title", limit: 191
t.text "content", limit: 65535
t.integer "user_author_id", limit: 4
t.integer "user_editor_id", limit: 4
@@ -32,18 +32,19 @@ ActiveRecord::Schema.define(version: 20170319193517) do
end
create_table "forumgroups", force: :cascade do |t|
t.string "name"
t.string "name", limit: 191
t.integer "position", limit: 4
t.integer "role_read_id", limit: 4
t.integer "role_write_id", limit: 4
end
create_table "forums", force: :cascade do |t|
t.string "name"
t.string "name", limit: 191
t.integer "position", limit: 4
t.integer "role_read_id", limit: 4
t.integer "role_write_id", limit: 4
t.integer "forumgroup_id", limit: 4
t.integer "necro_length", limit: 4, default: -1
end
create_table "forums_labels", id: false, force: :cascade do |t|
@@ -52,7 +53,7 @@ ActiveRecord::Schema.define(version: 20170319193517) do
end
create_table "forumthreads", force: :cascade do |t|
t.string "title"
t.string "title", limit: 191
t.text "content", limit: 65535
t.boolean "sticky", default: false
t.boolean "locked", default: false
@@ -65,29 +66,29 @@ ActiveRecord::Schema.define(version: 20170319193517) do
end
create_table "info", force: :cascade do |t|
t.string "title"
t.string "title", limit: 191
t.text "content", limit: 65535
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "labels", force: :cascade do |t|
t.string "name"
t.string "color"
t.string "name", limit: 191
t.string "color", limit: 191
end
create_table "register_tokens", force: :cascade do |t|
t.string "uuid", null: false
t.string "token", null: false
t.string "email", null: false
t.string "uuid", limit: 191, null: false
t.string "token", limit: 191, null: false
t.string "email", limit: 191, null: false
end
add_index "register_tokens", ["uuid"], name: "index_register_tokens_on_uuid", unique: true, using: :btree
create_table "roles", force: :cascade do |t|
t.string "name"
t.string "name", limit: 191
t.integer "value", limit: 4
t.string "color"
t.string "color", limit: 191
end
create_table "badges", force: :cascade do |t|
@@ -97,7 +98,7 @@ ActiveRecord::Schema.define(version: 20170319193517) do
end
create_table "sessions", force: :cascade do |t|
t.string "session_id", null: false
t.string "session_id", limit: 191, null: false
t.text "data", limit: 65535
t.datetime "created_at"
t.datetime "updated_at"
@@ -116,14 +117,14 @@ ActiveRecord::Schema.define(version: 20170319193517) do
end
create_table "users", force: :cascade do |t|
t.string "uuid", null: false
t.string "name", null: false
t.string "password_digest", null: false
t.string "ign", null: false
t.string "email", null: false
t.string "uuid", limit: 191, null: false
t.string "name", limit: 191, null: false
t.string "password_digest", limit: 191, null: false
t.string "ign", limit: 191, null: false
t.string "email", limit: 191, null: false
t.text "about", limit: 65535
t.string "last_ip"
t.string "skype"
t.string "last_ip", limit: 191
t.string "skype", limit: 191
t.boolean "skype_public", default: false
t.string "youtube"
t.string "youtube_channelname"