diff --git a/db/up/events.sql b/db/up/events.sql index b0f2d2458..c2992c07b 100644 --- a/db/up/events.sql +++ b/db/up/events.sql @@ -1,7 +1,6 @@ CREATE TABLE events ( id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(), slug VARCHAR(512) NOT NULL UNIQUE, - event_day date, title TEXT, description TEXT, show_sponser BOOLEAN NOT NULL DEFAULT false, diff --git a/ruby/lib/jam_ruby/models/event.rb b/ruby/lib/jam_ruby/models/event.rb index a5f3e1f02..c21e655ab 100644 --- a/ruby/lib/jam_ruby/models/event.rb +++ b/ruby/lib/jam_ruby/models/event.rb @@ -1,6 +1,6 @@ class JamRuby::Event < ActiveRecord::Base - attr_accessible :slug, :event_day, :title, :description, :show_sponser, as: :admin + attr_accessible :slug, :title, :description, :show_sponser, as: :admin validates :slug, uniqueness: true, presence: true validates :show_sponser, :inclusion => {:in => [true, false]} diff --git a/ruby/lib/jam_ruby/models/event_session.rb b/ruby/lib/jam_ruby/models/event_session.rb index ac303b6be..7385de68d 100644 --- a/ruby/lib/jam_ruby/models/event_session.rb +++ b/ruby/lib/jam_ruby/models/event_session.rb @@ -14,7 +14,6 @@ class JamRuby::EventSession < ActiveRecord::Base before_validation :sanitize_active_admin def sanitize_active_admin - puts self.inspect self.img_url = nil if self.img_url == '' self.user_id = nil if self.user_id == '' self.band_id = nil if self.band_id == '' diff --git a/web/app/assets/stylesheets/web/events.css.scss b/web/app/assets/stylesheets/web/events.css.scss index fadb069e8..db8edf865 100644 --- a/web/app/assets/stylesheets/web/events.css.scss +++ b/web/app/assets/stylesheets/web/events.css.scss @@ -9,4 +9,16 @@ .bio { line-height:16px; } + + .session-button { + img.listen-now-play { + vertical-align: top; + padding-right:7px; + } + } +} +.landing-sidebar { + .sponsor { + margin-bottom:50px; + } } \ No newline at end of file diff --git a/web/app/helpers/event_session_helper.rb b/web/app/helpers/event_session_helper.rb index 37a67b798..3c46e7e38 100644 --- a/web/app/helpers/event_session_helper.rb +++ b/web/app/helpers/event_session_helper.rb @@ -13,6 +13,7 @@ module EventSessionHelper url = image_path(event_session.img_url) else url = resolve_avatarables(event_session.band, event_session.user, allow_none: true) + url = image_path(url) if url end if url @@ -38,25 +39,34 @@ module EventSessionHelper timezone.at(event_session.starts_at.to_i).strftime('%l:%M %P') end + def fetch_last_session(event_session) + # if no pinned state, then we try to find if there is a session currently on going during the specified time range + # if so, then we are playing. + # if there has been none, we say it's still coming, + # if there has been at least one, and it's over, we say session over + query = MusicSessionHistory.where(fan_access: true).where(created_at: event_session.starts_at..event_session.ends_at) + if event_session.user_id + query = query.where(user_id: event_session.user_id) + elsif event_session.band_id + query = query.where(band_id: event_session.band_id) + else + raise 'invalid state in event_session_button' + end + + query.order('created_at DESC').first + end + def event_session_button(event_session) state = nil # can be :not_started, :over, :playing state = event_session.pinned_state if event_session.pinned_state - if !state && (event_session.starts_at && event_session.ends_at && (event_session.user_id || event_session.band_id)) - # if no pinned state, then we try to find if there is a session currently on going during the specified time range - # if so, then we are playing. - # if there has been none, we say it's still coming, - # if there has been at least one, and it's over, we say session over - query = MusicSessionHistory.where(created_at: event_session.starts_at..event_session.ends_at) - if event_session.user_id - query = query.where(user_id: event_session.user_id) - elsif event_session.band_id - query = query.where(band_id: event_session.band_id) - else - raise 'invalid state in event_session_button' - end + if state - music_session_history = query.order('created_at DESC').first + music_session_history = fetch_last_session(event_session) + + elsif !state && (event_session.starts_at && event_session.ends_at && (event_session.user_id || event_session.band_id)) + + music_session_history = fetch_last_session(event_session) if music_session_history if music_session_history.session_removed_at @@ -73,8 +83,7 @@ module EventSessionHelper content_tag(:a, 'SESSION ENDED', href: music_session_history.nil? ? '#' : music_session_detail_path(music_session_history.id), class: 'button-grey') elsif state == 'playing' content_tag(:a, '', href: music_session_detail_path(music_session_history.id), class: 'button-orange') do - image_tag 'content/icon_playbutton.png', :width => 20, height: 20, align: 'absmiddle' - content_tag(:span, 'LISTEN NOW') + content_tag(:span, image_tag('content/icon_playbutton.png', :width => 20, height: 20, align: 'absmiddle', class:'listen-now-play') + 'LISTEN NOW') end elsif state == 'not_started' nil diff --git a/web/app/views/events/_event_session.html.haml b/web/app/views/events/_event_session.html.haml index 6cee1162b..f3a75161a 100644 --- a/web/app/views/events/_event_session.html.haml +++ b/web/app/views/events/_event_session.html.haml @@ -3,13 +3,13 @@ = event_session_img(event_session) %br %br - %span= event_session_title(event_session) + %span.event-title= event_session_title(event_session) .landing-details.event .left.f20.teal.time %strong = event_session_start_hour(event_session) - .right + .right.session-button = event_session_button(event_session) %br{ clear:'all' } diff --git a/web/app/views/events/event.html.haml b/web/app/views/events/event.html.haml index 237e554ef..9619bdff2 100644 --- a/web/app/views/events/event.html.haml +++ b/web/app/views/events/event.html.haml @@ -17,12 +17,9 @@ %br %div{align:'center'} - if @event.show_sponser? - %span SPONSORED BY: - = image_tag 'content/logo_centurylink.png', width:320, height:80, class:'play-icon', alt:'CenturyLink logo' - %br - %br - %br - %br + .sponsor + %span SPONSORED BY: + = image_tag 'content/logo_centurylink.png', width:320, height:80, alt:'CenturyLink logo' %div{align: 'center'} LEARN ABOUT JAMKAZAM %br = image_tag 'web/carousel_musicians.jpg', width:350, alt:'JamKazam Overview', class: 'video-slide', diff --git a/web/app/views/music_sessions/show.html.erb b/web/app/views/music_sessions/show.html.erb index 5739e0839..a07199666 100644 --- a/web/app/views/music_sessions/show.html.erb +++ b/web/app/views/music_sessions/show.html.erb @@ -17,7 +17,7 @@ <% end %>