Merged pull request #55.

This commit is contained in:
Logan Fick
2019-02-23 13:56:59 -05:00
9 changed files with 30 additions and 22 deletions

View File

@@ -196,7 +196,7 @@ GEM
rails-html-sanitizer (1.0.4) rails-html-sanitizer (1.0.4)
loofah (~> 2.2, >= 2.2.2) loofah (~> 2.2, >= 2.2.2)
raindrops (0.19.0) raindrops (0.19.0)
rake (12.3.1) rake (12.3.2)
rb-fsevent (0.10.3) rb-fsevent (0.10.3)
rb-inotify (0.9.10) rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2) ffi (>= 0.5.0, < 2)
@@ -287,4 +287,4 @@ DEPENDENCIES
webrick webrick
BUNDLED WITH BUNDLED WITH
1.17.1 1.17.3

View File

@@ -149,9 +149,9 @@ class UsersController < ApplicationController
def update def update
if (mod? && current_user.role >= @user.role ) || (@user.is?(current_user) && confirmed?) if (mod? && current_user.role >= @user.role ) || (@user.is?(current_user) && confirmed?)
if mod? if mod?
userdata = user_params([:name, :skype, :youtube, :twitter, :about, :role, :badge, :confirmed, :header_scroll, :utc_time, :dark]) userdata = user_params([:name, :discord, :youtube, :twitter, :about, :role, :badge, :confirmed, :header_scroll, :utc_time, :dark])
else else
userdata = user_params([:name, :skype, :youtube, :twitter, :about, :header_scroll, :utc_time, :dark]) userdata = user_params([:name, :discord, :youtube, :twitter, :about, :header_scroll, :utc_time, :dark])
end end
if User.find_by(name: userdata[:name]) && User.find_by(name: userdata[:name]) != @user if User.find_by(name: userdata[:name]) && User.find_by(name: userdata[:name]) != @user
flash[:alert] = "You have entered a name that belongs to someone else. Please try another." flash[:alert] = "You have entered a name that belongs to someone else. Please try another."

View File

@@ -18,9 +18,11 @@ class User < ActiveRecord::Base
validates_length_of :name, in: 2..30 validates_length_of :name, in: 2..30
validates_length_of :about, maximum: 5000 validates_length_of :about, maximum: 5000
validates_length_of :ign, minimum: 1, maximum: 16 validates_length_of :ign, minimum: 1, maximum: 16
validates_length_of :discord, minimum: 2, maximum: 37 # The maximum length of a name is 32, but you need the # and four numbers
validates :email, uniqueness: {case_sensitive: false}, format: {with: /\A.+@(.+\..{2,}|\[(IPv6)?[0-9a-f:.]+\])\z/i, message: "That doesn't look like an email address."} validates :email, uniqueness: {case_sensitive: false}, format: {with: /\A.+@(.+\..{2,}|\[(IPv6)?[0-9a-f:.]+\])\z/i, message: "That doesn't look like an email address."}
validates :ign, uniqueness: {case_sensitive: false}, format: {with: /\A[a-z\d_]+\z/i, message: "Username is invalid (a-z, 0-9, _)."} validates :ign, uniqueness: {case_sensitive: false}, format: {with: /\A[a-z\d_]+\z/i, message: "Username is invalid (a-z, 0-9, _)."}
validates :discord, uniqueness: {case_sensitive: false}, format: {with: /\A^(?!everyone|here|discordtag|.*```.*)([^@#:]{2,32}#[0-9]{4})$\z/i, message: "Discord name is invalid."}
validates :public_key, format: {with: /\A(-----BEGIN PGP PUBLIC KEY BLOCK-----((.|\n)*?)-----END PGP PUBLIC KEY BLOCK-----)?\z/i, message: "That doesn't look like a PGP formatted public key."} validates :public_key, format: {with: /\A(-----BEGIN PGP PUBLIC KEY BLOCK-----((.|\n)*?)-----END PGP PUBLIC KEY BLOCK-----)?\z/i, message: "That doesn't look like a PGP formatted public key."}
@@ -168,7 +170,7 @@ class User < ActiveRecord::Base
self.ign.strip! if self.ign self.ign.strip! if self.ign
self.email.strip! if self.email self.email.strip! if self.email
self.about.strip! if self.about self.about.strip! if self.about
self.skype.strip! if self.skype self.discord.strip! if self.discord
self.youtube.strip! if self.youtube self.youtube.strip! if self.youtube
self.twitter.strip! if self.twitter self.twitter.strip! if self.twitter
end end

View File

@@ -43,9 +43,9 @@
</tr> </tr>
<% end %> <% end %>
<tr> <tr>
<td>Skype username</td> <td>Discord username</td>
<td> <td>
<%= f.text_field :skype, placeholder: "Skype username", disabled: !can_edit? %> <%= f.text_field :discord, placeholder: "Discord username", disabled: !can_edit? %>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@@ -25,7 +25,7 @@
<% if !@user.confirmed? %> <% if !@user.confirmed? %>
<% if @user.is?(current_user) || mod? %> <% if @user.is?(current_user) || mod? %>
<span class="user-unconfirmed">Please confirm your email <u><%= @user.email %></u> !</span> <span class="user-unconfirmed">Please confirm your email <u><%= @user.email %></u> !</span>
<%= button_to "Resend the confirmation mail", resend_mail_user_path, class: "btn dark", form_class: "inline-block", data: {confirm: "Did you check your spam folder?"} %> <%= button_to "Resend the confirmation mail", resend_mail_user_path, class: "btn blue", form_class: "inline-block", data: {confirm: "Did you check your spam folder?"} %>
<% else %> <% else %>
<span class="user-unconfirmed">This user hasn't confirmed their email yet!</span> <span class="user-unconfirmed">This user hasn't confirmed their email yet!</span>
<% end %> <% end %>
@@ -54,10 +54,10 @@
<td><b>Role</b></td> <td><b>Role</b></td>
<td><%= link_to @user.role, users_path(:role => @user.role.name) %></td> <td><%= link_to @user.role, users_path(:role => @user.role.name) %></td>
</tr> </tr>
<% if current_user && !@user.skype.blank? %> <% if current_user && !@user.discord.blank? %>
<tr> <tr>
<td><b>Skype</b></td> <td><b>Discord</b></td>
<td><%= link_to @user.skype, "skype:#{@user.skype}?chat", target: "_blank" %></a></td> <td><%= @user.discord %></td>
</tr> </tr>
<% end %> <% end %>
<% if !@user.youtube.blank? && !@user.youtube_channelname.blank? %> <% if !@user.youtube.blank? && !@user.youtube_channelname.blank? %>

View File

@@ -0,0 +1,5 @@
class DropForumsLabels < ActiveRecord::Migration
def change
drop_table :forums_labels
end
end

View File

@@ -0,0 +1,6 @@
class RemoveSkypeAddDiscordFromUsers < ActiveRecord::Migration
def change
remove_column :users, :skype
add_column :users, :discord, :string
end
end

View File

@@ -11,7 +11,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20180606223258) do ActiveRecord::Schema.define(version: 20190222152638) do
create_table "badges", force: :cascade do |t| create_table "badges", force: :cascade do |t|
t.string "name", limit: 191 t.string "name", limit: 191
@@ -54,11 +54,6 @@ ActiveRecord::Schema.define(version: 20180606223258) do
t.integer "necro_length", limit: 4 t.integer "necro_length", limit: 4
end end
create_table "forums_labels", id: false, force: :cascade do |t|
t.integer "forum_id", limit: 4
t.integer "label_id", limit: 4
end
create_table "forumthreads", force: :cascade do |t| create_table "forumthreads", force: :cascade do |t|
t.string "title", limit: 255 t.string "title", limit: 255
t.text "content", limit: 16777215 t.text "content", limit: 16777215
@@ -134,7 +129,6 @@ ActiveRecord::Schema.define(version: 20180606223258) do
t.string "email", limit: 191 t.string "email", limit: 191
t.text "about", limit: 65535 t.text "about", limit: 65535
t.string "last_ip", limit: 255 t.string "last_ip", limit: 255
t.string "skype", limit: 255
t.string "youtube", limit: 255 t.string "youtube", limit: 255
t.string "youtube_channelname", limit: 255 t.string "youtube_channelname", limit: 255
t.string "twitter", limit: 255 t.string "twitter", limit: 255
@@ -156,12 +150,13 @@ ActiveRecord::Schema.define(version: 20180606223258) do
t.text "public_key", limit: 65535 t.text "public_key", limit: 65535
t.string "totp_secret", limit: 255 t.string "totp_secret", limit: 255
t.boolean "totp_enabled", default: false t.boolean "totp_enabled", default: false
t.string "discord", limit: 191
end end
add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
add_index "users", ["ign"], name: "index_users_on_ign", unique: true, using: :btree add_index "users", ["ign"], name: "index_users_on_ign", unique: true, using: :btree
add_index "users", ["name"], name: "index_users_on_name", unique: true, using: :btree add_index "users", ["name"], name: "index_users_on_name", unique: true, using: :btree
add_index "users", ["skype"], name: "index_users_on_skype", unique: true, using: :btree add_index "users", ["discord"], name: "index_users_on_discord", unique: true, using: :btree
add_index "users", ["twitter"], name: "index_users_on_twitter", unique: true, using: :btree add_index "users", ["twitter"], name: "index_users_on_twitter", unique: true, using: :btree
add_index "users", ["uuid"], name: "index_users_on_uuid", unique: true, using: :btree add_index "users", ["uuid"], name: "index_users_on_uuid", unique: true, using: :btree
add_index "users", ["youtube"], name: "index_users_on_youtube", unique: true, using: :btree add_index "users", ["youtube"], name: "index_users_on_youtube", unique: true, using: :btree

View File

@@ -32,7 +32,7 @@ deleted_user = User.create!(
password_confirmation: userpw, password_confirmation: userpw,
role: Role.get(:disabled), role: Role.get(:disabled),
badge: Badge.get(:none), badge: Badge.get(:none),
skype: "echo123", discord: "echo123",
last_ip: "0.0.0.0", last_ip: "0.0.0.0",
confirmed: true, confirmed: true,
last_seen: Time.utc(0).to_datetime, last_seen: Time.utc(0).to_datetime,