VRFS-1693 bug fixes

This commit is contained in:
Brian Smith 2014-06-05 00:55:15 -04:00
parent 8cc14b1ede
commit 1141f2bd2e
1 changed files with 9 additions and 29 deletions

View File

@ -73,7 +73,7 @@ module JamRuby
new_session.band_id = self.band_id
new_session.fan_access = self.fan_access
# TODO: confirm this logic
new_session.scheduled_start = self.scheduled_start + self.scheduled_duration
# new_session.scheduled_start = self.scheduled_start + self.scheduled_duration
new_session.scheduled_duration = self.scheduled_duration
new_session.musician_access = self.musician_access
new_session.approval_required = self.approval_required
@ -85,34 +85,26 @@ module JamRuby
new_session.recurring_mode = self.recurring_mode
new_session.timezone = self.timezone
new_session.open_rsvps = self.open_rsvps
new_session.save
chosen_slots = []
# copy rsvp_slots, rsvp_requests, and rsvp_requests_rsvp_slots
RsvpSlot.find_each(:conditions => "music_session_id = '#{self.id}'") do |slot|
new_slot = RsvpSlot.new
new_slot.instrument_id = slot.instrument_id
new_slot.proficiency_level = slot.proficiency_level
new_slot.music_session_id = new_session.id
new_slot.save
new_session.rsvp_slots << new_slot
# get the request for this slot that was approved (should only be ONE)
rsvp_request_slot = RsvpRequestRsvpSlot.where("chosen = true AND rsvp_slot_id = ?", slot.id).first
unless rsvp_request_slot.nil?
chosen_slots << rsvp_request_slot
rsvp = RsvpRequest.find_by_id(rsvp_request_slot.rsvp_request_id)
new_rsvp = RsvpRequest.new
new_rsvp.user_id = rsvp.user_id
new_rsvp.save
new_rsvp_req_slot = RsvpRequestRsvpSlot.new
new_rsvp_req_slot.rsvp_request_id = new_rsvp.id
new_rsvp_req_slot.rsvp_slot_id = new_slot.id
new_rsvp_req_slot.rsvp_request = new_rsvp
new_rsvp_req_slot.rsvp_slot = new_slot
new_rsvp_req_slot.chosen = true
new_rsvp_req_slot.save
# if this slot was not chosen, try to get any RSVPs that were 1-time cancellations and copy those
else
@ -126,13 +118,11 @@ module JamRuby
if rsvp.canceled && !rsvp.cancel_all
new_rsvp = RsvpRequest.new
new_rsvp.user_id = rsvp.user_id
new_rsvp.save
new_rsvp_req_slot = RsvpRequestRsvpSlot.new
new_rsvp_req_slot.rsvp_request_id = new_rsvp.id
new_rsvp_req_slot.rsvp_slot_id = new_slot.id
new_rsvp_req_slot.rsvp_request = new_rsvp
new_rsvp_req_slot.rsvp_slot = new_slot
new_rsvp_req_slot.chosen = true
new_rsvp_req_slot.save
break
end
end
@ -143,24 +133,14 @@ module JamRuby
MusicNotation.find_each(:conditions => "music_session_id = '#{self.id}'") do |notation|
new_notation = MusicNotation.new
new_notation.user_id = notation.user_id
new_notation.music_session_id = new_session.id
new_notation.music_session = new_session
new_notation.file_url = notation.file_url
# new_notation.file_name = notation.file_name
new_notation.size = notation.size
new_notation.save
new_session.music_notations << new_notation
end
# copy invitations
# Invitation.find_each(:conditions => "music_session_id = '#{self.id}'") do |invitation|
# new_invitation = Invitation.new
# new_invitation.sender_id = invitation.sender_id
# new_invitation.receiver_id = invitation.receiver_id
# new_invitation.music_session_id = new_session.id
# new_invitation.save
# user = User.find(new_invitation.receiver_id)
# Notification.send_scheduled_session_invitation(new_session, user)
# end
new_session.save
# mark the next session as scheduled
self.next_session_scheduled = true