(function (window) {
ts.studentProgramEnrollment = {
studentEid: null,
programEnrollmentId: null,
modalId: null,
oldCohortValue: null,
currentMode: null,
hasViewPermissions: false,
hasAddPermissions: false,
hasModifyPermissions: false,
hasDeletePermissions: false,
hasOverridePermissions: false,
hasBlockedEnrollmentHolds: false,
mode: {
Enrollments: 'Enrollments',
SubEnrollments: 'SubEnrollments',
AddEdit: 'AddEdit',
Delete: 'Delete'
},
init: function (speConfig) {
if (speConfig) {
ts.studentProgramEnrollment.hasViewPermissions = speConfig.hasViewPermissions || false;
ts.studentProgramEnrollment.hasAddPermissions = speConfig.hasAddPermissions || false;
ts.studentProgramEnrollment.hasModifyPermissions = speConfig.hasModifyPermissions || false;
ts.studentProgramEnrollment.hasDeletePermissions = speConfig.hasDeletePermissions || false;
ts.studentProgramEnrollment.hasOverridePermissions = speConfig.hasOverridePermissions || false;
}
},
register: function (id) {
ts.studentProgramEnrollment.studentEid = id;
ts.studentProgramEnrollment.checkForHolds();
ts.studentProgramEnrollment.handler();
},
handler: function () {
$('#divStudentProgramEnrollment').hide();
if (ts.studentProgramEnrollment.hasViewPermissions && ts.studentProgramEnrollment.studentEid) {
$('#divStudentProgramEnrollment').show();
$(document).delegate('#studentProgramEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.loadStudentEnrollments();
return false;
});
}
},
clearHandlers: function () {
ts.studentProgramEnrollment.studentEid = '';
ts.studentProgramEnrollment.handler();
$(document).undelegate('#studentProgramEnrollmentLink', 'click');
},
checkForHolds: function () {
if (ts.studentProgramEnrollment.studentEid === undefined || ts.studentProgramEnrollment.studentEid === '') {
ts.studentProgramEnrollment.hasBlockedEnrollmentHolds = null;
return;
}
ts.ajax.send({
url: '/enrollment/studentinformation/hasblockedenrollmentholds/{studentEid}'.bind({ studentEid: ts.studentProgramEnrollment.studentEid }),
type: 'POST',
successHandler: function (result) {
if (result.status.toLowerCase() == "ok") {
ts.studentProgramEnrollment.hasBlockedEnrollmentHolds = result.result;
}
else {
ts.studentProgramEnrollment.hasBlockedEnrollmentHolds = null;
}
},
errorHandler: function (result) {
ts.studentProgramEnrollment.hasBlockedEnrollmentHolds = null;
}
});
},
loadStudentEnrollments: function () {
ts.studentProgramEnrollment.modalId = ts.win.modal({
url: '/enrollment/studentinformation/studentenrollments/{studentEid}'.bind({ studentEid: ts.studentProgramEnrollment.studentEid }),
id: 'loadStudentEnrollmentsModal',
title: ts.studentProgramEnrollment.labels.ProgramEnrollments,
binder: function () {
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.Enrollments;
ts.studentProgramEnrollment.reloadAppearance();
$(".modalWindowInner").css("width", "60%");
}
});
},
reloadEnrollments: function (e) {
$(".loadingImage").show();
ts.ajax.send({
url: '/enrollment/studentinformation/reloadenrollments/{studentEid}'.bind({ studentEid: ts.studentProgramEnrollment.studentEid }),
type: 'GET',
successHandler: function (data) {
$(".loadingImage").hide();
ts.ajax.handleResult(data);
ts.utility.html("#studentEnrollments", $(data.HtmlResult).filter("#studentEnrollments").html());
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.Enrollments;
ts.studentProgramEnrollment.reloadAppearance();
},
errorHandler: function (data) {
$(".loadingImage").hide();
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorStudentEnrollments);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
},
loadSubEnrollments: function (e) {
e.stopImmediatePropagation();
ts.ajax.send({
url: '/enrollment/studentinformation/studentsubenrollments/{programEnrollmentId}'.bind({ programEnrollmentId: $(this).attr("tsid") }),
type: 'GET',
successHandler: function (data) {
ts.ajax.handleResult(data);
ts.utility.html("#studentSubEnrollments", data.HtmlResult);
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.SubEnrollments;
ts.studentProgramEnrollment.reloadAppearance();
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorStudentSubEnrollments);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
},
loadDelete: function (e) {
e.stopImmediatePropagation();
if (!ts.studentProgramEnrollment.hasOverridePermissions)
return;
ts.ajax.send({
url: '/enrollment/studentinformation/studentenrollments/{studentId}/Delete/{programEnrollmentId}'.bind({ studentId: window.page.studentId, programEnrollmentId: $(this).attr("tsid") }),
type: 'GET',
successHandler: function (data) {
ts.ajax.handleResult(data);
ts.utility.html("#studentEnrollmentDelete", data.HtmlResult);
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.Delete;
ts.studentProgramEnrollment.reloadAppearance();
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorStudentSubEnrollments);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
},
addEdit: function () {
ts.studentProgramEnrollment.programEnrollmentId = $(this).attr("tsid") ? $(this).attr("tsid") : 0;
if (ts.studentProgramEnrollment.programEnrollmentId == 0 && ts.studentProgramEnrollment.hasAddPermissions ||
ts.studentProgramEnrollment.programEnrollmentId > 0 && ts.studentProgramEnrollment.hasModifyPermissions) {
$(".loadingImage").show();
$("#studentEnrollments").hide();
ts.ajax.send({
url: '/enrollment/studentinformation/StudentEnrollments/{studentEid}/AddEdit/{programEnrollmentId}/{hasOverride}'
.bind({ studentEid: ts.studentProgramEnrollment.studentEid, programEnrollmentId: ts.studentProgramEnrollment.programEnrollmentId, hasOverride: ts.studentProgramEnrollment.hasOverridePermissions }),
type: 'GET',
successHandler: function(data) {
ts.ajax.handleResult(data);
ts.utility.html("#addEditStudentEnrollments", data.HtmlResult);
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.AddEdit;
ts.studentProgramEnrollment.reloadAppearance();
$(".loadingImage").hide();
$("#addSaveStudentEnrollmentLink").show();
},
errorHandler: function(data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorStudentEnrollments);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
$(".loadingImage").hide();
$("#studentEnrollments").show();
}
});
}
},
getIntervalDates: function () {
var programTermType = $("#cbProgram option:selected").length > 0 && $("#cbProgram option:selected").val() != "" ? $("#cbProgram option:selected").attr("termtype").toLowerCase()
: $("#hdnProgramTermType").val().toLowerCase();
var sd = "";
var ed = "";
if (programTermType == "term") {
var termType = $("#cbTerm option:selected").attr("termtype").toLowerCase();
if (termType == "standard") {
sd = $("#cbTerm option:selected").attr('programstartdate');
ed = $("#cbTerm option:selected").attr('programenddate');
} else {
sd = $("#cbSession option:selected").attr('programstartdate');
ed = $("#cbSession option:selected").attr('programenddate');
}
}
if (sd != "" && ed != "") {
return { StartDate: sd, EndDate: ed };
}
return null;
},
canCohortBeChanged: function (programStatus) {
//'145BED51-DBBE-4F60-99A6-7D1E781C453C', -- FutureStart
//'BAB4DC4C-C647-4810-A3C5-3B3FEC366BD0', -- Enrolled
//'2745ED4F-AF16-49a8-9250-C484057135FF', -- GraduationCandidate
//'699843BA-9E13-470a-9ED2-FD9A6BCD6D13') -- LeaveOfAbsence
return (programStatus.toUpperCase() == '145BED51-DBBE-4F60-99A6-7D1E781C453C' || programStatus.toUpperCase() == 'BAB4DC4C-C647-4810-A3C5-3B3FEC366BD0' || programStatus.toUpperCase() == '2745ED4F-AF16-49A8-9250-C484057135FF' || programStatus.toUpperCase() == '699843BA-9E13-470A-9ED2-FD9A6BCD6D13');
},
validateForm: function () {
$.validator.addMethod("ddlSelected", function (value, element) {
return this.optional(element) || (value != "00000000-0000-0000-0000-000000000000" && value != "" && value != 0);
});
$.validator.addMethod("withdrawnRequired", function (value, element) {
var isWithdrawn = ("#cbStatus option:selected").length > 0 && $("#cbStatus option:selected").val() != "" ? $("#cbStatus option:selected").attr("iswithdrawn").toLowerCase() : "";
return isWithdrawn == "false" || (isWithdrawn == "true" && value != "");
});
$.validator.addMethod("termRequired", function (value, element) {
var programTermType = $("#cbProgram option:selected").length > 0 && $("#cbProgram option:selected").val() != "" ? $("#cbProgram option:selected").attr("termtype").toLowerCase()
: $("#hdnProgramTermType").val().toLowerCase();
return this.optional(element) || (programTermType == "term" && value != "00000000-0000-0000-0000-000000000000" && value != "" && value != 0);
});
$.validator.addMethod("sessionRequired", function (value, element) {
var programTermType = $("#cbProgram option:selected").length > 0 && $("#cbProgram option:selected").val() != "" ? $("#cbProgram option:selected").attr("termtype").toLowerCase()
: $("#hdnProgramTermType").val().toLowerCase();
var termType = programTermType != "" && programTermType == "term" ? $("#cbTerm option:selected").attr("termtype").toLowerCase() : "";
return this.optional(element) || (programTermType == "term" && termType != "standard" &&
value != "00000000-0000-0000-0000-000000000000" && value != "" && value != 0);
});
$.validator.addMethod("withinInterval", function (value, element) {
var intervalDates = ts.studentProgramEnrollment.getIntervalDates();
if (intervalDates) {
var startDate = Globalize.parseDate(intervalDates.StartDate);
var endDate = Globalize.parseDate(intervalDates.EndDate);
var date = Globalize.parseDate(value);
return startDate && endDate && startDate <= date && endDate >= date;
}
return true;
});
$.validator.addMethod("canCohortBeChanged", function (value, element) {
if ($("#cbCohort").val() && ($("#cbCohort").val() != ts.studentProgramEnrollment.oldCohortValue)
&& !ts.studentProgramEnrollment.canCohortBeChanged($("#cbStatus option:selected").attr('systemstatus'))) {
$("#cbCohort").val(ts.studentProgramEnrollment.oldCohortValue);
return false;
}
return true;
});
$('#addEditStudentEnrollmentForm').validate({
rules: {
'Enrollment.ProgramVersionEid': {
ddlSelected: true,
required: true
},
'Enrollment.AcademicTermEid': {
termRequired: true
},
'Enrollment.SessionCalendarEid': {
sessionRequired: true
},
'Enrollment.Status': {
ddlSelected: true
},
'Enrollment.StartDate': {
required: true,
validdate: true,
withinInterval: true
},
'Enrollment.AttendanceStatusCode': {
ddlSelected: true,
required: true
},
'Enrollment.OriginalStartDate': {
required: true,
validdate: true,
withinInterval: true
},
'Enrollment.MidPointDate': {
validdate: true
},
'Enrollment.ProjectedCompletionDate': {
validdate: true,
dateafter: '#dpStartDate'
},
'Enrollment.ReEntryDate': {
validdate: true
},
'Enrollment.WithdrawalDate': {
withdrawnRequired: true,
validdate: true
},
'Enrollment.DeterminationDate': {
withdrawnRequired: true,
validdate: true
},
'Enrollment.CohortEid': {
canCohortBeChanged: true
}
},
messages: {
'Enrollment.ProgramVersionEid': {
ddlSelected: ts.studentProgramEnrollment.labels.ProgramRequired,
required: ts.studentProgramEnrollment.labels.ProgramRequired
},
'Enrollment.AcademicTermEid': {
termRequired: ts.studentProgramEnrollment.labels.TermRequired
},
'Enrollment.SessionCalendarEid': {
termRequired: ts.studentProgramEnrollment.labels.SessionRequired
},
'Enrollment.Status': {
ddlSelected: ts.studentProgramEnrollment.labels.StatusRequired
},
'Enrollment.StartDate': {
required: ts.studentProgramEnrollment.labels.StartDateRequired,
validdate: ts.studentProgramEnrollment.labels.ValidDate,
withinInterval: ts.studentProgramEnrollment.labels.WithinInterval
},
'Enrollment.AttendanceStatusCode': {
ddlSelected: ts.studentProgramEnrollment.labels.AttendanceModeRequired,
required: ts.studentProgramEnrollment.labels.AttendanceModeRequired
},
'Enrollment.OriginalStartDate': {
required: "Original Start Date is required",
validdate: ts.studentProgramEnrollment.labels.ValidDate,
withinInterval: ts.studentProgramEnrollment.labels.WithinInterval
},
'Enrollment.MidPointDate': {
validdate: ts.studentProgramEnrollment.labels.ValidDate
},
'Enrollment.ProjectedCompletionDate': {
validdate: ts.studentProgramEnrollment.labels.ValidDate,
dateafter: ts.studentProgramEnrollment.labels.CompletionAfterStart
},
'Enrollment.ReEntryDate': {
validdate: ts.studentProgramEnrollment.labels.ValidDate
},
'Enrollment.WithdrawalDate': {
withdrawnRequired: ts.studentProgramEnrollment.labels.WithdrawalWithdrawnRequired,
validdate: ts.studentProgramEnrollment.labels.ValidDate
},
'Enrollment.DeterminationDate': {
withdrawnRequired: ts.studentProgramEnrollment.labels.DeterminationWithdrawnRequired,
validdate: ts.studentProgramEnrollment.labels.ValidDate
},
'Enrollment.CohortEid': {
canCohortBeChanged: ts.studentProgramEnrollment.labels.CanCohortBeChanged
}
},
onkeyup: false,
onblur: true
});
$('#addEditStudentEnrollmentForm').validate();
},
validateDeleteForm: function () {
$("#studentEnrollmentDeleteForm").validate({
rules: {
ReassociateToProgramEnrollment: { required: true }
},
messages: {
ReassociateToProgramEnrollment: { required: ts.studentProgramEnrollment.labels.ReassociateToRequired }
},
onkeyup: false,
onblur: true
});
$("#studentEnrollmentDeleteForm").validate();
},
saveStudentEnrollment: function () {
if ($('#addEditStudentEnrollmentForm').valid()) {
$(".loadingImage").show();
$("#addEditStudentEnrollments").hide();
ts.ajax.send({
url: '/enrollment/studentinformation/StudentEnrollments/SaveStudentEnrollment',
type: 'POST',
data: $("#addEditStudentEnrollmentForm").serialize(),
successHandler: function (data) {
$(".loadingImage").hide();
if (data.Success) {
ts.msg.sendInfo(ts.studentProgramEnrollment.labels.SaveSuccess);
ts.studentProgramEnrollment.reloadEnrollments();
} else {
$("#addEditStudentEnrollments").show();
ts.msg.sendError(data.Message);
}
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.SaveError);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
$(".loadingImage").hide();
$("#addEditStudentEnrollments").show();
}
});
}
},
deleteStudentEnrollment: function () {
if ($('#studentEnrollmentDeleteForm').valid()) {
$(".loadingImage").show();
$("#studentEnrollmentDelete").hide();
var postData = {
ProgramEnrollmentId: $("#ProgramEnrollmentId").val(),
StudentId: $("#StudentId").val(),
IsReassociate: $("#IsReassociate").attr("checked"),
ReassociateToProgramEnrollment: $("#ReassociateToProgramEnrollment").val()
};
ts.ajax.send({
url: '/Enrollment/{studentId}/ProgramEnrollment/Delete/{programEnrollmentId}'.bind({ studentId: window.page.studentId, programEnrollmentId: postData.ProgramEnrollmentId }),
data: JSON.stringify(postData),
type: "POST",
dataType: 'json',
contentType: 'application/json; charset=utf-8',
successHandler: function (result) {
$(".loadingImage").hide();
ts.ajax.handleResult(result);
if (result.Messages.length > 0) {
if (result.State == 0) {
ts.msg.sendInfo(result.Messages[0].Message);
ts.studentProgramEnrollment.reloadEnrollments();
}
else {
$("#studentEnrollmentDelete").show();
ts.msg.sendError(result.Messages[0].Message);
}
}
},
errorHandler: function () {
$(".loadingImage").hide();
$("#studentEnrollmentDelete").show();
ts.msg.sendError(ts.studentProgramEnrollment.labels.DeleteError);
}
});
}
},
reloadAppearance: function () {
switch (ts.studentProgramEnrollment.currentMode) {
case ts.studentProgramEnrollment.mode.Enrollments:
$("#studentEnrollments").show();
$("#studentSubEnrollments").hide();
$("#addEditStudentEnrollments").hide();
$("#studentEnrollmentDelete").hide();
if (!ts.studentProgramEnrollment.hasOverridePermissions) {
$(".studentEnrollmentDeleteHeader").hide();
$(".studentEnrollmentDeleteAction").hide();
}
$("#closeBackStudentEnrollmentLink").text("Close");
$(document).undelegate('#closeBackStudentEnrollmentLink', 'click').delegate('#closeBackStudentEnrollmentLink', 'click', function (e) {
ts.win.closeModal(ts.studentProgramEnrollment.modalId);
return false;
});
$("#addSaveStudentEnrollmentLink").show().text("Add");
$(document).undelegate('#addSaveStudentEnrollmentLink', 'click').delegate('#addSaveStudentEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.addEdit();
return false;
});
break;
case ts.studentProgramEnrollment.mode.SubEnrollments:
$("#studentEnrollments").hide();
$("#studentSubEnrollments").show();
$("#addEditStudentEnrollments").hide();
$("#studentEnrollmentDelete").hide();
$("#addSaveStudentEnrollmentLink").hide();
$("#closeBackStudentEnrollmentLink").text("Back");
$(document).undelegate('#closeBackStudentEnrollmentLink', 'click').delegate('#closeBackStudentEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.Enrollments;
ts.studentProgramEnrollment.reloadAppearance();
return false;
});
break;
case ts.studentProgramEnrollment.mode.AddEdit:
$("#studentEnrollments").hide();
$("#studentSubEnrollments").hide();
$("#addEditStudentEnrollments").show();
$("#studentEnrollmentDelete").hide();
$("#closeBackStudentEnrollmentLink").text("Back");
$(document).undelegate('#closeBackStudentEnrollmentLink', 'click').delegate('#closeBackStudentEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.Enrollments;
ts.studentProgramEnrollment.reloadAppearance();
return false;
});
$("#addSaveStudentEnrollmentLink").show().text("Save");
$(document).undelegate('#addSaveStudentEnrollmentLink', 'click').delegate('#addSaveStudentEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.saveStudentEnrollment();
return false;
});
$(".datepicker").datepicker();
$(document).undelegate('#cbProgram', 'change').delegate('#cbProgram', 'change', function (e) {
ts.studentProgramEnrollment.programChange($(this).val());
});
$(document).undelegate('#cbTerm', 'change').delegate('#cbTerm', 'change', function (e) {
ts.studentProgramEnrollment.termChange($(this).val());
});
$(document).undelegate('#cbSession', 'change').delegate('#cbSession', 'change', function (e) {
ts.studentProgramEnrollment.sessionChange($(this).val());
});
$(document).undelegate('#cbStatus', 'change').delegate('#cbStatus', 'change', function (e) {
ts.studentProgramEnrollment.statusChange($(this).val());
});
ts.studentProgramEnrollment.oldCohortValue = $("#cbCohort").val();
ts.studentProgramEnrollment.validateForm();
break;
case ts.studentProgramEnrollment.mode.Delete:
$("#studentEnrollments").hide();
$("#studentSubEnrollments").hide();
$("#addEditStudentEnrollments").hide();
$("#studentEnrollmentDelete").show();
$("#closeBackStudentEnrollmentLink").text("Back");
$(document).undelegate('#closeBackStudentEnrollmentLink', 'click').delegate('#closeBackStudentEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.currentMode = ts.studentProgramEnrollment.mode.Enrollments;
ts.studentProgramEnrollment.reloadAppearance();
return false;
});
$("#addSaveStudentEnrollmentLink").show().text("Delete");
$(document).undelegate('#addSaveStudentEnrollmentLink', 'click').delegate('#addSaveStudentEnrollmentLink', 'click', function (e) {
ts.studentProgramEnrollment.deleteStudentEnrollment();
return false;
});
$(document).undelegate('input[name=IsReassociate]:radio', 'change').delegate('input[name=IsReassociate]:radio', 'change', function (e) {
if ($("#IsPermanentDelete").attr("checked")) {
$("#ReassociateToProgramEnrollment").val('');
$("#ReassociateToProgramEnrollment").attr("disabled", true);
$("label[class='error']").hide();
}
else if ($("#IsReassociate").attr("checked")) {
$("#ReassociateToProgramEnrollment").removeAttr("disabled");
}
});
ts.studentProgramEnrollment.validateDeleteForm();
}
//permissions
if (ts.studentProgramEnrollment.hasBlockedEnrollmentHolds && !ts.studentProgramEnrollment.hasOverridePermissions)
$("#addSaveStudentEnrollmentLink").hide();
if (!ts.studentProgramEnrollment.hasAddPermissions)
$("#addSaveStudentEnrollmentLink").hide();
},
programChange: function (programEid) {
$("#hdnProgramEid").val(programEid);
if (programEid == '') {
$("#cbTerm").empty();
$("#termDiv").hide();
$("#cbSession").empty();
$("#sessionDiv").hide();
$("#floatingDiv").hide();
$("#cbAttendanceMode").empty();
$("#cbDeliveryMode").empty();
$("#cbCohort").empty();
return;
}
ts.ajax.send({
url: '/enrollment/studentinformation/StudentEnrollments/ProgramChange/{programEid}'.bind({ programEid: programEid }),
type: 'GET',
successHandler: function (data) {
if (data.programTermType.toLowerCase() == "term") {
$("#cbTerm").empty();
if (data.AcademicTerms.length > 0) {
$.each(data.AcademicTerms, function () {
$("#cbTerm").append($("").val(this.Id).text(this.Name).attr('termtype', this.TermType).attr('programstartdate', this.ProgramStartDate).attr('programenddate', this.ProgramEndDate));
});
$("#cbTerm").val(data.AcademicTerms[0].Id);
}
$("#termDiv").show();
} else {
$("#cbTerm").empty();
$("#termDiv").hide();
}
$("#cbAttendanceMode").empty();
if (data.AttendanceModes.length > 0) {
$.each(data.AttendanceModes, function () {
$("#cbAttendanceMode").append($("").val(this.Id).text(this.Name));
});
$("#cbTerm").change();
}
$("#cbDeliveryMode").empty();
$("#cbDeliveryMode").append($(""));
if (data.DeliveryModes.length > 0) {
$.each(data.DeliveryModes, function () {
$("#cbDeliveryMode").append($("").val(this.Id).text(this.Name));
});
}
$("#cbCohort").empty();
$("#cbCohort").append($(""));
if (data.CohortGroups.length > 0) {
$.each(data.CohortGroups, function () {
$("#cbCohort").append($("").val(this.Id).text(this.Name));
});
}
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorPrograms);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
},
termChange: function (termEid) {
var termType = $("#cbTerm option:selected").attr('termtype');
if (termEid && $("#cbAttendanceMode").val()) {
ts.ajax.send({
url: '/enrollment/studentinformation/StudentEnrollments/{programEid}/{attendanceModeEid}/TermChange/{termEid}'.bind({
programEid: $("#hdnProgramEid").val(),
attendanceModeEid: $("#cbAttendanceMode").val(),
termEid: termEid
}),
type: 'GET',
successHandler: function (data) {
if (data.Success) {
if (termType.toLowerCase() != "standard") {
$("#sessionDiv").show();
$("#cbSession").empty();
if (data.Sessions.length > 0) {
$.each(data.Sessions, function () {
$("#cbSession").append($("").val(this.Id).text(this.Name).attr('programstartdate', this.ProgramStartDate).attr('programenddate', this.ProgramEndDate));
});
$("#cbSession").change();
}
if (termType.toLowerCase() == "floating") {
$("#floatingDiv").show();
}
} else {
$("#cbSession").empty();
$("#sessionDiv").hide();
$("#floatingDiv").hide();
$("#dpStartDate").val(data.StartDate);
$("#dpOriginalStartDate").val(data.StartDate);
$("#dpMidPointDate").val(data.MidPointDate);
$("#dpExpectedCompletionDate").val(data.ExpectedCompletionDate);
}
}
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorTerms);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
}
},
sessionChange: function (sessionEid) {
if ($("#cbAttendanceMode").val() && $("#cbTerm").val()) {
ts.ajax.send({
url: '/enrollment/studentinformation/StudentEnrollments/{programEid}/{attendanceModeEid}/{termEid}/SessionChange/{sessionEid}'.bind({
programEid: $("#hdnProgramEid").val(),
attendanceModeEid: $("#cbAttendanceMode").val(),
termEid: $("#cbTerm").val(),
sessionEid: sessionEid
}),
type: 'GET',
successHandler: function (data) {
if (data.Success) {
$("#dpStartDate").val(data.StartDate);
$("#dpOriginalStartDate").val(data.StartDate);
$("#dpMidPointDate").val(data.MidPointDate);
$("#dpExpectedCompletionDate").val(data.ExpectedCompletionDate);
}
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorSessions);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
}
},
statusChange: function (statusEid) {
ts.ajax.send({
url: '/enrollment/studentinformation/StudentEnrollments/StatusChange/{statusEid}/{hasOverride}'.bind({
hasOverride: ts.studentProgramEnrollment.hasOverridePermissions,
statusEid: statusEid
}),
type: 'GET',
successHandler: function (data) {
$("#cbStatus").empty();
if (data.Statuses.length > 0) {
$.each(data.Statuses, function () {
$("#cbStatus").append($("").val(this.Id).text(this.Name).attr('iswithdrawn', this.IsWithdrawn).attr('systemstatus', this.SystemStatus));
});
$("#cbStatus").val(statusEid);
}
},
errorHandler: function (data) {
ts.msg.sendError(ts.studentProgramEnrollment.labels.ErrorStatuses);
ts.msg.sendMsg('sysWarning', 'unknown error ajax: ' + data.responseText);
}
});
},
labels: {
ProgramEnrollments: window.ProgramEnrollments,
SaveSuccess: window.SaveSuccess,
ErrorStatuses: window.ErrorStatuses,
ErrorSessions: window.ErrorSessions,
ErrorTerms: window.ErrorTerms,
ErrorPrograms: window.ErrorPrograms,
SaveError: window.SaveError,
CanCohortBeChanged: window.CanCohortBeChanged,
DeterminationWithdrawnRequired: window.DeterminationWithdrawnRequired,
WithdrawalWithdrawnRequired: window.WithdrawalWithdrawnRequired,
CompletionAfterStart: window.CompletionAfterStart,
WithinInterval: window.WithinInterval,
OriginalStartDateRequired: window.OriginalStartDateRequired,
AttendanceModeRequired: window.AttendanceModeRequired,
StartDateRequired: window.StartDateRequired,
StatusRequired: window.StatusRequired,
SessionRequired: window.SessionRequired,
TermRequired: window.TermRequired,
ProgramRequired: window.ProgramRequired,
ErrorStudentEnrollments: window.ErrorStudentEnrollments,
ErrorStudentSubEnrollments: window.ErrorStudentSubEnrollments,
ValidDate: window.ValidDate,
ReassociateToRequired: window.ReassociateToRequired,
DeleteError: window.DeleteError
}
};
$(document).ready(function () {
ts.studentProgramEnrollment.init();
});
})(window);