VRFS-1693 bug fixes
This commit is contained in:
parent
8cc14b1ede
commit
1141f2bd2e
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue