This repository has been archived on 2025-05-04. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
codecombat/app/views/courses/RemoveStudentModal/RemoveStudentModal.coffee
Scott Erickson f929cbdf75 Migrate modals and sass files
Note, this leaves a couple templates broken
2016-09-23 16:30:36 -07:00

36 lines
1.1 KiB
CoffeeScript

ModalView = require 'views/core/ModalView'
template = require './remove-student-modal'
module.exports = class RemoveStudentModal extends ModalView
id: 'remove-student-modal'
template: template
events:
'click #remove-student-btn': 'onClickRemoveStudentButton'
initialize: (options) ->
@classroom = options.classroom
@user = options.user
@courseInstances = options.courseInstances
onClickRemoveStudentButton: ->
@$('#remove-student-buttons').addClass('hide')
@$('#remove-student-progress').removeClass('hide')
userID = @user.id
@toRemove = @courseInstances.filter (courseInstance) -> _.contains(courseInstance.get('members'), userID)
@toRemove.push @classroom
@totalJobs = _.size(@toRemove)
@removeStudent()
removeStudent: ->
model = @toRemove.shift()
if not model
@trigger 'remove-student', { user: @user }
@hide()
return
model.removeMember(@user.id)
pct = (100 * (@totalJobs - @toRemove.length) / @totalJobs).toFixed(1) + '%'
@$('#remove-student-progress .progress-bar').css('width', pct)
@listenToOnce model, 'sync', ->
@removeStudent()