This commit is contained in:
Seth Call 2020-12-07 21:04:10 -06:00
parent 10d932a88e
commit fdb6a35541
9 changed files with 86 additions and 13 deletions

View File

@ -43,7 +43,6 @@ ActiveAdmin.register JamRuby::User, :as => 'Users' do
member_action :resend_welcome_email, :method => :get do
handled = false
user = resource
if user.is_a_student
if user.import_source
@ -66,7 +65,7 @@ ActiveAdmin.register JamRuby::User, :as => 'Users' do
UserMailer.welcome_message(user).deliver_now
end
redirect_to :back, {notice: handled ? "Resent Welcome Email" : "No Email Sent!"}
redirect_to :back, {notice: "Resent Welcome Email"}
end
member_action :sync_subscription, :method => :get do
@ -185,7 +184,6 @@ ActiveAdmin.register JamRuby::User, :as => 'Users' do
end
end
row "Subscription" do |user|
div do
attributes_table do

View File

@ -623,7 +623,7 @@ profileUtils = context.JK.ProfileUtils
<div className={classNames(leftColumnClasses)}>
{uncollectableMessage}
<div className="paymethod-header">{header}</div>
<a href='#' onClick={this.onStartPaypal}>Pay with Paypal</a>
<a href='#' style={{display:'none'}}onClick={this.onStartPaypal}>Pay with Paypal</a>
<form autoComplete="on" onSubmit={this.onSubmit} className={classNames(formClasses)} id="user-payment-submit">
{firstNameField}
{lastNameField}

View File

@ -119,7 +119,10 @@ mixins.push(Reflux.listenTo(UserStore, 'onUserChanged'))
jamTrackMixdown: {}
}
close: () ->
close: (e) ->
if e?
e.preventDefault()
if !@state.media.mediaSummary.isOpener
return
@ -490,6 +493,8 @@ mixins.push(Reflux.listenTo(UserStore, 'onUserChanged'))
@unloaded = true
window.unloaded = true
@props.windowUnloaded()
SessionActions.closeMedia(false) unless window.DontAutoCloseMedia
toggleMyMixes: (e) ->

View File

@ -231,23 +231,37 @@ ChannelGroupIds = context.JK.ChannelGroupIds
else if this.state.mediaSummary.mediaOpen || @state.jamTrackState?.jamTrack?
only_opener = false
# give the users options to close it
if this.state.mediaSummary.recordingOpen
mediaType = "Recording"
only_opener = true
else if this.state.mediaSummary.jamTrackOpen || @state.jamTrackState?.jamTrack?
mediaType = "JamTrack"
only_opener = true
else if this.state.mediaSummary.backingTrackOpen
mediaType = "Audio File"
only_opener = true
else if this.state.mediaSummary.metronomeOpen
mediaType = "Metronome"
else
mediaType = ""
closeOptions = `<a className="closeAudio" onClick={this.closeAudio}>
<img src="/assets/content/icon_close.png" width="18" height="20" />
Close {mediaType}
</a>`
if !only_opener || this.state.mediaSummary.isOpener
closeOptions = `<a className="closeAudio" onClick={this.closeAudio}>
<img src="/assets/content/icon_close.png" width="18" height="20" />
Close {mediaType}
</a>`
else
if @state.popupOpen
closeOptions = `<a className="popup-open">
</a>`
else
closeOptions = `<a className="reopen-popup" href='#' onClick={this.handlePopup}>
Reopen Popup
</a>`
content = null
@ -312,7 +326,7 @@ ChannelGroupIds = context.JK.ChannelGroupIds
getInitialState:() ->
{mediaSummary:{mediaOpen: false}, isRecording: false, backingTracks: [], jamTracks: [], recordedTracks: [], metronome: null, jamTrackState: {}}
{mediaSummary:{mediaOpen: false}, isRecording: false, backingTracks: [], jamTracks: [], recordedTracks: [], metronome: null, jamTrackState: {}, popupOpen: false}
onAppInit: (app) ->
@app = app
@ -349,15 +363,26 @@ ChannelGroupIds = context.JK.ChannelGroupIds
@handlePopup()
windowUnloaded: () ->
logger.debug('SessionMediaTracks: window uploaded')
@setState({popupOpen: false})
@childWindow = null
handlePopup: () ->
if @state.mediaSummary.userNeedsMediaControls || @state.jamTrackState?.jamTrack?
unless @childWindow?
logger.debug("opening media control window")
@childWindow = window.open("/popups/media-controls", 'Media Controls', 'scrollbars=yes,toolbar=no,status=no,height=155,width=350')
@childWindow.PopupProps = {media: @state, jamTrackState: context.JamTrackStore.getState(), downloadingJamTrack: context.SessionStore.downloadingJamTrack }
@childWindow.PopupProps = {media: @state, jamTrackState: context.JamTrackStore.getState(), downloadingJamTrack: context.SessionStore.downloadingJamTrack, windowUnloaded: @windowUnloaded }
setTimeout(() =>
@setState({popupOpen: true})
, 1)
else
if @childWindow?
@childWindow.DontAutoCloseMedia = true
@childWindow.close()
@childWindow = null
setTimeout(() =>
@setState({popupOpen: false})
, 1)
})

View File

@ -15,4 +15,5 @@ context = window
deadUserRemove: {}
missingPeerMixer: {}
clientsWithAudio: {}
closeMedia: {}
})

View File

@ -1,5 +1,6 @@
context = window
logger = context.JK.logger
SessionActions = context.SessionActions
MIX_MODES = context.JK.MIX_MODES
rest = context.JK.Rest()
@ -176,6 +177,43 @@ rest = context.JK.Rest()
@mixers = new context.MixerHelper(@session, @masterMixers, @personalMixers, @metro, @noAudioUsers, @clientsWithAudioOverride, @mixers?.mixMode || MIX_MODES.PERSONAL)
@issueChange()
# codeInitiated means the user did not initiate this
onCloseMedia: (codeInitiated) ->
logger.debug("SessionStore: onCloseMedia", codeInitiated)
if @session.recordedTracks()
@closeRecording()
else if @session.jamTracks() || @session.downloadingJamTrack
@closeJamTrack()
else if @session.backingTrack() && @session.backingTrack().path
@closeBackingTrack()
else if @session.isMetronomeOpen()
@closeMetronomeTrack()
else
logger.error("don't know how to close open media", @session) unless codeInitiated
closeRecording: () ->
logger.debug("closing recording")
if !@mixers.mediaSummary.isOpener
logger.debug("not closing recording")
rest.stopPlayClaimedRecording({id: @currentSessionId, claimed_recording_id: @currentSession.claimed_recording.id})
.done((response) =>
#sessionModel.refreshCurrentSession(true);
# update session info
SessionActions.updateSession(response)
)
.fail((jqXHR) =>
@app.notify({
"title": "Couldn't Stop Recording Playback",
"text": "Couldn't inform the server to stop playback. msg=" + jqXHR.responseText,
"icon_url": "/assets/content/icon_alert_big.png"
})
)
context.jamClient.CloseRecording()
onDeadUserRemove: (clientId) ->
return unless @session.inSession()

View File

@ -249,7 +249,7 @@ ConfigureTracksActions = @ConfigureTracksActions
else if @helper.isMetronomeOpen()
@closeMetronomeTrack()
else
logger.error("don't know how to close open media") unless codeInitiated
logger.error("don't know how to close open media", @helper) unless codeInitiated
closeJamTrack: () ->

View File

@ -354,7 +354,7 @@ $session-screen-divider: 1190px;
}
}
.closeAudio, .session-clear-notifications {
.closeAudio, .session-clear-notifications, .reopen-popup, .popup-open {
cursor: pointer;
color: $ColorTextTypical;
height: 20px;
@ -369,6 +369,8 @@ $session-screen-divider: 1190px;
}
}
.reopen-popup {color:#fc0}
.open-media-file-header, .use-metronome-header {
font-size: 14px;
line-height: 100%;

View File

@ -203,6 +203,10 @@
.track-icon-mute{
float:right;
}
&:nth-child(2) {
margin-top:0;
}
}
&.music-mixer, &.chat-mixer {