diff --git a/app/assets/javascripts/header.js b/app/assets/javascripts/header.js
new file mode 100644
index 00000000..303590fa
--- /dev/null
+++ b/app/assets/javascripts/header.js
@@ -0,0 +1,28 @@
+// BigBlueButton open source conferencing system - http://www.bigbluebutton.org/.
+//
+// Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
+//
+// This program is free software; you can redistribute it and/or modify it under the
+// terms of the GNU Lesser General Public License as published by the Free Software
+// Foundation; either version 3.0 of the License, or (at your option) any later
+// version.
+//
+// BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+// PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License along
+// with BigBlueButton; if not, see .
+
+$(document).on('turbolinks:load', function(){
+ // Checks to see if the user provided an image url and displays it if they did
+ $("#user-image")
+ .on("load", function() {
+ $("#user-image").show()
+ $("#user-avatar").hide()
+ })
+ .on("error", function() {
+ $("#user-image").hide()
+ $("#user-avatar").show()
+ })
+})
diff --git a/app/models/user.rb b/app/models/user.rb
index 521bf671..21176374 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -33,7 +33,6 @@ class User < ApplicationRecord
validates :name, length: { maximum: 256 }, presence: true
validates :provider, presence: true
- validates :image, format: { with: /\.(png|jpg)\Z/i }, allow_blank: true
validates :email, length: { maximum: 256 }, allow_blank: true,
uniqueness: { case_sensitive: false, scope: :provider },
format: { with: /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i }
diff --git a/app/views/shared/_header.html.erb b/app/views/shared/_header.html.erb
index 1fbb3663..e0ed6a7c 100755
--- a/app/views/shared/_header.html.erb
+++ b/app/views/shared/_header.html.erb
@@ -30,7 +30,8 @@
<% if current_user.image.blank? %>
<%= current_user.name.first %>
<% else %>
-
+ <%= current_user.name.first %>
+ <%= image_tag(current_user.image, id: "user-image", class: "avatar") %>
<% end %>
<%= current_user.name %>
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index e94086b8..ad648be6 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -40,7 +40,7 @@ describe User, type: :model do
it { should allow_value("valid.jpg").for(:image) }
it { should allow_value("valid.png").for(:image) }
- it { should_not allow_value("invalid.txt").for(:image) }
+ it { should allow_value("random_file.txt").for(:image) }
it { should allow_value("", nil).for(:image) }
it "should convert email to downcase on save" do