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