From 304008d693a3e3c6ede1696567a2d0923fb64db7 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Mon, 26 May 2014 14:00:34 -0400 Subject: [PATCH] VRFS-1670 more session info work --- ruby/lib/jam_ruby/models/music_session.rb | 16 ++++++-- .../stylesheets/client/screen_common.css.scss | 4 ++ .../music_sessions/session_info.html.haml | 37 +++++++++++++++++++ 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/ruby/lib/jam_ruby/models/music_session.rb b/ruby/lib/jam_ruby/models/music_session.rb index 91d5fbe51..2df2d1496 100644 --- a/ruby/lib/jam_ruby/models/music_session.rb +++ b/ruby/lib/jam_ruby/models/music_session.rb @@ -324,11 +324,19 @@ module JamRuby end def open_slots + # get all slots for this session and perform a set difference with all chosen slots; + # this will return those that are not filled yet RsvpSlot.find_by_sql(%Q{select rs.* - from rsvp_slots rs - left join rsvp_requests_rsvp_slots rrrs on rrrs.rsvp_slot_id = rs.id - where (rrrs.rsvp_slot_id is null or rrrs.chosen != true) - and rs.music_session_id = '#{self.id}'}) + from rsvp_slots rs + rs.music_session_id = '#{self.id}' + except + select distinct rs.* + from rsvp_slots rs + inner join rsvp_requests_rsvp_slots rrrs on rrrs.rsvp_slot_id = rs.id + and rs.music_session_id = '#{self.id}' + and rrrs.chosen = true + } + ) end def pending_invitations diff --git a/web/app/assets/stylesheets/client/screen_common.css.scss b/web/app/assets/stylesheets/client/screen_common.css.scss index bfbe60b05..459d37cdd 100644 --- a/web/app/assets/stylesheets/client/screen_common.css.scss +++ b/web/app/assets/stylesheets/client/screen_common.css.scss @@ -318,6 +318,10 @@ small, .small {font-size:11px;} .p25 {padding:25px !important} .p30 {padding:30px !important} +.h20 { height:20px; line-height:20px; vertical-align:middle} +.h30 { height:30px; line-height:30px; vertical-align:middle } +.h40 { height:40px; line-height:25px; vertical-align:middle } + .border-right {border-right:solid 1px #999;} .border-left {border-left:solid 1px #999;} .border-bottom {border-bottom:solid 1px #999;} diff --git a/web/app/views/music_sessions/session_info.html.haml b/web/app/views/music_sessions/session_info.html.haml index 735bcb118..d7b2d2efb 100644 --- a/web/app/views/music_sessions/session_info.html.haml +++ b/web/app/views/music_sessions/session_info.html.haml @@ -79,6 +79,43 @@ .left.ml10 - rsvp["instruments"].each do |i| %img.instrument-icon{'instrument-id' => i, height:24, width:24} + + %br{:clear => "all"}/ + %br/ + .left.w65.ib + %strong Still Needed + - if @open_slots.blank? + .clearall.left.w65.h20.ib.mb10 + All slots are taken + - else + - @open_slots.each do |slot| + .clearall.left.w65.h20.ib.mb10 + .ib.h20 + %img.instrument-icon{'instrument-id' => slot.instrument_id, height:24, width:24} + .f11.ml10.ib.h20 + = slot.instrument_id.capitalize + + + %br{:clear => "all"}/ + %br/ + .w65.ib + %strong Invited + %br/ + - if @pending_invitations.blank? + None + - @pending_invitations.each_with_index do |invite, index| + - if index == 0 + .avatar-tiny + - unless invite.photo_url.blank? + = image_tag "#{invite.photo_url}", alt: "" + - else + = image_tag "shared/avatar_generic.png", alt: "" + - else + .ml10.avatar-tiny + - unless invite.photo_url.blank? + = image_tag "#{invite.photo_url}", alt: "" + - else + = image_tag "shared/avatar_generic.png", alt: "" - else .left.f20.teal