VRFS-2463 (1) prevent duplicate claimed recordings from showing in sidebar, (2) only show public recordings and sessions with fan_access=true, (3) exclude recording / session being shown on landing page in the sidebar

This commit is contained in:
Brian Smith 2014-12-06 09:34:30 -05:00
parent d8057525bf
commit 354f6320fc
4 changed files with 27 additions and 9 deletions

View File

@ -78,14 +78,22 @@ module JamRuby
lng
end
def recent_history
def recent_history(session_id, recording_id)
recording_exclusion = "claimed_recordings.id != '#{recording_id}'" if recording_id
recordings = Recording
.joins(:claimed_recordings)
.where(:band_id => self.id)
.where('claimed_recordings.is_public=true')
.where(recording_exclusion)
.order('created_at DESC')
.limit(10)
msh = MusicSession.where(:band_id => self.id)
session_exclusion = "music_sessions.id != '#{session_id}'" if session_id
msh = MusicSession
.where(:band_id => self.id)
.where(:fan_access => true)
.where(session_exclusion)
.order('created_at DESC')
.limit(10)

View File

@ -439,14 +439,24 @@ module JamRuby
mods_json[:connection_expire_time_client]
end
def recent_history
def recent_history(session_id, recording_id)
# used to exclude currently viewed recording
recording_exclusion = "claimed_recordings.id != '#{recording_id}'" if recording_id
recordings = Recording
.joins(:claimed_recordings)
.where(:owner_id => self.id)
.where("claimed_recordings.user_id = '#{self.id}'")
.where('claimed_recordings.is_public=true')
.where(recording_exclusion)
.order('created_at DESC')
.limit(10)
msh = MusicSession.where(:user_id => self.id)
# used to exclude currently viewed session
session_exclusion = "music_sessions.id != '#{session_id}'" if session_id
msh = MusicSession
.where(:user_id => self.id)
.where(:fan_access => true)
.where(session_exclusion)
.order('created_at DESC')
.limit(10)

View File

@ -109,9 +109,9 @@
<% else %>
<% if signed_in? && @music_session.fan_access %>
<% unless @music_session.band.nil? %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @music_session.band, :recent_history => @music_session.band.recent_history} %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @music_session.band, :recent_history => @music_session.band.recent_history(@music_session.id, nil)} %>
<% else %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @music_session.creator, :recent_history => @music_session.creator.recent_history} %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @music_session.creator, :recent_history => @music_session.creator.recent_history(@music_session.id, nil)} %>
<% end %>
<% else %>
<%= render :partial => "shared/cta_sidebar" %>

View File

@ -100,9 +100,9 @@
<% if !@claimed_recording.recording.deleted && (@claimed_recording.is_public || @claimed_recording.recording.has_access?(current_user)) %>
<% if signed_in? %>
<% unless @claimed_recording.recording.band.nil? %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @claimed_recording.recording.band, :recent_history => @claimed_recording.recording.band.recent_history} %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @claimed_recording.recording.band, :recent_history => @claimed_recording.recording.band.recent_history(nil, @claimed_recording.id)} %>
<% else %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @claimed_recording.recording.owner, :recent_history => @claimed_recording.recording.owner.recent_history} %>
<%= render :partial => "shared/landing_sidebar", :locals => {:user => @claimed_recording.recording.owner, :recent_history => @claimed_recording.recording.owner.recent_history(nil, @claimed_recording.id)} %>
<% end %>
<% else %>
<%= render :partial => "shared/cta_sidebar" %>