font awesome gem updated, validation test added and user show page design updated

This commit is contained in:
AnithaPal 2016-09-15 13:30:58 -04:00
parent a2dd90d355
commit 17aa374b99
7 changed files with 136 additions and 80 deletions

View file

@ -181,8 +181,8 @@ GEM
fastimage (2.0.0)
addressable (~> 2)
ffi (1.9.3)
font-awesome-rails (4.1.0.0)
railties (>= 3.2, < 5.0)
font-awesome-rails (4.6.3.1)
railties (>= 3.2, < 5.1)
formatador (0.2.4)
formtastic (3.1.3)
actionpack (>= 3.2.13)

View file

@ -90,3 +90,12 @@ p.comment-body {
.changeset{
display: none;
}
.user-profile-icon{
text-align: center;
display: table;
.concat-text{
display: block;
font-size: 14px;
}
}

View file

@ -16,16 +16,25 @@
hint: 'This could be a company, a user group, or nothing at all.'
= f.input :website_url, type: :url, label: 'Personal Website'
= f.inputs :name => 'Social Media' do
= f.input :linkedin, type: :url
= f.input :twitter, type: :url
= f.input :googleplus, type: :url, label: 'Google+ Url'
= f.input :gnu, type: :url, label: 'GNU Social'
= f.input :diaspora, type: :url
= f.input :linkedin, type: :url, as: :string,
hint: 'e.g. https://linkedin.com/osem'
= f.input :twitter, type: :url, as: :string,
hint: 'e.g. https://twitter.com/osem'
= f.input :googleplus, type: :url, label: 'Google+ Url', as: :string,
hint: 'e.g. https://googleplus.com/798239DR45'
= f.input :gnu, type: :url, label: 'GNU Social', as: :string,
hint: 'e.g. https://gnu.io/osem'
= f.input :diaspora, type: :url, as: :string,
hint: 'e.g http://joindiaspora.com/osem'
= f.inputs :name => 'Social Code' do
= f.input :github, type: :url
= f.input :gitlab, type: :url
= f.input :savannah, type: :url
= f.input :gna, type: :url, label: 'Gna!'
= f.input :github, type: :url, as: :string,
hint: 'e.g http://github.com/osem'
= f.input :gitlab, type: :url, as: :string,
hint: 'e.g http://gitlab.com/osem'
= f.input :savannah, type: :url, as: :string,
hint: 'e.g http://savannah.gnu.org/osem'
= f.input :gna, type: :url, label: 'Gna!', as: :string,
hint: 'e.g http://gna.com/osem'
= f.input :biography, input_html: { rows: 5, data: { provide: 'markdown-editable' }, 'onkeyup' => "word_count(this, 'biography-count', 150)" },
hint: markdown_hint
You have used

View file

@ -7,63 +7,72 @@
= @user.name
%small
= @user.nickname
%h3.text-center
Social Media and Social Code
%ul.list-inline.list-unstyled.text-center
- if @user.website_url.present?
%li
= link_to(@user.website_url) do
%div.user-profile-icon
%icon.fa.fa-external-link.fa-3x
%span.concat-text Blog
- if @user.linkedin.present?
%li
= link_to(@user.linkedin) do
%div.user-profile-icon
%icon.fa.fa-linkedin.fa-3x
%span.concat-text Linkedin
- if @user.twitter.present?
%li
= link_to(@user.twitter) do
%div.user-profile-icon
%icon.fa.fa-twitter.fa-3x
%span.concat-text Twitter
- if @user.googleplus.present?
%li
= link_to(@user.googleplus) do
%div.user-profile-icon
%icon.fa.fa-google-plus.fa-3x
%span.concat-text Google+
- if @user.gnu.present?
%li
= link_to(@user.gnu) do
%div.user-profile-icon
%icon.fa.fa-linux.fa-3x
%span.concat-text Gnu
- if @user.diaspora.present?
%li
= link_to(@user.diaspora) do
%div.user-profile-icon
%icon.fa.fa-asterisk.fa-3x
%span.concat-text Diaspora
- if @user.savannah.present?
%li
= link_to(@user.savannah) do
%div.user-profile-icon
%icon.fa.fa-linux.fa-3x
%span.concat-text Savannah
- if @user.gna.present?
%li
= link_to(@user.gna) do
%div.user-profile-icon
%icon.fa.fa-linux.fa-3x
%span.concat-text Gna!
- if @user.github.present?
%li
= link_to(@user.github) do
%div.user-profile-icon
%icon.fa.fa-github.fa-3x
%span.concat-text Github
- if @user.gitlab.present?
%li
= link_to(@user.gitlab) do
%div.user-profile-icon
%icon.fa.fa-gitlab.fa-3x
%span.concat-text Gitlab
%h3.text-center Bio
%p
= markdown(@user.biography)
.row
.col-md-12
%h3 Social Media and Social Code
%table.table
%tr
%td
%b Website
%td
= @user.website_url.present? ? @user.website_url : '-'
%tr
%td
%b Linkedin
%td
= @user.linkedin.present? ? @user.linkedin : '-'
%tr
%td
%b Twitter
%td
= @user.twitter.present? ? @user.twitter : '-'
%tr
%td
%b GooglePlus
%td
= @user.googleplus.present? ? @user.googleplus : '-'
%tr
%td
%b GNU Social
%td
= @user.gnu.present? ? @user.gnu : '-'
%tr
%td
%b Diaspora
%td
= @user.diaspora.present? ? @user.diaspora : '-'
%tr
%td
%b Savannah
%td
= @user.savannah.present? ? @user.savannah : '-'
%tr
%td
%b Github
%td
= @user.github.present? ? @user.github : '-'
%tr
%td
%b Gitlab
%td
= @user.gitlab.present? ? @user.gitlab : '-'
%tr
%td
%b Gna!
%td
= @user.gna.present? ? @user.gna : '-'
.row
.col-md-12
- if @user.events.confirmed.any?

View file

@ -20,16 +20,19 @@ FactoryGirl.define do
sequence(:username) { |n| "username#{n}" }
password 'changeme'
password_confirmation 'changeme'
googleplus { Faker::Internet.url('http://plus.google.com/testosemurl') }
linkedin {Faker::Internet.url('http://linkedin.com/testosemuser')}
website_url { Faker::Internet.url('http://example.com') }
gnu { Faker::Internet.url('http://gnu.io/testosemurl') }
twitter { Faker::Internet.url('http://twitter.com/testosemuser') }
github { Faker::Internet.url('http://github.com/testosemuser') }
gitlab { Faker::Internet.url('http://gitlab.com/testosemuser') }
savannah { Faker::Internet.url('http://savannah.gnu.org/testosemuser') }
diaspora { Faker::Internet.url('http://joindiaspora.com/testosemuser') }
gna { Faker::Internet.url('http://gna.com/testosemuser') }
trait :with_social_media_and_code_info do
googleplus { Faker::Internet.url('plus.google.com') }
linkedin {Faker::Internet.url('linkedin.com')}
website_url{Faker::Internet.url('example.com')}
gnu{Faker::Internet.url('gnu.io')}
twitter{Faker::Internet.url('twitter.com')}
github{Faker::Internet.url('github.com')}
gitlab{Faker::Internet.url('gitlab')}
savannah{Faker::Internet.url('savannah.gnu.org')}
diaspora{Faker::Internet.url('joindiaspora.com')}
gna{Faker::Internet.url('gna.com')}
end
confirmed_at { Time.now }
biography <<-EOS

View file

@ -1,8 +1,7 @@
require 'spec_helper'
feature User do
let!(:user) {create(:user)}
let!(:user) {create(:user, :with_social_media_and_code_info)}
describe 'update user profile' do
scenario 'sucessfully', feature: true do

View file

@ -9,8 +9,7 @@ describe User do
let(:cfp_role) { Role.find_by(name: 'cfp', resource: conference) }
let(:volunteers_coordinator_role) { Role.find_by(name: 'volunteers_coordinator', resource: conference) }
let(:organizer) { create(:user, role_ids: [organizer_role.id]) }
let(:user) { create(:user) }
let!(:user) {create(:user, :with_social_media_and_code_info)}
let(:event1) { create(:event, program: conference.program) }
let(:another_conference) { create(:conference) }
let(:event2) { create(:event, program: another_conference.program) }
@ -48,6 +47,34 @@ describe User do
end
end
describe 'url format validation' do
context 'with valid url' do
it { should allow_value('http://example.com').for(:website_url) }
it { should allow_value('http://linkedin.com').for(:linkedin) }
it { should allow_value('http://googleplus.com').for(:googleplus) }
it { should allow_value('http://gnu.com').for(:gnu) }
it { should allow_value('http://twitter.com').for(:twitter) }
it { should allow_value('http://github.com').for(:github) }
it { should allow_value('http://gitlab.com').for(:gitlab) }
it { should allow_value('http://joindiaspora.com').for(:diaspora) }
it { should allow_value('http://savannah.gnu.org').for(:savannah) }
it { should allow_value('https://linkedin.com').for(:gna) }
end
context 'with invalid url' do
it { should_not allow_value('example').for(:website_url) }
it { should_not allow_value('linkedin').for(:linkedin) }
it { should_not allow_value('googleplus').for(:googleplus) }
it { should_not allow_value('gnu').for(:gnu) }
it { should_not allow_value('@twitter').for(:twitter) }
it { should_not allow_value('@github').for(:github) }
it { should_not allow_value('@gitlab').for(:gitlab) }
it { should_not allow_value('diaspora').for(:diaspora) }
it { should_not allow_value('savannah').for(:savannah) }
it { should_not allow_value('gna').for(:gna) }
end
end
describe 'association' do
it { is_expected.to have_many(:openids) }
it { is_expected.to have_many(:event_users).dependent(:destroy) }