function BasicCheckboxControl(pContainer, pTitle, pbVerticalSpaceAfter, p_cantclick ) { var self = this; var m_container = pContainer; var m_title = pTitle; var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false); var m_titleControl = null; var m_checkboxControl = null; var m_cantclick = false;///////////////////////////////// Disabled the checkbox control set to default as false / not disabled m_cantclick = p_cantclick;/////////////////////////////// catch passed switch IF set this.GetChecked = m_getChecked; this.SetChecked = m_setChecked; this.SetEnabled = m_setEnabled; /* Event fired when checked state changes */ this.OnChange = null; m_initialise() function m_initialise() { m_checkboxControl = document.createElement("INPUT"); m_checkboxControl.type = "checkbox"; m_checkboxControl.onclick = m_checkboxControl_OnClick; m_container.appendChild(m_checkboxControl); if (m_cantclick) { ///////////////////////////////////////// catch condition disable switch if true set to disabled = true m_checkboxControl.disabled= true; } if (m_title) { m_titleControl = document.createElement("SPAN"); m_titleControl.innerHTML = m_title; m_container.appendChild(m_titleControl); } if (m_verticalSpaceAfter) { m_container.appendChild(document.createElement("BR")); } } function m_checkboxControl_OnClick() { if (self.OnChange) { self.OnChange(m_checkboxControl.checked); } } function m_getChecked() { return m_checkboxControl.checked; } function m_setChecked(pbChecked) { m_checkboxControl.checked = pbChecked } function m_setEnabled(pbEnabled) { m_checkboxControl.disabled = !pbEnabled; } } function BasicLabelControl(pContainer, pTitle, pWidth, pbVerticalSpaceAfter, pAlignment) { var self = this; var m_container = pContainer; var m_title = pTitle; var m_width = (pWidth ? pWidth : 200); var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false); var m_alignment = (pAlignment ? pAlignment.toLowerCase() : 'left'); var m_titleControl = null; var m_labelControl = null; this.SetValue = m_setValue; m_initialise() function m_initialise() { if (m_title) { m_titleControl = document.createElement("DIV"); m_titleControl.innerHTML = m_title; m_titleControl.className = "BasicLabelControlTitle"; m_container.appendChild(m_titleControl); } m_labelControl = document.createElement("SPAN"); m_labelControl.className = "BasicLabelControlLabel"; m_labelControl.style.width = pWidth + "px"; m_labelControl.style.textAlign = m_alignment; m_container.appendChild(m_labelControl); if (m_verticalSpaceAfter) { m_container.appendChild(document.createElement("BR")); } } function m_setValue(pValue) { m_labelControl.innerHTML = pValue; } } function BasicTextControl(pContainer, pTitle, pMaxLength, pWidth, pbVerticalSpaceAfter) { var self = this; var m_container = pContainer; var m_title = pTitle; var m_maxLength = (pMaxLength ? pMaxLength : 255); var m_width = (pWidth ? pWidth : 200); var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false); var m_titleControl = null; var m_textControl = null; this.GetValue = m_getValue; this.SetValue = m_setValue; this.SetEnabled = m_setEnabled; m_initialise() function m_initialise() { if (m_title) { m_titleControl = document.createElement("DIV"); m_titleControl.innerHTML = m_title; m_titleControl.className = "BasicTextControlTitle"; m_container.appendChild(m_titleControl); } m_textControl = document.createElement("INPUT"); m_textControl.type = "text"; m_textControl.maxLength = m_maxLength; m_textControl.className = "BasicTextControlText"; m_textControl.style.width = m_width + "px"; m_container.appendChild(m_textControl); if (m_verticalSpaceAfter) { m_container.appendChild(document.createElement("BR")); } } function m_getValue() { return m_textControl.value; } function m_setValue(pValue) { m_textControl.value = pValue } function m_setEnabled(pbEnabled) { m_textControl.disabled = !pbEnabled; } } function BooleanToggleControl(pContainer, pObjectIdentifier, pActionIdentifier, pObjectPKName, pObjectPKValue, pValue, pTitle, pbVerticalSpaceAfter) { var self = this; var m_container = pContainer; var m_objectIdentifier = pObjectIdentifier; var m_actionIdentifier = pActionIdentifier; var m_objectPKName = pObjectPKName; var m_objectPKValue = pObjectPKValue; var m_title = pTitle; var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false); var m_value = pValue.toLowerCase(); var m_checkboxControl = null; var m_bEnabled = true; var m_titleControl = null; var m_cboToggle = new CallBackObject(); m_cboToggle.OnComplete = m_cboToggle_Complete; m_cboToggle.OnError = m_cboGeneric_Error; this.SetValue = m_setValue; this.SetDisabled = m_setDisabled; this.OnChange = null; // OnChange(pChecked); this.OnChangeEx = null; // OnChangeEx(pChecked, pCancel); this.SetPKValue = m_setPKValue; this.GetValue = m_getValue; m_initialise(); function m_setPKValue(pPKValue) { m_objectPKValue = pPKValue } function m_initialise(){ if (m_title) { m_titleControl = document.createElement("DIV"); m_titleControl.innerHTML = m_title; m_titleControl.className = "BooleanToggleControlTitle"; m_container.appendChild(m_titleControl); } m_checkboxControl = document.createElement("INPUT"); m_checkboxControl.type = "checkbox"; m_checkboxControl.value = "1"; m_checkboxControl.onclick = m_onClick; m_container.appendChild(m_checkboxControl); m_checkboxControl.checked = (m_value == "true"); if (m_verticalSpaceAfter) { m_container.appendChild(document.createElement("BR")); } } function m_onClick() { var bCancel = false; if (self.OnChange) self.OnChange(this.checked); if (self.OnChangeEx) { bCancel = self.OnChangeEx(this.checked); if (bCancel == true) { this.checked = !this.checked; return; } } m_checkboxControl.disabled = true; m_cboToggle.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Toggle=" + this.checked); } function m_cboToggle_Complete(responseText, responseXML) { m_checkboxControl.disabled = !m_bEnabled; } function m_cboGeneric_Error(status, statusText, responseText) { m_checkboxControl.disabled = !m_bEnabled; ShowDebugWindow(responseText); } function m_setDisabled(pValue) { m_bEnabled = !pValue m_checkboxControl.disabled =!m_bEnabled; } function m_setValue(pValue) { m_checkboxControl.checked = (pValue.toLowerCase() == 'true'); } function m_getValue() { return m_checkboxControl.checked; } } function ButtonControl(pContainer, pButtonText) { var self = this; var m_container = pContainer; var m_buttonControl = null; /* OnClick Event */ this.OnClick = null; this.SetButtonText = m_setButtonText; this.Show = m_show; this.Hide = m_hide; m_initialise(); function m_initialise() { m_buttonControl = document.createElement("INPUT"); m_buttonControl.type = "button"; m_buttonControl.className = "FlatButton"; m_buttonControl.value = pButtonText; m_buttonControl.onclick = m_buttonControl_OnClick; m_container.appendChild(m_buttonControl); } function m_setButtonText(pButtonText) { m_buttonControl.value = pButtonText; } function m_buttonControl_OnClick() { if (self.OnClick) { self.OnClick(); } } function m_show() { m_buttonControl.style.display = "inline"; } function m_hide() { m_buttonControl.style.display = "none"; } } function ConfigureLockControl(pContainer, pPKSchool) { var self = this; var m_container = pContainer; var m_PKSchool = pPKSchool; var m_reportingEnabled = null; var m_contentContainer; var m_cboGet = new CallBackObject(); m_cboGet.OnComplete = m_cboGet_Complete; m_cboGet.OnError = m_cboGeneric_Error; this.OnComplete = null; m_initialise(); function m_initialise() { m_cboGet.DoCallBackManual("schoolreportingperiod_current", "get", "PK_School=" + m_PKSchool); } function m_cboGet_Complete(responseText, responseXML) { var xml = responseXML.lastChild.firstChild; m_reportingEnabled = (xml.getAttribute("reportingenabled").toLowerCase() == "true"); if (m_reportingEnabled) { m_renderMessage(); } if (self.OnComplete) { self.OnComplete(m_reportingEnabled); } } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } function m_renderMessage() { m_contentContainer = document.createElement("DIV"); m_contentContainer.className = "ConfigureLockControlContentContainer" m_contentContainer.innerHTML = "This screen is currently locked for edits as the reporting period has commenced.

To unlock this page, go to the Enable Reporting configuration screen."; m_container.appendChild(m_contentContainer); } } function ReportControl(pContainer, pSubjectQuartiles, pStrandAchievementLevels, pSchoolValuesAchievementLevels, pSchoolBehavioursAchievementLevels, pAllowTeacherFinalise, pAllowPrincipalFinalise, pAllowReviewerFinalise, pAllowModifyArchivedReports, pAllowModifyReportsFinalisedByPrincipal) { var self = this; var m_container = pContainer; var m_subjectQuartiles = pSubjectQuartiles; var m_strandAchievementLevels = pStrandAchievementLevels; /* When this is true, school based achievement levels are used instead of the values in tb_SystemSetting*/ var m_useSchoolBastedStrandAchievementLevels = true; var m_schoolValuesAchievementLevels = pSchoolValuesAchievementLevels; var m_schoolBehavioursAchievementLevels = pSchoolBehavioursAchievementLevels; var m_allowTeacherFinalise = pAllowTeacherFinalise; var m_allowPrincipalFinalise = pAllowPrincipalFinalise; var m_allowReviewerFinalise = pAllowReviewerFinalise; //Prime Learning var m_allowModifyArchivedReports = pAllowModifyArchivedReports; var m_allowModifyReportsFinalisedByPrincipal = pAllowModifyReportsFinalisedByPrincipal; var m_navigatorContainer = null; var m_navigatorContainerInner = null; var m_navStartImageControl = null var m_navPrevImageControl = null var m_navNexttImageControl = null var m_navEndImageControl = null var m_studentsList = null; var m_detailsContainer = null; var m_menuControl = null; var m_menuContainer = null; var m_contentContainer = null; var m_stageDropdownControl = null; var m_navigatorContainerHelpMessage = null; var m_subjectControls = null; /* array containing subject controls */ var m_actionsContainer = null; var m_actionsContainerInner = null; var m_listControls = null; var oTeacherCommentControl = null; var oPrincipalCommentControl = null; /* Details of current report */ var m_PKSchool = null; var m_PKStudent = null; var m_PKReportingPeriod = null; var m_limitType = null; var m_PK = null; var m_PKStudentReportingPeriod = null; var m_PKStage = null; var m_PKGrade = null; var m_stageName = null; var m_isFinalisedByPrincipal = null; var m_isFinalisedByTeacher = null; var m_isFinalisedByReviewer = null; //Prime Learning var m_showTeacherComment = null; var m_showPrincipalComment = null; var m_studentFirstName = null; var m_studentSurname = null; var m_studentGender = null; var m_teacherName = null; var m_daysAbsent = null; var m_showEffort = null; var m_effort1 = null; var m_effort2 = null; var m_effort3 = null; var m_effort4 = null; var m_rankingOption = null; var m_showQuantitativeAssessment = null; var m_reportIsFromCurrentReportingPeriod = null; var m_PKReportTemplate = null; var m_reportTemplatePaperSize = null; var m_reportTemplateFontName = null var m_reportTemplateCommentJustification = null; var m_showAchievementContinuum = null; var m_achievementContinuum1 = null; var m_achievementContinuum2 = null; var m_achievementContinuum3 = null; var m_achievementContinuum4 = null; var m_achievementContinuum5 = null; var m_showSubjectComments = null; var m_subjectCommentMaxLength = null; var m_teacherCommentMaxLength = null; var m_principalCommentMaxLength = null; /* 20060409: The overall stage of the student is no longer displayed */ var m_showOverallStage = false; /* Allow user to view report in XML (good for testing) */ var m_showViewXMLOption = false; /* 20070525: LUC: Event now passes archived state. */ var m_Archived = false; var m_xmlStudentList = null; var m_xmlCurrentStudent = null; var m_xmlSubjectsList = null; var m_xmlListsList = null; var m_currentSubject = 0; var m_cboListStudents = new CallBackObject(); var m_cboListReportDetails= new CallBackObject(); var m_cboListReportSubjects = new CallBackObject(); var m_cboListReportLists = new CallBackObject(); var m_cboGetStudentReport = new CallBackObject(); var m_cboSetStage = new CallBackObject(); m_cboListStudents.OnComplete = m_cboListStudents_Complete; m_cboListStudents.OnError = m_cboGeneric_Error; m_cboListReportSubjects.OnComplete = m_cboListReportSubjects_Complete; m_cboListReportSubjects.OnError = m_cboGeneric_Error; m_cboListReportLists.OnComplete = m_cboListReportLists_Complete; m_cboListReportLists.OnError = m_cboGeneric_Error; m_cboGetStudentReport.OnComplete = m_cboGetStudentReport_Complete; m_cboGetStudentReport.OnError = m_cboGeneric_Error; m_cboSetStage.OnComplete = m_cboSetStage_Complete; m_cboSetStage.OnError = m_cboGeneric_Error; this.SetCurrentStudentSet = m_setCurrentStudentSet; m_initialise(); function m_initialise() { var oImageContainer; var oTable; var oTBody; var oTR; var oTD; var oText; var oStageContainer; oTable = document.createElement("TABLE"); oTable.width = "100%"; oTable.border = 0; oTable.cellPadding = 0; oTable.cellSpacing = 4; m_container.appendChild(oTable); oTBody = document.createElement("TBODY"); oTable.appendChild(oTBody); oTR = document.createElement("TR"); oTBody.appendChild(oTR); oTD = document.createElement("TD"); oTD.width = 600; oTR.appendChild(oTD); m_navigatorContainer = document.createElement("DIV"); m_navigatorContainer.className = "ReportControlNavigatorContainerOuter"; oTD.appendChild(m_navigatorContainer); m_navigatorContainerInner = document.createElement("DIV"); m_navigatorContainerInner.className = "ReportControlNavigatorContainerInner"; m_navigatorContainerInner.style.display = "none"; m_navigatorContainer.appendChild(m_navigatorContainerInner); m_navigatorContainerHelpMessage = document.createElement("DIV"); m_navigatorContainerHelpMessage.className = "ReportControlNavigatorContainerInner"; m_navigatorContainerHelpMessage.innerHTML = "To display/write a report for a student, click Select Students and select the required student."; m_navigatorContainer.appendChild(m_navigatorContainerHelpMessage); oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerL"; m_navigatorContainerInner.appendChild(oImageContainer); m_navStartImageControl = document.createElement("IMG"); m_navStartImageControl.src = "images/start.gif" m_navStartImageControl.height = "16"; m_navStartImageControl.width = "16"; m_navStartImageControl.className = "ReportControlImage"; m_navStartImageControl.title = "First"; m_navStartImageControl.onclick = m_navStart; oImageContainer.appendChild(m_navStartImageControl); oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerL"; m_navigatorContainerInner.appendChild(oImageContainer); m_navPrevImageControl = document.createElement("IMG"); m_navPrevImageControl.src = "images/back.gif" m_navPrevImageControl.height = "16"; m_navPrevImageControl.width = "16"; m_navPrevImageControl.className = "ReportControlImage"; m_navPrevImageControl.title = "Previous"; m_navPrevImageControl.onclick = m_navPrev; oImageContainer.appendChild(m_navPrevImageControl); /* 20070525: LUC: Query backend that takes into account archived flag. */ m_studentsList = new DropdownControl(m_navigatorContainerInner, "studentsforusergroup", "PK_Student", "FullName", false, false, false, false, 300) oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerR"; m_navigatorContainerInner.appendChild(oImageContainer); m_navNextImageControl = document.createElement("IMG"); m_navNextImageControl.src = "images/forward.gif" m_navNextImageControl.height = "16"; m_navNextImageControl.width = "16"; m_navNextImageControl.className = "ReportControlImage"; m_navNextImageControl.title = "Next"; m_navNextImageControl.onclick = m_navNext; oImageContainer.appendChild(m_navNextImageControl); oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerR"; m_navigatorContainerInner.appendChild(oImageContainer); m_navEndImageControl = document.createElement("IMG"); m_navEndImageControl.src = "images/end.gif" m_navEndImageControl.height = "16"; m_navEndImageControl.width = "16"; m_navEndImageControl.className = "ReportControlImage"; m_navEndImageControl.title = "Last"; m_navEndImageControl.onclick = m_navEnd; oImageContainer.appendChild(m_navEndImageControl); if (m_showOverallStage == true) { oStageContainer = document.createElement("DIV"); oStageContainer.className = "ReportControlStageContainer"; m_navigatorContainerInner.appendChild(oStageContainer); oText = document.createElement("SPAN"); oText.innerHTML = "Stage: "; oStageContainer.appendChild(oText); m_stageDropdownControl = new DropdownControl(oStageContainer, "stages", "PK_Stage", "StageName", false, false, false, false, 100); m_stageDropdownControl.OnRefreshComplete = m_stageDropdownControl_OnRefreshComplete; m_stageDropdownControl.OnChange = m_stageDropdownControl_OnChange; } m_detailsContainer = document.createElement("DIV"); m_detailsContainer.className = "ReportControlDetailsContainer"; m_navigatorContainerInner.appendChild(m_detailsContainer); oTD = document.createElement("TD"); oTR.appendChild(oTD); m_actionsContainer = document.createElement("DIV"); m_actionsContainer.className = "ReportControlActionsContainerOuter"; oTD.appendChild(m_actionsContainer); m_actionsContainerInner = document.createElement("DIV"); m_actionsContainerInner.className = "ReportControlActionsContainerInner"; m_actionsContainer.appendChild(m_actionsContainerInner); oTable = document.createElement("TABLE"); oTable.width = "100%"; oTable.border = 0; oTable.cellPadding = 0; oTable.cellSpacing = 0; m_container.appendChild(oTable); oTBody = document.createElement("TBODY"); oTable.appendChild(oTBody); oTR = document.createElement("TR"); oTBody.appendChild(oTR); oTD = document.createElement("TD"); oTR.appendChild(oTD); m_menuContainer = document.createElement("DIV"); m_menuContainer.id = "reportControlMenu"; m_menuContainer.className = "ReportControlMenuContainer"; oTD.appendChild(m_menuContainer); oTR = document.createElement("TR"); oTBody.appendChild(oTR); oTD = document.createElement("TD"); oTR.appendChild(oTD); m_contentContainer = document.createElement("DIV"); m_contentContainer.id = "reportControlContent" m_contentContainer.className = "ReportControlContentContainer"; oTD.appendChild(m_contentContainer); m_menuControl = new MenuControl(m_menuContainer, m_contentContainer, 0); if (NiftyCheck() == true) { Rounded("div.ReportControlNavigatorContainerOuter", "all","#ffffff","#aaffaa"); Rounded("div.ReportControlActionsContainerOuter", "all","#ffffff","#ffffaa"); } } /* BEGIN NAVIGATION */ /* 20070525: LUC: Event now passes archived state. */ function m_setCurrentStudentSet(pLimitType, pPK, pPKSchool, pPKReportingPeriod, pPKStudent, pArchived) { var sParams; m_navigatorContainerHelpMessage.style.display = "none"; m_navigatorContainerInner.style.display = "block"; m_limitType = pLimitType; m_PK = pPK; m_PKSchool = pPKSchool; m_PKStudent = pPKStudent; m_PKReportingPeriod = pPKReportingPeriod; /* 20070525: LUC: Set archived state. */ m_Archived = pArchived; /* 20070525: LUC: Send archived state. */ sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup; /* 20070525: LUC: Query backend that takes into account archived flag. */ m_cboListStudents.DoCallBackManual("studentsforusergroup", "list", sParams); } function m_cboListStudents_Complete(responseText, responseXML) { var sParams; m_xmlStudentList = responseXML; m_xmlCurrentStudent = m_findStudent(); m_setCurrentStudent(m_PKStudent); /* 20070525: LUC: Send archived state. */ sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup; m_studentsList.Refresh(sParams); } m_studentsList.OnRefreshComplete = function() { m_studentsList.SetValue(m_PKStudent); } m_studentsList.OnChange = function(pValue) { if (pValue != m_PKStudent) { m_PKStudent = pValue; m_xmlCurrentStudent = m_findStudent(); m_setCurrentStudent(m_PKStudent); } } function m_navStart() { var iPKStudent; if (!m_xmlCurrentStudent) return; m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.firstChild; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } function m_navPrev() { var iPKStudent; if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.previousSibling) return; m_xmlCurrentStudent = m_xmlCurrentStudent.previousSibling; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } function m_navNext() { var iPKStudent; if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.nextSibling) return; m_xmlCurrentStudent = m_xmlCurrentStudent.nextSibling; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } function m_navEnd() { var iPKStudent; if (!m_xmlCurrentStudent) return; m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.lastChild; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } /*END NAVIGATION*/ function m_setCurrentStudent(pPKStudent) { m_PKStudent = pPKStudent; m_cboGetStudentReport.DoCallBackManual("studentreportingperiods", "get", "PK_Student=" + m_PKStudent + "&PK_ReportingPeriod=" + m_PKReportingPeriod); } function m_cboGetStudentReport_Complete(reponseText, responseXML) { var oXmlStudentReportingPeriod; oXmlStudentReportingPeriod = responseXML.documentElement.firstChild; m_PKStudentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("pk_studentreportingperiod"); m_PKStage = oXmlStudentReportingPeriod.getAttribute("fk_stage"); m_PKGrade = oXmlStudentReportingPeriod.getAttribute("fk_grade"); m_stageName = oXmlStudentReportingPeriod.getAttribute("stagename"); m_isFinalisedByTeacher = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyteacher"); m_isFinalisedByPrincipal = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyprincipal"); m_isFinalisedByReviewer = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyreviewer"); //Prime Learning m_showTeacherComment = (oXmlStudentReportingPeriod.getAttribute("showteachercomment").toLowerCase() == "true"); m_showPrincipalComment = (oXmlStudentReportingPeriod.getAttribute("showprincipalcomment").toLowerCase() == "true"); m_studentFirstName = oXmlStudentReportingPeriod.getAttribute("firstname"); m_studentSurname = oXmlStudentReportingPeriod.getAttribute("surname"); m_studentGender = oXmlStudentReportingPeriod.getAttribute("gender"); m_teacherName = oXmlStudentReportingPeriod.getAttribute("teachername"); m_daysAbsent = oXmlStudentReportingPeriod.getAttribute("daysabsent"); m_showEffort = (oXmlStudentReportingPeriod.getAttribute("showeffort").toLowerCase() == 'true'); m_effort1 = oXmlStudentReportingPeriod.getAttribute("effort1"); m_effort2 = oXmlStudentReportingPeriod.getAttribute("effort2"); m_effort3 = oXmlStudentReportingPeriod.getAttribute("effort3"); m_effort4 = oXmlStudentReportingPeriod.getAttribute("effort4"); m_rankingOption = oXmlStudentReportingPeriod.getAttribute("rankingoption"); m_showQuantitativeAssessment = (oXmlStudentReportingPeriod.getAttribute("showquantitativeassessment").toLowerCase() == "true"); m_reportIsFromCurrentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("reportisfromcurrentreportingperiod"); //Prime Learning m_scaleOverride = (oXmlStudentReportingPeriod.getAttribute("usescaleoverride").toLowerCase() == 'true'); m_PKReportTemplate = oXmlStudentReportingPeriod.getAttribute("fk_reporttemplate"); m_reportTemplatePaperSize = oXmlStudentReportingPeriod.getAttribute("reporttemplatepapersize"); m_reportTemplateFontName = oXmlStudentReportingPeriod.getAttribute("reporttemplatefontname"); m_reportTemplateCommentJustification = oXmlStudentReportingPeriod.getAttribute("reporttemplatecommentjustification"); m_showAchievementContinuum = (oXmlStudentReportingPeriod.getAttribute("showachievementcontinuum").toLowerCase() == "true"); m_achievementContinuum1 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum1"); m_achievementContinuum2 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum2"); m_achievementContinuum3 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum3"); m_achievementContinuum4 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum4"); m_achievementContinuum5 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum5"); if (systemSettings.UseSchoolConfiguredComments.toLowerCase() == 'true') { /* Parramatta - comments are chosen by school, and max lengths enforced */ m_showSubjectComments = (oXmlStudentReportingPeriod.getAttribute("showsubjectcomments").toLowerCase() == "true"); m_subjectCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("subjectcommentmaxlength"); m_teacherCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("teachercommentmaxlength"); m_principalCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("principalcommentmaxlength"); } else { /* Canberra Goulburn - fix max lengths*/ m_showSubjectComments = true; m_subjectCommentMaxLength = 500; /* 20070928: CG10: Changed from 300 t0 350 characters.*/ m_teacherCommentMaxLength = 500; m_principalCommentMaxLength = 500; } if (m_useSchoolBastedStrandAchievementLevels == true) { //Prime Learning 30/03/2007 // depending the Kinder Scale display 3 or 5 levels m_strandAchievementLevels = m_achievementContinuum1; m_strandAchievementLevels += "|" + m_achievementContinuum2; m_strandAchievementLevels += "|" + m_achievementContinuum3; //dont display these if kinder scale is 3 //if(!m_scaleOverride){ m_strandAchievementLevels += "|" + m_achievementContinuum4; m_strandAchievementLevels += "|" + m_achievementContinuum5; //} } m_detailsContainer.innerHTML = "
School: " + oXmlStudentReportingPeriod.getAttribute("schoolname") + "
Class: " + oXmlStudentReportingPeriod.getAttribute("schoolclassname") + "
Reporting Period: " + oXmlStudentReportingPeriod.getAttribute("reportingperiodname") + "" + "
Teacher Name: " + oXmlStudentReportingPeriod.getAttribute("teachername") + ""; m_cboListReportSubjects.DoCallBackManual("reportsubjects_sort_ex", "list", "PK_School=" + m_PKSchool + "&PK_Grade=" + m_PKGrade); } function m_cboListReportSubjects_Complete(responseText, responseXML) { m_xmlSubjectsList = responseXML; m_cboListReportLists.DoCallBackManual("reportlists", "list", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod); } function m_cboListReportLists_Complete(responseText, responseXML) { m_xmlListsList = responseXML; if (m_showOverallStage == true) { m_stageDropdownControl.Refresh(); } m_loadReportSubjects(); m_renderActions(); } function m_stageDropdownControl_OnRefreshComplete() { if (m_showOverallStage == true) { this.SetValue(m_PKStage); } } function m_stageDropdownControl_OnChange(pPKStage) { var m_PKStageOld = m_PKStage; var i; var bReplace = false; if (m_showOverallStage == true) { m_PKStage = pPKStage; m_cboSetStage.DoCallBackManual("studentreportingperiodstage", "set", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod + "&Value=" + m_PKStage); if ((typeof m_subjectControls != "undefined") && (m_subjectControls != null)) { if (m_PKStageOld != pPKStage) { bReplace = confirm("Would you like to replace the current Teacher Comment for EACH SUBJECT with the default for this stage?") } for(i=0;i < m_subjectControls.length; i++) { if (m_subjectControls[i].SetStage) m_subjectControls[i].SetStage(pPKStage, m_stageDropdownControl.GetText(), bReplace); } } } } function m_cboSetStage_Complete(responseText, responseXML) { // success } function m_loadReportSubjects() { var oXmlSubject = null; var oSubjectControl = null; var oSubjectContent = null; var oListContent = null; var oListControl = null; var oXmlList = null; var iPKSubject; var iPKStudentReportingPeriodSchoolList; var i = 0; var iCount = 0; var bShowOverallAchievement = false; var bShowSchoolQuartile = false; var bShowGradeNumbers = false; var bUseBinaryScale = false; var sListItemName = null; var o; /* Cleanup controls */ if (m_subjectControls) { o = m_subjectControls.pop(); while(o) { if (o.Finalise) { o.Finalise(); } o = m_subjectControls.pop() } } m_subjectControls = null; m_contentContainer.innerHTML = ''; m_menuControl.ClearAll(); /* Count the number of subjects */ oXmlSubject = m_xmlSubjectsList.documentElement.firstChild; while(oXmlSubject != null){ iCount ++; oXmlSubject = oXmlSubject.nextSibling; } m_subjectControls = new Array(iCount); oXmlSubject = m_xmlSubjectsList.documentElement.firstChild; while(oXmlSubject != null){ oSubjectContent = document.createElement("DIV"); oSubjectContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSubjectContent); iPKSubject = oXmlSubject.getAttribute("pk_subject"); /*Kinders don't get quantative assessment*/ if (m_showQuantitativeAssessment == false) { bShowOverallAchievement = false; bShowSchoolQuartile = false; bShowGradeNumbers = false; } else { bShowOverallAchievement = true; // always shown now switch(m_rankingOption + "") { case "1": // Grade numbers if (systemSettings.ShowCohortCounts.toLowerCase() == "true") { bShowGradeNumbers = true; } else { bShowGradeNumbers = false; } break; case "2": // Quartile bShowSchoolQuartile = true; break; } } oSubjectControl = new ReportSubjectControl(oSubjectContent, iPKSubject, m_PKStudentReportingPeriod, m_PKStage, m_stageName, bShowOverallAchievement, bShowSchoolQuartile, m_subjectQuartiles, m_strandAchievementLevels, m_showEffort, m_effort1, m_effort2, m_effort3, m_effort4, bShowGradeNumbers, m_showAchievementContinuum, m_showSubjectComments, m_subjectCommentMaxLength, m_scaleOverride); m_subjectControls[i] = oSubjectControl; m_menuControl.AddMenuItem(i, oXmlSubject.getAttribute("abbreviatedname"), 50) i++; oXmlSubject = oXmlSubject.nextSibling; } if (systemSettings.UseNewLists.toLowerCase() == "true") { oXmlList = m_xmlListsList.documentElement.firstChild; while(oXmlList != null) { oListContent = document.createElement("DIV"); oListContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oListContent); iPKStudentReportingPeriodSchoolList = oXmlList.getAttribute("pk_studentreportingperiodschoollist"); sListItemName = oXmlList.getAttribute("listitemname"); bUseBinaryScale = (oXmlList.getAttribute("usebinaryscale").toLowerCase() == "true"); oListControl = new ReportSchoolListControl(oListContent, iPKStudentReportingPeriodSchoolList, bUseBinaryScale, sListItemName); m_subjectControls.push(oListControl); m_menuControl.AddMenuItem(i, oXmlList.getAttribute("listabbreviatedname"), 50) i++; oXmlList = oXmlList.nextSibling; } } else { var oSchoolActivitiesControl = null; var oSchoolActivitiesContent = null; oSchoolActivitiesContent = document.createElement("DIV"); oSchoolActivitiesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolActivitiesContent); oSchoolActivitiesControl = new ReportSchoolActivitiesControl(oSchoolActivitiesContent, m_PKStudentReportingPeriod); m_subjectControls[i] = oSchoolActivitiesControl; m_menuControl.AddMenuItem(i, systemSettings.ActivitiesName, 120) i++; //////////////////// //covers SEL /* var oSchoolValuesControl = null; var oSchoolValuesContent = null; oSchoolValuesContent = document.createElement("DIV"); oSchoolValuesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolValuesContent); oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels); m_subjectControls[i] = oSchoolValuesControl; m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90) i++; //rx ?? */ ///////////////////////////////////// //covers SEL var oSchoolValuesControl = null; var oSchoolValuesContent = null; oSchoolValuesContent = document.createElement("DIV"); oSchoolValuesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolValuesContent); oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels); m_subjectControls[i] = oSchoolValuesControl; if (systemSettings.ValuesName == "Social Emotional Learning") { m_menuControl.AddMenuItem(i, "SEL", 90) }else{ m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90) } i++; //rx ?? ///////////////// ///////////// for work habits & behaviour /* var oSchoolBehavioursControl = null; var oSchoolBehavioursContent = null; oSchoolBehavioursContent = document.createElement("DIV"); oSchoolBehavioursContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolBehavioursContent); oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels); m_subjectControls[i] = oSchoolBehavioursControl; m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90) i++; */ ///////////// for work habits & behaviour ///////////// for work habits & behaviour var oSchoolBehavioursControl = null; var oSchoolBehavioursContent = null; oSchoolBehavioursContent = document.createElement("DIV"); oSchoolBehavioursContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolBehavioursContent); oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels); m_subjectControls[i] = oSchoolBehavioursControl; if (systemSettings.LearningBehavioursName == "Work Habits and Behaviour") { m_menuControl.AddMenuItem(i, "WH & B", 90) }else{ m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90) } i++; ///////////// for work habits & behaviour } var oTeacherCommentContent = null; if (m_showTeacherComment == true) { oTeacherCommentContent = document.createElement("DIV"); oTeacherCommentContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oTeacherCommentContent); oTeacherCommentControl = new ReportCommentControl(oTeacherCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodteachercomment', 'Teacher Comment', m_teacherCommentMaxLength); m_subjectControls[i] = oTeacherCommentControl; m_menuControl.AddMenuItem(i, "Teacher Comment", 90) i++; } var oPrincipalCommentContent = null; if (m_showPrincipalComment == true) { oPrincipalCommentContent = document.createElement("DIV"); oPrincipalCommentContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oPrincipalCommentContent); oPrincipalCommentControl = new ReportCommentControl(oPrincipalCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodprincipalcomment', 'Principal Comment', m_principalCommentMaxLength); m_subjectControls[i] = oPrincipalCommentControl; m_menuControl.AddMenuItem(i, "Principal Comment", 90) i++; } var oReportMiscellaneousControl = null; var oReportMiscellaneousContent = null oReportMiscellaneousContent = document.createElement("DIV"); oReportMiscellaneousContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oReportMiscellaneousContent); oReportMiscellaneousControl = new ReportMiscellaneousControl(oReportMiscellaneousContent, m_PKStudentReportingPeriod, m_daysAbsent); m_subjectControls[i] = oReportMiscellaneousControl; m_menuControl.AddMenuItem(i, "Days Absent", 90) i++; m_menuControl.InitialiseMenu(); m_menuControl.SelectMenuItem(m_currentSubject); m_computeEnabledState(); } m_menuControl.OnSelectMenuItem = function(pID) { m_currentSubject = pID; } function m_findStudent() { var oXmlStudent; oXmlStudent = m_xmlStudentList.documentElement.firstChild; while(oXmlStudent != null){ if (oXmlStudent.getAttribute("pk_student") == m_PKStudent) { return oXmlStudent; } oXmlStudent = oXmlStudent.nextSibling; } return null; } function m_renderActions() { var oLink; var oText; var oFinalised; var oReportDescription; oReportDescription = m_reportTemplatePaperSize + ' | ' + m_reportTemplateFontName + ' | ' + m_reportTemplateCommentJustification; m_actionsContainerInner.innerHTML = ""; oLink = document.createElement("A"); oLink.className = "ReportControlActionLink"; oLink.target = "_new"; oLink.href = "reports/report.aspx?pk=" + m_PKStudentReportingPeriod + "&pk_reporttemplate=" + m_PKReportTemplate; oLink.innerHTML = "Print Report"; oLink.title = oReportDescription; m_actionsContainerInner.appendChild(oLink); if (m_showViewXMLOption == true) { oLink = document.createElement("A"); oLink.className = "ReportControlActionLink"; oLink.target = "_new"; oLink.href = "Report.Asp?xml=true&pk=" + m_PKStudentReportingPeriod; oLink.innerHTML = "View XML"; m_actionsContainerInner.appendChild(oLink); } m_actionsContainerInner.appendChild(document.createElement("BR")); oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedteacher", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByTeacher) oFinalised.SetDisabled(!m_allowTeacherFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Teacher)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedprincipal", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByPrincipal) oFinalised.SetDisabled(!m_allowPrincipalFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Principal)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); //Prime Learning oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedreviewer", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByReviewer) oFinalised.SetDisabled(!m_allowReviewerFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Reviewer)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); } function m_computeEnabledState() { var bEnabled = true; var bFinalisedByPrincipal = (m_isFinalisedByPrincipal.toLowerCase() == 'true') var bReportIsFromCurrentReportingPeriod = (m_reportIsFromCurrentReportingPeriod.toLowerCase() == 'true') if ((m_allowModifyReportsFinalisedByPrincipal == false) && (bFinalisedByPrincipal == true)) { bEnabled = false; } if ((m_allowModifyArchivedReports == false) && (bReportIsFromCurrentReportingPeriod == false)) { bEnabled = false; } m_setEnabled(bEnabled); } function m_setEnabled(pbEnabled) { var i, o; if (!m_subjectControls) return; for(i=0; i=33) && (num <=47)) { return true; } if ((num >=58) && (num <=64)) { return true; } if ((num >=91) && (num <=96)) { return true; } if ((num >=123) && (num <=126)) { return true; } return false; } } function GlobalSubjectsSortControl(pContainer) { var self = this; var m_container = pContainer; var m_newDataOrder = null; var m_sortOrderCounter = 0; var m_schoolsList = null; var m_sortOrderControl = null; var m_sortOrderContainer = null; var m_saveButtonControl = null; var m_configureLockControl = null; var m_lockContainer = null; var m_contentContainer = null; this.Refresh = m_refresh; var m_cboList = new CallBackObject(); m_cboList.OnComplete = m_cboList_Complete; m_cboList.OnError = m_cboGeneric_Error; var m_cboUpdate = new CallBackObject(); m_cboUpdate.OnComplete = m_cboUpdate_Complete; m_cboUpdate.OnError = m_cboGeneric_Error; m_initialise(); function m_initialise() { var oText; m_lockContainer = document.createElement("DIV"); m_container.appendChild(m_lockContainer); m_contentContainer = document.createElement("DIV"); m_container.appendChild(m_contentContainer); oText = document.createElement("DIV"); oText.className = "SubjectsSortControlHelpText"; oText.innerHTML = "Click on the subject you wish to relocate in the list below.
Use the Up/Down buttons to relocate the subject.
Click Save Changes when you are done."; m_contentContainer.appendChild(oText); m_sortOrderContainer = document.createElement("DIV"); m_sortOrderContainer.className = "SubjectSortOrderListContainer"; m_contentContainer.appendChild(m_sortOrderContainer); m_saveButtonControl = new ButtonControl(m_contentContainer, "Save Changes"); m_saveButtonControl.OnClick = m_saveButtonControl_OnClick; m_loadList(); } function m_refresh() { m_loadList(); } function m_loadList() { m_contentContainer.style.display = "none"; m_lockContainer.innerHTML = ""; m_configureLockControl = new ConfigureLockControl(m_lockContainer, 1); m_configureLockControl.OnComplete = m_configureLockControl_OnComplete; } function m_configureLockControl_OnComplete(pbLocked) { if (!pbLocked) { m_contentContainer.style.display = "block"; m_cboList.DoCallBackManual("subjects_sort", "list", ''); } } function m_cboList_Complete(responseText, responseXML) { var xml = responseXML.lastChild.firstChild; var a = new Array(); var o = null; while(xml != null) { o = new Object(); o.ItemName = xml.getAttribute("subjectname"); o.PKItem = xml.getAttribute("pk_subject"); a.push(o); xml = xml.nextSibling; } m_sortOrderContainer.innerHTML = ""; m_sortOrderControl = new SortOrderControl(m_sortOrderContainer, a); } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } function m_saveButtonControl_OnClick() { m_newDataOrder = m_sortOrderControl.GetData(); m_sortOrderCounter = 0; m_update(); } function m_update() { var o; var params; if (m_newDataOrder == null) { alert("Error saving changes to sort order"); return; } if (m_sortOrderCounter >= m_newDataOrder.length) { alert("Changes to sort order saved"); m_sortOrderCounter = 0 m_newDataOrder = null; return; } o = m_newDataOrder[m_sortOrderCounter]; params = "PK_Subject=" + o.PKItem + "&SortOrder=" + m_sortOrderCounter; m_cboUpdate.DoCallBackManual("subjects_sort", "set", params); m_sortOrderCounter++; } function m_cboUpdate_Complete(responseText, responseXML) { m_update(); } } function HTMLColor(pContainer, pID, pObjectIdentifier, pActionIdentifier, pObjectPKName, pObjectPKValue, pValue, pWidth, pMaxLength, pTitle) { var self = this; var m_container = pContainer; var m_objectIdentifier = pObjectIdentifier; var m_actionIdentifier = pActionIdentifier; var m_objectPKName = pObjectPKName; var m_objectPKValue = pObjectPKValue; var m_value = pValue; var m_width = pWidth; var m_maxLength = pMaxLength; var m_title = pTitle; var m_id = pID; var m_titleControl = null; var m_textControl = null; var m_cboSave = new CallBackObject(); m_cboSave.OnComplete = m_cboSave_Complete; m_cboSave.OnError = m_cboGeneric_Error; this.OnTextSaved = null; // function OnTextSaved(pValue) this.SetEnabled = m_setEnabled; this.SetFocus = m_setFocus; m_initialise(); function m_initialise(){ if (m_title) { m_titleControl = document.createElement("DIV"); m_titleControl.className = "TextControlLabel"; m_titleControl.innerHTML = m_title + ": "; m_container.appendChild(m_titleControl); } if (!m_maxLength) { m_maxLength = 255; } m_textControl = document.createElement("INPUT"); m_textControl.name = m_id; m_textControl.id = m_id; m_textControl.type = "text"; m_textControl.value = m_value; m_textControl.onblur = m_save; m_textControl.className = "TextControlTextControl"; m_textControl.maxLength = m_maxLength; if (m_width) m_textControl.style.width = m_width + "px"; m_container.appendChild(m_textControl); m_color_link = document.createElement("SPAN"); tmp_aaa = document.getElementById(m_id); m_color_link.innerHTML = "  Select Color"; m_container.appendChild(m_color_link); } function m_save() { m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(this.value)); this.disabled = true; } function m_cboSave_Complete(responseText, responseXML) { m_textControl.disabled = false; if (self.OnTextSaved) { self.OnTextSaved(m_textControl.value); } } function m_cboGeneric_Error(status, statusText, responseText) { m_textControl.disabled = false; ShowDebugWindow(responseText); } function m_setEnabled(pEnabled) { m_textControl.disabled = !pEnabled; } function m_setFocus() { //m_textControl.focus(); m_textControl.select(); } } function ImportControl(pContainer) { var self = this; var m_container = pContainer; var m_PKImportUpload = null; var m_bESchoolImport = (systemSettings.UseEschoolImport.toLowerCase() == "true"); var m_uploadPane = null; var m_loadingPane = null; var m_mapSchoolsPane = null; var m_mapSchoolClassesPane = null; var m_updateStudentsPane = null; var m_addStudentsPane = null; var m_deleteStudentsPane = null; var m_confirmImportPane = null; var m_importDonePane = null; var m_optionsContainer = null; var m_restartButton = null; var m_uploadControl = null; var m_importSourcesList = null; var m_schoolList = null; var m_schoolClassesList = null; var m_updateList = null; var m_addList = null; var m_deleteList = null; var m_cboExecuteImport = new CallBackObject(); m_cboExecuteImport.OnComplete = m_cboExecuteImport_Complete; m_cboExecuteImport.OnError = m_cboGeneric_Error; var m_cboGetUnmappedSchoolCount = new CallBackObject(); m_cboGetUnmappedSchoolCount.OnComplete = m_cboGetUnmappedSchoolCount_Complete; m_cboGetUnmappedSchoolCount.OnError = m_cboGeneric_Error; var m_cboGetUnmappedSchoolClassCount = new CallBackObject(); m_cboGetUnmappedSchoolClassCount.OnComplete = m_cboGetUnmappedSchoolClassCount_Complete; m_cboGetUnmappedSchoolClassCount.OnError = m_cboGeneric_Error; var m_cboExecuteImportMerge = new CallBackObject(); m_cboExecuteImportMerge.OnComplete = m_cboExecuteImportMerge_Complete; m_cboExecuteImportMerge.OnError = m_cboGeneric_Error; this.UploadComplete = m_uploadComplete; m_intialise(); function m_intialise() { m_optionsContainer = document.createElement("DIV") m_optionsContainer.className = "ImportControlOptionsContainer"; m_container.appendChild(m_optionsContainer); m_restartButton = document.createElement("INPUT"); m_restartButton.type = "button"; m_restartButton.className = "FlatButton"; m_restartButton.value = "Restart Import"; m_restartButton.onclick = m_restartButton_OnClick; m_optionsContainer.appendChild(m_restartButton); m_container.appendChild(document.createElement("HR")); /*Show next button only for ESchool import*/ m_uploadPane = new PaneControl(m_container, m_bESchoolImport); m_uploadPane.SetTitle("1. Upload Import File"); if (m_bESchoolImport == true) { m_uploadPane.SetHelpText("Select the networks paths you wish to import from."); m_uploadPane.OnClickNextButton = m_uploadPane_OnClickNextButton; m_importSourcesList = new ListViewControl(m_uploadPane.GetContainer(), "importsources", "PK_ImportSource", "Active|NetworkPath|SchoolClassExclusions", "_Active|Network Path|Exclude School Classes", "50|400|300", 750, 400, false, false); m_importSourcesList.OnCellRender = m_importSourcesList_OnCellRender; m_importSourcesList.RefreshList(); } else { m_uploadPane.SetHelpText("Select a CSV upload file and click Upload."); m_uploadControl = new UploadControl(m_uploadPane.GetContainer(), "importfile", null, "importFileUploadControlFrame"); } m_loadingPane = new PaneControl(m_container); m_loadingPane.SetTitle("2. Processing... PLEASE WAIT ..."); m_loadingPane.SetHelpText("The system is processing the uploaded import file. PLEASE WAIT ..."); m_loadingPane.Hide(); m_mapSchoolsPane = new PaneControl(m_container, true); m_mapSchoolsPane.SetTitle("3. Map Schools"); m_mapSchoolsPane.SetHelpText("Map all schools in the import file (left column) to schools in the reporting system (right column)."); m_mapSchoolsPane.OnClickNextButton = m_mapSchoolsPane_OnClickNextButton; m_mapSchoolsPane.Hide(); m_schoolList = new ListViewControl(m_mapSchoolsPane.GetContainer(), "importschools", "SchoolName", "SchoolName|FK_School", "School Name|Mapping", "300|400", 700, 200, false); m_schoolList.OnCellRender = m_schoolList_OnCellRender; m_mapSchoolClassesPane = new PaneControl(m_container, true); m_mapSchoolClassesPane.SetTitle("4. Map School Classes"); m_mapSchoolClassesPane.SetHelpText("Map all school classes (left pane) to school classes in the system (right pane)."); m_mapSchoolClassesPane.OnClickNextButton = m_mapSchoolClassesPane_OnClickNextButton; m_mapSchoolClassesPane.Hide(); m_schoolClassesList = new ListViewControl(m_mapSchoolClassesPane.GetContainer(), "importschoolclasses", "PK_School_SchoolClassName", "SchoolName|SchoolClassName|FK_SchoolClass", "School Name|_Class Name|Mapping", "300|200|300", 800, 200, false); m_schoolClassesList.OnCellRender = m_schoolClassesList_OnCellRender; m_updateStudentsPane = new PaneControl(m_container, true); m_updateStudentsPane.SetTitle("5. Update Students"); m_updateStudentsPane.SetHelpText("The following students will be updated:"); m_updateStudentsPane.OnClickNextButton = m_updateStudentsPane_OnClickNextButton; m_updateStudentsPane.Hide(); m_updateList = new ListViewControl(m_updateStudentsPane.GetContainer(), "importupdatestudents", "PK_ImportStudent", "StudentNumberMux|FirstNameMux|SurnameMux|GenderMux|SchoolNameMux|SchoolClassNameMux|GradeNameMux|DateOfBirthMux", "_Student Number|First Name|Surname|_Gender|_School|_Class|_Grade|_Date Of Birth", "100|150|150|80|200|80|80|100", 960, 400, false, true); m_updateList.OnCellRender = m_updateList_OnCellRender; m_addStudentsPane = new PaneControl(m_container, true); m_addStudentsPane.SetTitle("6. Add Students"); m_addStudentsPane.SetHelpText("The following students will be added:"); m_addStudentsPane.OnClickNextButton = m_addStudentsPane_OnClickNextButton; m_addStudentsPane.Hide(); m_addList = new ListViewControl(m_addStudentsPane.GetContainer(), "importaddstudents", "PK_ImportStudent", "StudentNumber|FirstName|Surname|Gender|SchoolName|SchoolClassName|GradeName", "_Student Number|First Name|Surname|_Gender|_School|_Class|_Grade", "100|150|150|80|200|80|80", 860, 400, false, true); m_deleteStudentsPane = new PaneControl(m_container, true); m_deleteStudentsPane.SetTitle("7. Archive Students"); m_deleteStudentsPane.SetHelpText("The following students will be archived because they cannot be found in the import set:"); m_deleteStudentsPane.OnClickNextButton = m_deleteStudentsPane_OnClickNextButton; m_deleteStudentsPane.Hide(); m_deleteList = new ListViewControl(m_deleteStudentsPane.GetContainer(), "importdeletestudents", "PK_Student", "StudentNumber|FirstName|Surname|Gender|SchoolName|SchoolClassName|GradeName", "_Student Number|First Name|Surname|_Gender|_School|_Class|_Grade", "100|150|150|80|200|80|80", 860, 400, false, true); m_confirmImportPane = new PaneControl(m_container, true); m_confirmImportPane.SetTitle("8. Confirm Import"); m_confirmImportPane.SetHelpText("Click Next to perform the import."); m_confirmImportPane.OnClickNextButton = m_confirmImportPane_OnClickNextButton; m_confirmImportPane.Hide(); m_importDonePane = new PaneControl(m_container, true); m_importDonePane.SetTitle("8. Import Complete"); m_importDonePane.SetHelpText("The import process is complete. Please log off and login again to check the results of the import.

Click Next to commence a new import."); m_importDonePane.OnClickNextButton = m_importDonePane_OnClickNextButton; m_importDonePane.Hide(); } function m_restartButton_OnClick() { m_restartImport(); } function m_restartImport() { if (confirm("Are you sure you want to restart the import process?") == false) { return; } m_loadingPane.Hide(); m_mapSchoolsPane.Hide(); m_mapSchoolClassesPane.Hide(); m_updateStudentsPane.Hide(); m_addStudentsPane.Hide(); m_deleteStudentsPane.Hide(); m_confirmImportPane.Hide(); m_importDonePane.Hide(); m_uploadPane.Show(); } function m_importSourcesList_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD) { if (pColumnIdentifier == 'active') { new BooleanToggleControl(pCellTD, "importsource_active", "set", "PK_ImportSource", pPKObject, pValue, null, false); return true; } else if (pColumnIdentifier == 'networkpath') { new TextControl(pCellTD, "importsource_networkpath", "set", "PK_ImportSource", pPKObject, pValue, 350, 255, null); return true; } else if (pColumnIdentifier == 'schoolclassexclusions') { new TextControl(pCellTD, "importsource_schoolclassexclusions", "set", "PK_ImportSource", pPKObject, pValue, 150, 255, null); return true; } return false; } /* Only called when using E-School Import */ function m_uploadPane_OnClickNextButton() { m_uploadPane.Hide(); m_loadEschoolData(); } function m_uploadComplete(pPK_ImportUpload) { m_PKImportUpload = pPK_ImportUpload; m_uploadPane.Hide(); m_loadFile(); } function m_loadEschoolData() { m_loadingPane.Show(); m_cboExecuteImport.DoCallBackManual("importeschool", "execute", ''); } function m_loadFile() { m_loadingPane.Show(); m_cboExecuteImport.DoCallBackManual("import", "execute", "PK_ImportUpload=" + m_PKImportUpload); } function m_cboExecuteImport_Complete(responseText, responseXML) { m_loadingPane.Hide(); m_mapSchools(); } function m_mapSchools() { m_mapSchoolsPane.Show(); m_schoolList.RefreshList(); } function m_schoolList_OnCellRender(pSchoolName, pColumnIdentifier, pValue, pContainer) { var o; if (pColumnIdentifier == "fk_school") { o = new DropdownControl(pContainer, "importschool", "PK_School", "SchoolName", true, false, false, false, 380, true, "ImportSchoolName", pSchoolName, true, false, null, false, pSchoolName); if (pValue.length > 0) o.SetValue(pValue); o.Refresh(); return true; } return false; } function m_mapSchoolsPane_OnClickNextButton() { m_cboGetUnmappedSchoolCount.DoCallBackManual("importunmappedschoolcount", "get", ''); } function m_cboGetUnmappedSchoolCount_Complete(responseText, responseXML) { var iUnmappedCount = responseXML.documentElement.firstChild.getAttribute("unmappedcount"); if (iUnmappedCount > 0) { alert(iUnmappedCount + " school(s) is/are currently unmapped.\n\nPlease map it/them and click Next again."); return; } m_mapSchoolsPane.Hide(); m_mapSchoolClasses(); } function m_mapSchoolClasses() { m_mapSchoolClassesPane.Show(); m_schoolClassesList.RefreshList(); } function m_schoolClassesList_OnCellRender(pPK_School_SchoolClassName, pColumnIdentifier, pValue, pContainer) { var o; var sPK_School; var sSchoolClassName; var a; a = pPK_School_SchoolClassName.split("|", 2); sPK_School = a[0]; sSchoolClassName = a[1]; if (pColumnIdentifier == "fk_schoolclass") { o = new DropdownControl(pContainer, "importschoolclass", "PK_SchoolClass", "SchoolClassName", true, false, false, false, 280, true, "ImportSchoolClassName", pPK_School_SchoolClassName, true, "PK_School=" + sPK_School, null, false, sSchoolClassName, true); if (pValue.length > 0) o.SetValue(pValue); o.Refresh("PK_School=" + sPK_School); return true; } return false; } function m_mapSchoolClassesPane_OnClickNextButton() { m_cboGetUnmappedSchoolClassCount.DoCallBackManual("importunmappedschoolclasscount", "get", ''); } function m_cboGetUnmappedSchoolClassCount_Complete(responseText, responseXML) { var iUnmappedCount = responseXML.documentElement.firstChild.getAttribute("unmappedcount"); if (iUnmappedCount > 0) { alert(iUnmappedCount + " school class(es) is/are currently unmapped.\n\nPlease map it/them and click Next again."); return; } m_mapSchoolClassesPane.Hide(); m_updateStudents(); } function m_updateStudents() { m_updateStudentsPane.Show(); m_updateList.RefreshList(); } function m_updateList_OnCellRender(pPK_ImportStudent, pColumnIdentifier, pValue, pContainer) { pContainer.innerHTML = pValue.replace("->", "
"); return true; } function m_updateStudentsPane_OnClickNextButton() { m_updateStudentsPane.Hide(); m_addStudents(); } function m_addStudents() { m_addStudentsPane.Show(); m_addList.RefreshList(); } function m_addStudentsPane_OnClickNextButton() { m_addStudentsPane.Hide(); m_deleteStudents(); } function m_deleteStudents() { m_deleteStudentsPane.Show(); m_deleteList.RefreshList(); } function m_deleteStudentsPane_OnClickNextButton() { m_deleteStudentsPane.Hide(); m_confirmImportPane.Show(); } function m_confirmImportPane_OnClickNextButton() { m_confirmImportPane.Hide(); m_doImport(); } function m_doImport() { m_cboExecuteImportMerge.DoCallBackManual("importmerge_ex", "execute", ""); } function m_cboExecuteImportMerge_Complete(responseText, responseXML) { m_importDonePane.Show(); } function m_importDonePane_OnClickNextButton() { m_restartImport(); } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function ListViewControl(pContainer, pObjectIdentifier, pObjectPK, pColumnIdentifiers, pColumnNames, pColumnWidths, pWidth, pHeight, pShowCheckboxes, pEnablePaging) { var self = this; var m_container = pContainer; var m_objectIdentifier = pObjectIdentifier; var m_objectPK = pObjectPK.toLowerCase(); var m_columnIdentifiers = pColumnIdentifiers.toLowerCase().split("|"); var m_columnNames = pColumnNames.split("|"); /* Preface name with '[', '_', ']' for left, center, and right align columns respectively*/ var m_columnWidths = pColumnWidths.split("|"); var m_columnAlignments = null; var m_width = (pWidth ? pWidth : 500); var m_height = (pHeight ? pHeight : 350); var m_showCheckboxes = (pShowCheckboxes ? pShowCheckboxes : false); var m_enablePaging = (pEnablePaging ? pEnablePaging : false); var m_pageSize = 100; var m_pageStart = 0; var m_xmlCache = null; var m_listItemContainer = null; var m_itemCount = 0; var m_pagingContainer = null; var m_pagingNextButton = null; var m_pagingPreviousButton = null; var m_listControl = null; var m_checkboxes = null; var m_cboListItems = new CallBackObject(); //Dynamic CSS definitions handling /////////////////////////////////// ListControl_ClassName ; ListContainer_ClassName var ListContainer_ClassName = 'ListContainer'; var ListControl_ClassName = 'ListControl'; if ( pObjectIdentifier == 'studentsforusergroup'){ ListContainer_ClassName = 'ListContainer'; ListControl_ClassName = 'ListControl'; } //studentreportingperiodschoolvalues , studentreportingperiodschoolactivities if ( pObjectIdentifier == 'studentreportingperiodschoolbehaviours' || pObjectIdentifier == 'studentreportingperiodstrands'){ ListContainer_ClassName = 'ListContainerReports'; ListControl_ClassName = 'ListControlReports'; } //Dynamic CSS definitions handling /////////////////////////////////// m_cboListItems.OnComplete = m_cboListItems_Complete; m_cboListItems.OnError = m_cboGeneric_Error; this.RefreshList = m_RefreshList; this.OnCellClick = null; this.OnCellRender = null; this.OnRefreshComplete = null; this.OnCheckboxRenderSetEnabled = null; this.OnCheckboxRenderSetChecked = null; this.GetCheckedItems = m_getCheckedItems; this.CheckAllItems = m_checkAllItems; this.UncheckAllItems = m_uncheckAllItems; this.GetCheckedEnabledItems = m_getCheckedEnabledItems; this.Show = m_show; this.Hide = m_hide; this.Finalise = m_finalise; m_initialise(); function m_finalise() { m_clearCheckboxes(); m_recurseDomTree(m_listControl); m_cboListItems.OnComplete = null; m_cboListItems.OnError = null; m_cboListItems.Finalise(); m_cboListItems = null; m_listControl = null; } function m_clearCheckboxes() { var o = null; if (m_checkboxes) { o = m_checkboxes.pop(); while(o) { o = null; o = m_checkboxes.pop(); } } m_checkboxes = null; } function m_recurseDomTree(pNode) { if (!pNode.childNodes) { pNode = null; return null; } if (pNode.childNodes.length == 0) { pNode = null; return null; } var o = pNode.firstChild; while(o) { m_recurseDomTree(o); o = o.nextSibling; } } function m_initialise() { var i; var columnName = null; var columnAlign = null; if (m_showCheckboxes == true) { m_width += 20; // extra space for checkboxes } m_columnAlignments = new Array(m_columnNames.length); for(i=0; i"; m_pagingNextButton.className = "FlatButton"; m_pagingNextButton.onclick = m_pagingNextButton_OnClick; m_pagingContainer.appendChild(m_pagingNextButton); } m_listControl = document.createElement("div"); //m_listControl.className = "ListControl";///////////////////////////////////////dynamic class name m_listControl.className = ListControl_ClassName ;///////////////////////////////////////dynamic class name ListContainer_ClassName m_listControl.style.width = m_width + "px"; m_listControl.style.height = m_height + "px"; m_container.appendChild(m_listControl); } function m_RefreshList(pCriteria) { m_cboListItems.DoCallBackManual(m_objectIdentifier, 'list', pCriteria); } function m_cboListItems_Complete(responseText, responseXML) { var oXmlListItem; m_pageStart = 0; m_xmlCache = responseXML; m_itemCount = 0; oXmlListItem = m_xmlCache.documentElement.firstChild; while(oXmlListItem != null){ m_itemCount++; oXmlListItem = oXmlListItem.nextSibling; } if (m_enablePaging == true) { m_setPagingButtonsEnabledState(); m_renderListItems(m_pageStart,m_pageSize); } else { m_renderListItems(0,m_itemCount); } oXmlListItem = m_xmlCache.documentElement.firstChild; m_onRefreshComplete(m_itemCount); } function m_renderListItems(pStart, pCount) { var oXmlListItem; var oTR; var oTD; var oCheck; var i; var j = 0; window.status = "Rendering list...please wait."; m_clearCheckboxes(); m_checkboxes = new Array(); m_createListItemContainer(); oXmlListItem = m_xmlCache.documentElement.firstChild; while(oXmlListItem != null){ if (j >= pStart+pCount) { break; } if (j >= pStart) { oTR = document.createElement("TR"); oTR.className = (j % 2 == 0 ? "RowNormal" : "RowAlt"); oTR.onmouseover = m_onCellMouseEnter; oTR.onmouseout = m_onCellMouseLeave; m_listItemContainer.appendChild(oTR); if (m_showCheckboxes == true) { oCheck = document.createElement("INPUT"); oCheck.type = "checkbox"; oCheck.objectPK = oXmlListItem.getAttribute(m_objectPK); oTD = document.createElement("TD"); oTD.width = 20; oTD.align = "center"; oTD.appendChild(oCheck); oTR.appendChild(oTD); if (self.OnCheckboxRenderSetEnabled) { oCheck.disabled = ! self.OnCheckboxRenderSetEnabled(oXmlListItem.getAttribute(m_objectPK), oXmlListItem) } if (self.OnCheckboxRenderSetChecked) { oCheck.checked = self.OnCheckboxRenderSetChecked(oXmlListItem.getAttribute(m_objectPK), oXmlListItem) } m_checkboxes.push(oCheck); } for(i=0; i= m_pageSize) { iCount = m_pageSize; } m_setPagingButtonsEnabledState(); m_renderListItems(m_pageStart, iCount); } function m_setPagingButtonsEnabledState() { m_pagingPreviousButton.disabled = (m_pageStart == 0); m_pagingNextButton.disabled = ((m_itemCount <= m_pageSize) || (m_pageStart >= (m_itemCount - 1 - m_pageSize) )); } function m_onCellMouseEnter() { this.className += "Highlight"; } function m_onCellMouseLeave() { this.className = this.className.replace("Highlight", ""); } function m_onCellClick() { if (self.OnCellClick){ self.OnCellClick(this.objectPK, this.columnIdentifier, this.cellValue, this); } } function m_onRefreshComplete(pCount) { if (self.OnRefreshComplete) { self.OnRefreshComplete(pCount); } } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } function m_show() { if (m_listControl) m_listControl.style.display = "block"; } function m_hide() { if (m_listControl) m_listControl.style.display = "none"; } function m_getCheckedItems() { var i; var oCheck; var oChecked; if (m_checkboxes == null) { return null; } oChecked = new Array(); for(i=0; iSelect Students and select the required student in the OS column.", true); m_cboGetStanines.DoCallBackManual("observationsurveystanines", "list"); } function m_cboGetStanines_Complete(responseText, responseXML) { var x; var o; if (!responseXML || !responseXML.lastChild) { alert("Could not load stanines."); return; } m_stanineData = new Array(); x = responseXML.lastChild.firstChild; while(x) { o = new Object( { stanineType : x.getAttribute('staninetype'), applicableReport : x.getAttribute('applicablereport'), scoreValue: x.getAttribute('scorevalue'), stanineValue: x.getAttribute('staninevalue') } ); m_stanineData.push(o); x = x.nextSibling; } } function m_lookupStanine(pStanineType, pApplicableReport, pScore) { var i, o; if (!m_stanineData) { return '?'; } for (i=0; i 0) s += "|"; s += i; } return s; } function m_formatMonthsYears(pMonths) { var y, m; y = parseInt(pMonths / 12); m = pMonths - (y * 12) return y + "." + m; } } function ObservationSurveyExportControl(pContainer, pbAllowChangeSchool) { var m_container = pContainer; var m_schoolsList = null; var m_yearsControl = null; var m_exportControl = null; m_initialise(); function m_initialise() { m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400, false, null, null, true, null, "School:", true); m_yearsControl = new DropdownControl(m_container, "observationsurveyyears", "ObservationSurveyYear", "ObservationSurveyYear", false, false, false, true, 150, false, null, null, false, null, "Year:", true); m_exportControl = document.createElement("INPUT"); m_exportControl.type = "button"; m_exportControl.value = "Export"; m_exportControl.className = "FlatButton"; m_exportControl.onclick = m_export_onclick; m_container.appendChild(m_exportControl); } function m_export_onclick() { var oPKs; var oForm; var oPKSchool; var oYear; oPKSchool = document.createElement("INPUT"); oPKSchool.type = "hidden"; oPKSchool.name = "pk"; oPKSchool.value = m_schoolsList.GetValue(); oYear = document.createElement("INPUT"); oYear.type = "hidden"; oYear.name = "y"; oYear.value = m_yearsControl.GetValue(); oForm = document.createElement("form"); m_container.appendChild(oForm); oForm.action = "ObservationSurvey.asp"; oForm.method = "get"; oForm.target = "_new"; oForm.appendChild(oPKSchool); oForm.appendChild(oYear); oForm.submit(); } } function OptionDropdownControl(pContainer, pObjectIdentifier, pObjectPKName, pObjectPKValue, pOptionNames, pOptionValues, pInitialValue, pWidth, pTitle, pbVerticalSpaceAfter) { var self = this; var m_container = pContainer; var m_objectIdentifier = pObjectIdentifier; var m_objectPKName = pObjectPKName; var m_objectPKValue = pObjectPKValue; var m_optionNames = pOptionNames.split("|"); var m_optionValues = pOptionValues.split("|"); var m_initialValue = pInitialValue; var m_width = pWidth; var m_title = pTitle; var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false); var m_titleControl = null var m_selectControl = null; var m_bEnabled = true; this.SetValue = m_setValue; this.SetValueAndSave = m_setValueAndSave; this.SetEnabled = m_setEnabled; this.OnChange = null; this.Finalise = m_finalise; this.Show = m_show; this.Hide = m_hide; this.SetPKValue = m_setPKValue; this.GetValue = m_getValue; var m_cboSet = new CallBackObject(); m_cboSet.OnComplete = m_cboSet_Complete; m_cboSet.OnError = m_cboGeneric_Error; m_initialise(); function m_setPKValue(pPKValue) { m_objectPKValue = pPKValue } function m_finalise() { delete m_cboSet.OnComplete; delete m_cboSet.OnError; m_cboSet.Finalise(); delete m_cboSet; m_cboSet = null; m_selectControl.onchange = null; m_selectControl = null; } function m_initialise() { var i, newOpt; if (m_title) { m_titleControl = document.createElement("DIV"); m_titleControl.innerHTML = m_title; m_titleControl.className = "OptionDropdownControlTitle"; m_container.appendChild(m_titleControl); } m_selectControl = document.createElement("SELECT"); m_selectControl.className = "OptionDropdownControlSelectControl"; if (m_width) m_selectControl.style.width = m_width + "px"; m_selectControl.onchange = m_set; m_selectControl.disabled = !m_bEnabled; m_container.appendChild(m_selectControl); for(i=0; i" oRadio = document.createElement(sElement); oRadio.onclick = m_set; oRadio.value = m_optionValues[i]; m_container.appendChild(oRadio); if (m_initialValue == m_optionValues[i]) oRadio.checked = true; } else { oRadio = document.createElement("INPUT"); oRadio.type = "radio"; oRadio.name = sRadioName; oRadio.onclick = m_set; oRadio.value = m_optionValues[i]; m_container.appendChild(oRadio); if (m_initialValue == m_optionValues[i]) oRadio.checked = true; } m_objectCache.push(oRadio); oText = document.createElement("SPAN"); oText.className = "OptionGroupControlRadioButton" oText.innerHTML = m_optionNames[i]; oText.radioControl = oRadio; oText.onclick = m_text_onClick; m_container.appendChild(oText); } } function m_finalise() { var o if (m_objectCache) { o = m_objectCache.pop(); while(o) { o.onclick = null; delete o; o = null; o = m_objectCache.pop(); } m_objectCache = null; } delete m_cboSet.OnComplete; delete m_cboSet.OnError; m_cboSet.Finalise(); delete m_cboSet; m_cboSet = null; } function m_setEnabled(pbEnabled) { var i,o; if (!m_objectCache) return; for (i=0; i" oRadio = document.createElement(sElement); oRadio.onclick = m_set; oRadio.value = m_optionValues[i]; m_container.appendChild(oRadio); if (m_initialValue == m_optionValues[i]) oRadio.checked = true; } else { oRadio = document.createElement("INPUT"); oRadio.type = "radio"; oRadio.name = sRadioName; oRadio.onclick = m_set; oRadio.value = m_optionValues[i]; m_container.appendChild(oRadio); if (m_initialValue == m_optionValues[i]) oRadio.checked = true; } } alert('alert'); */ } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function PaneControl(pContainer, pbShowNextButton) { var self = this; var m_container = pContainer; var m_showNextButton = (typeof pbShowNextButton != 'undefined' ? pbShowNextButton : false); var m_paneControl = null; var m_titleControl = null; var m_helpTextControl = null; var m_containerControl = null; var m_nextButton = null; this.SetTitle = m_setTitle; this.SetHelpText = m_setHelpText; this.AppendChild = m_appendChild; this.Show = m_show; this.Hide = m_hide; this.GetContainer = m_getContainer; this.OnClickNextButton = null; // function () m_initialise(); function m_initialise() { m_paneControl = document.createElement("DIV"); m_container.appendChild(m_paneControl); m_titleControl = document.createElement("DIV"); m_titleControl.className = "PaneControlTitleControl"; m_titleControl.innerHTML = " "; m_paneControl.appendChild(m_titleControl); m_paneControl.appendChild(document.createElement("HR")); m_helpTextControl = document.createElement("DIV"); m_helpTextControl.className = "PaneControlHelpTextControl"; m_helpTextControl.innerHTML = " "; m_paneControl.appendChild(m_helpTextControl); m_paneControl.appendChild(document.createElement("HR")); m_containerControl = document.createElement("DIV"); m_paneControl.appendChild(m_containerControl); if (m_showNextButton == true) { m_paneControl.appendChild(document.createElement("HR")); m_nextButton = document.createElement("INPUT"); m_nextButton.type = "button"; m_nextButton.value = "Next >>"; m_nextButton.className = "FlatButton"; m_nextButton.onclick = m_nextButton_OnClick; m_paneControl.appendChild(m_nextButton); } } function m_nextButton_OnClick() { if (self.OnClickNextButton) { self.OnClickNextButton(); } } function m_setTitle(pTitle) { m_titleControl.innerHTML = pTitle; } function m_setHelpText(pHelpText) { m_helpTextControl.innerHTML = pHelpText; } function m_appendChild(pElement) { m_containerControl.appendChild(pElement); } function m_getContainer() { return m_containerControl; } function m_show() { m_paneControl.style.display = "block"; } function m_hide() { m_paneControl.style.display = "none"; } } function PopupContainerControl(pContainer, pContainerWidth, pContainerHeight, pPopupWidth, pPopupHeight, pTitleText, pConfirmText) { var self = this; var m_container = pContainer; var m_containerWidth = pContainerWidth; var m_containerHeight = pContainerHeight; var m_width = pPopupWidth; var m_height = pPopupHeight; var m_titleText = pTitleText; var m_confirmText = pConfirmText; var m_iframeControl = null; var m_popupContainer = null; var m_popupTitleControl = null; var m_contentControl = null; var m_confirmButton = null; var m_cancelButton = null; var m_buttonContainer = null; var m_buttonSpacerControl = null; this.Show = m_show; this.Hide = m_hide; this.GetContainer = m_getContainer; this.SetConfirmText = m_setConfirmText; this.SetTitleText = m_setTitleText; /* Events fired when popup is Confirmed or Cancelled */ this.OnConfirm = null; this.OnCancel = null; m_initialise(); function m_initialise() { m_iframeControl = document.createElement("IFRAME"); m_iframeControl.className = "PopupContainerControlIFrame"; m_popupContainer = document.createElement("DIV"); m_popupContainer.className = "PopupContainerControlPopupContainer"; m_iframeControl.style.width = m_width + "px"; m_iframeControl.style.height = m_height + "px"; m_popupContainer.style.width = m_width + "px"; m_popupContainer.style.height = m_height + "px"; m_container.appendChild(m_iframeControl); m_container.appendChild(m_popupContainer); m_popupTitleControl = document.createElement("DIV"); m_popupTitleControl.className = "PopupContainerControlTitleControl"; m_popupTitleControl.innerHTML = m_titleText; m_popupContainer.appendChild(m_popupTitleControl); m_contentControl = document.createElement("DIV"); m_contentControl.className = "PopupContainerControlContentControl"; m_popupContainer.appendChild(m_contentControl); m_buttonContainer = document.createElement("DIV"); m_buttonContainer.className = "PopupContainerControlButtonContainer"; m_popupContainer.appendChild(m_buttonContainer); m_confirmButton = new ButtonControl(m_buttonContainer, m_confirmText); m_confirmButton.OnClick = m_confirmButton_OnClick; m_buttonSpacerControl = document.createElement("SPAN"); m_buttonSpacerControl.innerHTML = " "; m_buttonContainer.appendChild(m_buttonSpacerControl); m_cancelButton = new ButtonControl(m_buttonContainer, "Cancel"); m_cancelButton.OnClick = m_cancelButton_OnClick; } function m_setTitleText(pTitleText) { m_titleText = pTitleText; m_popupTitleControl.innerHTML = m_titleText; } function m_setConfirmText(pConfirmText) { m_confirmText = pConfirmText; m_confirmButton.SetButtonText(m_confirmText); } function m_getContainer() { return m_contentControl; } function m_confirmButton_OnClick() { var cancel = false; if (self.OnConfirm) { cancel = self.OnConfirm(); } if (cancel) { return; } m_hide(); } function m_cancelButton_OnClick() { m_hide(); if (self.OnCancel) { self.OnCancel(); } } function m_show() { var x = m_findPosX(m_container); var y = m_findPosY(m_container); m_iframeControl.style.left = x + ((m_containerWidth - 400)/2); m_iframeControl.style.top = y + ((m_containerHeight - 100)/2); m_popupContainer.style.left = x + ((m_containerWidth - 400)/2); m_popupContainer.style.top = y + ((m_containerHeight - 100)/2); m_iframeControl.style.display = "block"; m_popupContainer.style.display = "block"; } function m_hide() { m_iframeControl.style.display = "none"; m_popupContainer.style.display = "none"; } function m_findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; } function m_findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) curtop += obj.y; return curtop; } } function PopupMessageControl(pContainer, pContainerWidth, pContainerHeight, pMessageText) { var self = this; var m_container = pContainer; var m_messageText = pMessageText; var m_iframeControl = null; var m_messageControl = null; var m_containerWidth = pContainerWidth; var m_containerHeight = pContainerHeight; this.Show = m_show; this.Hide = m_hide; m_initialise(); function m_initialise() { m_iframeControl = document.createElement("IFRAME"); m_iframeControl.className = "PopupMessageControlIFrame"; m_container.appendChild(m_iframeControl); m_messageControl = document.createElement("DIV"); m_messageControl.className = "PopupMessageControlMessageControl" m_messageControl.innerHTML = m_messageText; m_container.appendChild(m_messageControl); } /* */ function m_show() { var x = m_findPosX(m_container); var y = m_findPosY(m_container); m_iframeControl.style.left = x + ((m_containerWidth - 400)/2); m_iframeControl.style.top = y + ((m_containerHeight - 100)/2); m_messageControl.style.left = x + ((m_containerWidth - 400)/2); m_messageControl.style.top = y + ((m_containerHeight - 100)/2); m_iframeControl.style.display = "block"; m_messageControl.style.display = "block"; } function m_hide() { m_iframeControl.style.display = "none"; m_messageControl.style.display = "none"; } function m_findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; } function m_findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) curtop += obj.y; return curtop; } } function RelationshipToggleControl(pContainer, pObjectIdentifier, pObjectPK1Name, pObjectPK2Name, pObjectPK1Value, pObjectPK2Value, pValue) { var m_container = pContainer; var m_objectIdentifier = pObjectIdentifier; var m_objectPK1Name = pObjectPK1Name; var m_objectPK1Value = pObjectPK1Value; var m_objectPK2Name = pObjectPK2Name; var m_objectPK2Value = pObjectPK2Value; var m_value = pValue.toLowerCase(); var m_checkboxControl = null; var m_cboToggle = new CallBackObject(); m_cboToggle.OnComplete = m_cboToggle_Complete; m_cboToggle.OnError = m_cboGeneric_Error; this.Finalise = m_finalise; this.SetEnabled = m_setEnabled; m_initialise(); function m_initialise(){ m_checkboxControl = document.createElement("INPUT"); m_checkboxControl.type = "checkbox"; m_checkboxControl.value = "1"; m_checkboxControl.onclick = m_onClick; m_container.appendChild(m_checkboxControl); m_checkboxControl.checked = (m_value == "true"); } function m_finalise() { m_checkboxControl.onclick = null; m_checkboxControl = null; delete m_cboToggle.OnComplete; delete m_cboToggle.OnError; m_cboToggle.Finalise(); delete m_cboToggle; m_cboToggle = null; } function m_setEnabled(pbEnabled) { m_checkboxControl.disabled = !pbEnabled; } function m_onClick() { m_cboToggle.DoCallBackManual(m_objectIdentifier, (this.checked == true ? "add" : "delete"), m_objectPK1Name + "=" + m_objectPK1Value + "&" + m_objectPK2Name + "=" + m_objectPK2Value); } function m_cboToggle_Complete(responseText, responseXML) { } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function ReportCommentControl(pContainer, pPKStudentReportingPeriod, pObjectIdentifier, pTitleText, pCommentMaxLength) { var self = this; var m_container = pContainer; var m_PKStudentReportingPeriod = pPKStudentReportingPeriod; var m_objectIdentifier = pObjectIdentifier; var m_comment = null; var m_commentTextAreaControl = null; var m_titleText = pTitleText; var m_commentMaxLength = pCommentMaxLength; var m_cboGetComment = new CallBackObject(); m_cboGetComment.OnComplete = m_cboGetComment_Complete; m_cboGetComment.OnError = m_cboGeneric_Error; var m_bLoaded = false; var m_bQueuedSetEnabled = false; var m_bQueuedSetEnabledValue = null; this.SetEnabled = m_setEnabled; this.Finalise = m_finalise; m_initialise(); function m_initialise() { m_cboGetComment.DoCallBackManual(m_objectIdentifier, 'get', 'PK_StudentReportingPeriod=' + m_PKStudentReportingPeriod) } function m_finalise() { if (m_commentTextAreaControl) { m_commentTextAreaControl.Finalise(); } m_commentTextAreaControl = null; delete m_cboGetComment.OnComplete; delete m_cboGetComment.OnError; m_cboGetComment.Finalise(); delete m_cboGetComment; m_cboGetComment = null; } function m_cboGetComment_Complete(responseText, responseXML) { //20061101: DEPRECATED m_comment = responseXML.documentElement.firstChild.getAttribute('value'); m_comment = g_xmlGetElementValue(responseXML.documentElement.firstChild, "valueText"); m_initialise2(); } function m_initialise2() { // m_commentTextAreaControl = new TextAreaControl(m_container, m_objectIdentifier, 'set', 'PK_StudentReportingPeriod', m_PKStudentReportingPeriod, m_comment, 600, 200,m_titleText, true, true, m_commentMaxLength); m_commentTextAreaControl = new TextAreaControl(m_container, m_objectIdentifier, 'set', 'PK_StudentReportingPeriod', m_PKStudentReportingPeriod, m_comment, 600, 200,m_titleText, true, true, m_commentMaxLength,true ); //last param p_asave_commits - set to TRUE . allows autosave to count as a commit - see TextAreaControl Class m_bLoaded = true; if (m_bQueuedSetEnabled == true) { m_setEnabled(m_bQueuedSetEnabledValue); } } function m_setEnabled(pbEnabled) { if (m_bLoaded == false) { m_bQueuedSetEnabled = true; m_bQueuedSetEnabledValue = pbEnabled; return; } if (m_commentTextAreaControl) { m_commentTextAreaControl.SetEnabled(pbEnabled); } } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function ReportControl(pContainer, pSubjectQuartiles, pStrandAchievementLevels, pSchoolValuesAchievementLevels, pSchoolBehavioursAchievementLevels, pAllowTeacherFinalise, pAllowPrincipalFinalise, pAllowReviewerFinalise, pAllowModifyArchivedReports, pAllowModifyReportsFinalisedByPrincipal) { var self = this; var m_container = pContainer; var m_subjectQuartiles = pSubjectQuartiles; var m_strandAchievementLevels = pStrandAchievementLevels; /* When this is true, school based achievement levels are used instead of the values in tb_SystemSetting*/ var m_useSchoolBastedStrandAchievementLevels = true; var m_schoolValuesAchievementLevels = pSchoolValuesAchievementLevels; var m_schoolBehavioursAchievementLevels = pSchoolBehavioursAchievementLevels; var m_allowTeacherFinalise = pAllowTeacherFinalise; var m_allowPrincipalFinalise = pAllowPrincipalFinalise; var m_allowReviewerFinalise = pAllowReviewerFinalise; //Prime Learning var m_allowModifyArchivedReports = pAllowModifyArchivedReports; var m_allowModifyReportsFinalisedByPrincipal = pAllowModifyReportsFinalisedByPrincipal; var m_navigatorContainer = null; var m_navigatorContainerInner = null; var m_navStartImageControl = null var m_navPrevImageControl = null var m_navNexttImageControl = null var m_navEndImageControl = null var m_studentsList = null; var m_detailsContainer = null; var m_menuControl = null; var m_menuContainer = null; var m_contentContainer = null; var m_stageDropdownControl = null; var m_navigatorContainerHelpMessage = null; var m_subjectControls = null; /* array containing subject controls */ var m_actionsContainer = null; var m_actionsContainerInner = null; var m_listControls = null; var oTeacherCommentControl = null; var oPrincipalCommentControl = null; /* Details of current report */ var m_PKSchool = null; var m_PKStudent = null; var m_PKReportingPeriod = null; var m_limitType = null; var m_PK = null; var m_PKStudentReportingPeriod = null; var m_PKStage = null; var m_PKGrade = null; var m_stageName = null; var m_isFinalisedByPrincipal = null; var m_isFinalisedByTeacher = null; var m_isFinalisedByReviewer = null; //Prime Learning var m_showTeacherComment = null; var m_showPrincipalComment = null; var m_studentFirstName = null; var m_studentSurname = null; var m_studentGender = null; var m_teacherName = null; var m_daysAbsent = null; var m_showEffort = null; var m_effort1 = null; var m_effort2 = null; var m_effort3 = null; var m_effort4 = null; var m_rankingOption = null; var m_showQuantitativeAssessment = null; var m_reportIsFromCurrentReportingPeriod = null; var m_PKReportTemplate = null; var m_reportTemplatePaperSize = null; var m_reportTemplateFontName = null var m_reportTemplateCommentJustification = null; var m_showAchievementContinuum = null; var m_achievementContinuum1 = null; var m_achievementContinuum2 = null; var m_achievementContinuum3 = null; var m_achievementContinuum4 = null; var m_achievementContinuum5 = null; var m_showSubjectComments = null; var m_subjectCommentMaxLength = null; var m_teacherCommentMaxLength = null; var m_principalCommentMaxLength = null; /* 20060409: The overall stage of the student is no longer displayed */ var m_showOverallStage = false; /* Allow user to view report in XML (good for testing) */ var m_showViewXMLOption = false; /* 20070525: LUC: Event now passes archived state. */ var m_Archived = false; var m_xmlStudentList = null; var m_xmlCurrentStudent = null; var m_xmlSubjectsList = null; var m_xmlListsList = null; var m_currentSubject = 0; var m_cboListStudents = new CallBackObject(); var m_cboListReportDetails= new CallBackObject(); var m_cboListReportSubjects = new CallBackObject(); var m_cboListReportLists = new CallBackObject(); var m_cboGetStudentReport = new CallBackObject(); var m_cboSetStage = new CallBackObject(); m_cboListStudents.OnComplete = m_cboListStudents_Complete; m_cboListStudents.OnError = m_cboGeneric_Error; m_cboListReportSubjects.OnComplete = m_cboListReportSubjects_Complete; m_cboListReportSubjects.OnError = m_cboGeneric_Error; m_cboListReportLists.OnComplete = m_cboListReportLists_Complete; m_cboListReportLists.OnError = m_cboGeneric_Error; m_cboGetStudentReport.OnComplete = m_cboGetStudentReport_Complete; m_cboGetStudentReport.OnError = m_cboGeneric_Error; m_cboSetStage.OnComplete = m_cboSetStage_Complete; m_cboSetStage.OnError = m_cboGeneric_Error; this.SetCurrentStudentSet = m_setCurrentStudentSet; m_initialise(); function m_initialise() { var oImageContainer; var oTable; var oTBody; var oTR; var oTD; var oText; var oStageContainer; oTable = document.createElement("TABLE"); oTable.width = "100%"; oTable.border = 0; oTable.cellPadding = 0; oTable.cellSpacing = 4; m_container.appendChild(oTable); oTBody = document.createElement("TBODY"); oTable.appendChild(oTBody); oTR = document.createElement("TR"); oTBody.appendChild(oTR); oTD = document.createElement("TD"); oTD.width = 600; oTR.appendChild(oTD); m_navigatorContainer = document.createElement("DIV"); m_navigatorContainer.className = "ReportControlNavigatorContainerOuter"; oTD.appendChild(m_navigatorContainer); m_navigatorContainerInner = document.createElement("DIV"); m_navigatorContainerInner.className = "ReportControlNavigatorContainerInner"; m_navigatorContainerInner.style.display = "none"; m_navigatorContainer.appendChild(m_navigatorContainerInner); m_navigatorContainerHelpMessage = document.createElement("DIV"); m_navigatorContainerHelpMessage.className = "ReportControlNavigatorContainerInner"; m_navigatorContainerHelpMessage.innerHTML = "To display/write a report for a student, click Select Students and select the required student."; m_navigatorContainer.appendChild(m_navigatorContainerHelpMessage); oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerL"; m_navigatorContainerInner.appendChild(oImageContainer); m_navStartImageControl = document.createElement("IMG"); m_navStartImageControl.src = "images/start.gif" m_navStartImageControl.height = "16"; m_navStartImageControl.width = "16"; m_navStartImageControl.className = "ReportControlImage"; m_navStartImageControl.title = "First"; m_navStartImageControl.onclick = m_navStart; oImageContainer.appendChild(m_navStartImageControl); oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerL"; m_navigatorContainerInner.appendChild(oImageContainer); m_navPrevImageControl = document.createElement("IMG"); m_navPrevImageControl.src = "images/back.gif" m_navPrevImageControl.height = "16"; m_navPrevImageControl.width = "16"; m_navPrevImageControl.className = "ReportControlImage"; m_navPrevImageControl.title = "Previous"; m_navPrevImageControl.onclick = m_navPrev; oImageContainer.appendChild(m_navPrevImageControl); /* 20070525: LUC: Query backend that takes into account archived flag. */ m_studentsList = new DropdownControl(m_navigatorContainerInner, "studentsforusergroup", "PK_Student", "FullName", false, false, false, false, 300) oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerR"; m_navigatorContainerInner.appendChild(oImageContainer); m_navNextImageControl = document.createElement("IMG"); m_navNextImageControl.src = "images/forward.gif" m_navNextImageControl.height = "16"; m_navNextImageControl.width = "16"; m_navNextImageControl.className = "ReportControlImage"; m_navNextImageControl.title = "Next"; m_navNextImageControl.onclick = m_navNext; oImageContainer.appendChild(m_navNextImageControl); oImageContainer = document.createElement("SPAN"); oImageContainer.className = "ReportControlImageContainerR"; m_navigatorContainerInner.appendChild(oImageContainer); m_navEndImageControl = document.createElement("IMG"); m_navEndImageControl.src = "images/end.gif" m_navEndImageControl.height = "16"; m_navEndImageControl.width = "16"; m_navEndImageControl.className = "ReportControlImage"; m_navEndImageControl.title = "Last"; m_navEndImageControl.onclick = m_navEnd; oImageContainer.appendChild(m_navEndImageControl); if (m_showOverallStage == true) { oStageContainer = document.createElement("DIV"); oStageContainer.className = "ReportControlStageContainer"; m_navigatorContainerInner.appendChild(oStageContainer); oText = document.createElement("SPAN"); oText.innerHTML = "Stage: "; oStageContainer.appendChild(oText); m_stageDropdownControl = new DropdownControl(oStageContainer, "stages", "PK_Stage", "StageName", false, false, false, false, 100); m_stageDropdownControl.OnRefreshComplete = m_stageDropdownControl_OnRefreshComplete; m_stageDropdownControl.OnChange = m_stageDropdownControl_OnChange; } m_detailsContainer = document.createElement("DIV"); m_detailsContainer.className = "ReportControlDetailsContainer"; m_navigatorContainerInner.appendChild(m_detailsContainer); oTD = document.createElement("TD"); oTR.appendChild(oTD); m_actionsContainer = document.createElement("DIV"); m_actionsContainer.className = "ReportControlActionsContainerOuter"; oTD.appendChild(m_actionsContainer); m_actionsContainerInner = document.createElement("DIV"); m_actionsContainerInner.className = "ReportControlActionsContainerInner"; m_actionsContainer.appendChild(m_actionsContainerInner); oTable = document.createElement("TABLE"); oTable.width = "100%"; oTable.border = 0; oTable.cellPadding = 0; oTable.cellSpacing = 0; m_container.appendChild(oTable); oTBody = document.createElement("TBODY"); oTable.appendChild(oTBody); oTR = document.createElement("TR"); oTBody.appendChild(oTR); oTD = document.createElement("TD"); oTR.appendChild(oTD); m_menuContainer = document.createElement("DIV"); m_menuContainer.id = "reportControlMenu"; m_menuContainer.className = "ReportControlMenuContainer"; oTD.appendChild(m_menuContainer); oTR = document.createElement("TR"); oTBody.appendChild(oTR); oTD = document.createElement("TD"); oTR.appendChild(oTD); m_contentContainer = document.createElement("DIV"); m_contentContainer.id = "reportControlContent" m_contentContainer.className = "ReportControlContentContainer"; oTD.appendChild(m_contentContainer); m_menuControl = new MenuControl(m_menuContainer, m_contentContainer, 0); if (NiftyCheck() == true) { Rounded("div.ReportControlNavigatorContainerOuter", "all","#ffffff","#aaffaa"); Rounded("div.ReportControlActionsContainerOuter", "all","#ffffff","#ffffaa"); } } /* BEGIN NAVIGATION */ /* 20070525: LUC: Event now passes archived state. */ function m_setCurrentStudentSet(pLimitType, pPK, pPKSchool, pPKReportingPeriod, pPKStudent, pArchived) { var sParams; m_navigatorContainerHelpMessage.style.display = "none"; m_navigatorContainerInner.style.display = "block"; m_limitType = pLimitType; m_PK = pPK; m_PKSchool = pPKSchool; m_PKStudent = pPKStudent; m_PKReportingPeriod = pPKReportingPeriod; /* 20070525: LUC: Set archived state. */ m_Archived = pArchived; /* 20070525: LUC: Send archived state. */ sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup; /* 20070525: LUC: Query backend that takes into account archived flag. */ m_cboListStudents.DoCallBackManual("studentsforusergroup", "list", sParams); } function m_cboListStudents_Complete(responseText, responseXML) { var sParams; m_xmlStudentList = responseXML; m_xmlCurrentStudent = m_findStudent(); m_setCurrentStudent(m_PKStudent); /* 20070525: LUC: Send archived state. */ sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup; m_studentsList.Refresh(sParams); } m_studentsList.OnRefreshComplete = function() { m_studentsList.SetValue(m_PKStudent); } m_studentsList.OnChange = function(pValue) { if (pValue != m_PKStudent) { m_PKStudent = pValue; m_xmlCurrentStudent = m_findStudent(); m_setCurrentStudent(m_PKStudent); } } function m_navStart() { var iPKStudent; if (!m_xmlCurrentStudent) return; m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.firstChild; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } function m_navPrev() { var iPKStudent; if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.previousSibling) return; m_xmlCurrentStudent = m_xmlCurrentStudent.previousSibling; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } function m_navNext() { var iPKStudent; if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.nextSibling) return; m_xmlCurrentStudent = m_xmlCurrentStudent.nextSibling; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } function m_navEnd() { var iPKStudent; if (!m_xmlCurrentStudent) return; m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.lastChild; iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student"); m_studentsList.SetValue(iPKStudent); m_setCurrentStudent(iPKStudent); } /*END NAVIGATION*/ function m_setCurrentStudent(pPKStudent) { m_PKStudent = pPKStudent; m_cboGetStudentReport.DoCallBackManual("studentreportingperiods", "get", "PK_Student=" + m_PKStudent + "&PK_ReportingPeriod=" + m_PKReportingPeriod); } function m_cboGetStudentReport_Complete(reponseText, responseXML) { var oXmlStudentReportingPeriod; oXmlStudentReportingPeriod = responseXML.documentElement.firstChild; m_PKStudentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("pk_studentreportingperiod"); m_PKStage = oXmlStudentReportingPeriod.getAttribute("fk_stage"); m_PKGrade = oXmlStudentReportingPeriod.getAttribute("fk_grade"); m_stageName = oXmlStudentReportingPeriod.getAttribute("stagename"); m_isFinalisedByTeacher = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyteacher"); m_isFinalisedByPrincipal = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyprincipal"); m_isFinalisedByReviewer = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyreviewer"); //Prime Learning m_showTeacherComment = (oXmlStudentReportingPeriod.getAttribute("showteachercomment").toLowerCase() == "true"); m_showPrincipalComment = (oXmlStudentReportingPeriod.getAttribute("showprincipalcomment").toLowerCase() == "true"); m_studentFirstName = oXmlStudentReportingPeriod.getAttribute("firstname"); m_studentSurname = oXmlStudentReportingPeriod.getAttribute("surname"); m_studentGender = oXmlStudentReportingPeriod.getAttribute("gender"); m_teacherName = oXmlStudentReportingPeriod.getAttribute("teachername"); m_daysAbsent = oXmlStudentReportingPeriod.getAttribute("daysabsent"); m_showEffort = (oXmlStudentReportingPeriod.getAttribute("showeffort").toLowerCase() == 'true'); m_effort1 = oXmlStudentReportingPeriod.getAttribute("effort1"); m_effort2 = oXmlStudentReportingPeriod.getAttribute("effort2"); m_effort3 = oXmlStudentReportingPeriod.getAttribute("effort3"); m_effort4 = oXmlStudentReportingPeriod.getAttribute("effort4"); m_rankingOption = oXmlStudentReportingPeriod.getAttribute("rankingoption"); m_showQuantitativeAssessment = (oXmlStudentReportingPeriod.getAttribute("showquantitativeassessment").toLowerCase() == "true"); m_reportIsFromCurrentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("reportisfromcurrentreportingperiod"); //Prime Learning m_scaleOverride = (oXmlStudentReportingPeriod.getAttribute("usescaleoverride").toLowerCase() == 'true'); m_PKReportTemplate = oXmlStudentReportingPeriod.getAttribute("fk_reporttemplate"); m_reportTemplatePaperSize = oXmlStudentReportingPeriod.getAttribute("reporttemplatepapersize"); m_reportTemplateFontName = oXmlStudentReportingPeriod.getAttribute("reporttemplatefontname"); m_reportTemplateCommentJustification = oXmlStudentReportingPeriod.getAttribute("reporttemplatecommentjustification"); m_showAchievementContinuum = (oXmlStudentReportingPeriod.getAttribute("showachievementcontinuum").toLowerCase() == "true"); m_achievementContinuum1 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum1"); m_achievementContinuum2 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum2"); m_achievementContinuum3 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum3"); m_achievementContinuum4 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum4"); m_achievementContinuum5 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum5"); if (systemSettings.UseSchoolConfiguredComments.toLowerCase() == 'true') { /* Parramatta - comments are chosen by school, and max lengths enforced */ m_showSubjectComments = (oXmlStudentReportingPeriod.getAttribute("showsubjectcomments").toLowerCase() == "true"); m_subjectCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("subjectcommentmaxlength"); m_teacherCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("teachercommentmaxlength"); m_principalCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("principalcommentmaxlength"); } else { /* Canberra Goulburn - fix max lengths*/ m_showSubjectComments = true; m_subjectCommentMaxLength = 350; /* 20070928: CG10: Changed from 300 t0 350 characters.*/ m_teacherCommentMaxLength = 2000; m_principalCommentMaxLength = 600; } if (m_useSchoolBastedStrandAchievementLevels == true) { //Prime Learning 30/03/2007 // depending the Kinder Scale display 3 or 5 levels m_strandAchievementLevels = m_achievementContinuum1; m_strandAchievementLevels += "|" + m_achievementContinuum2; m_strandAchievementLevels += "|" + m_achievementContinuum3; //dont display these if kinder scale is 3 if(!m_scaleOverride){ m_strandAchievementLevels += "|" + m_achievementContinuum4; m_strandAchievementLevels += "|" + m_achievementContinuum5; } } m_detailsContainer.innerHTML = "
School: " + oXmlStudentReportingPeriod.getAttribute("schoolname") + "
Class: " + oXmlStudentReportingPeriod.getAttribute("schoolclassname") + "
Reporting Period: " + oXmlStudentReportingPeriod.getAttribute("reportingperiodname") + "" + "
Teacher Name: " + oXmlStudentReportingPeriod.getAttribute("teachername") + ""; m_cboListReportSubjects.DoCallBackManual("reportsubjects_sort_ex", "list", "PK_School=" + m_PKSchool + "&PK_Grade=" + m_PKGrade); } function m_cboListReportSubjects_Complete(responseText, responseXML) { m_xmlSubjectsList = responseXML; m_cboListReportLists.DoCallBackManual("reportlists", "list", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod); } function m_cboListReportLists_Complete(responseText, responseXML) { m_xmlListsList = responseXML; if (m_showOverallStage == true) { m_stageDropdownControl.Refresh(); } m_loadReportSubjects(); m_renderActions(); } function m_stageDropdownControl_OnRefreshComplete() { if (m_showOverallStage == true) { this.SetValue(m_PKStage); } } function m_stageDropdownControl_OnChange(pPKStage) { var m_PKStageOld = m_PKStage; var i; var bReplace = false; if (m_showOverallStage == true) { m_PKStage = pPKStage; m_cboSetStage.DoCallBackManual("studentreportingperiodstage", "set", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod + "&Value=" + m_PKStage); if ((typeof m_subjectControls != "undefined") && (m_subjectControls != null)) { if (m_PKStageOld != pPKStage) { bReplace = confirm("Would you like to replace the current Teacher Comment for EACH SUBJECT with the default for this stage?") } for(i=0;i < m_subjectControls.length; i++) { if (m_subjectControls[i].SetStage) m_subjectControls[i].SetStage(pPKStage, m_stageDropdownControl.GetText(), bReplace); } } } } function m_cboSetStage_Complete(responseText, responseXML) { // success } function m_loadReportSubjects() { var oXmlSubject = null; var oSubjectControl = null; var oSubjectContent = null; var oListContent = null; var oListControl = null; var oXmlList = null; var iPKSubject; var iPKStudentReportingPeriodSchoolList; var i = 0; var iCount = 0; var bShowOverallAchievement = false; var bShowSchoolQuartile = false; var bShowGradeNumbers = false; var bUseBinaryScale = false; var sListItemName = null; var o; /* Cleanup controls */ if (m_subjectControls) { o = m_subjectControls.pop(); while(o) { if (o.Finalise) { o.Finalise(); } o = m_subjectControls.pop() } } m_subjectControls = null; m_contentContainer.innerHTML = ''; m_menuControl.ClearAll(); /* Count the number of subjects */ oXmlSubject = m_xmlSubjectsList.documentElement.firstChild; while(oXmlSubject != null){ iCount ++; oXmlSubject = oXmlSubject.nextSibling; } m_subjectControls = new Array(iCount); oXmlSubject = m_xmlSubjectsList.documentElement.firstChild; while(oXmlSubject != null){ oSubjectContent = document.createElement("DIV"); oSubjectContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSubjectContent); iPKSubject = oXmlSubject.getAttribute("pk_subject"); /*Kinders don't get quantative assessment*/ if (m_showQuantitativeAssessment == false) { bShowOverallAchievement = false; bShowSchoolQuartile = false; bShowGradeNumbers = false; } else { bShowOverallAchievement = true; // always shown now switch(m_rankingOption + "") { case "1": // Grade numbers if (systemSettings.ShowCohortCounts.toLowerCase() == "true") { bShowGradeNumbers = true; } else { bShowGradeNumbers = false; } break; case "2": // Quartile bShowSchoolQuartile = true; break; } } oSubjectControl = new ReportSubjectControl(oSubjectContent, iPKSubject, m_PKStudentReportingPeriod, m_PKStage, m_stageName, bShowOverallAchievement, bShowSchoolQuartile, m_subjectQuartiles, m_strandAchievementLevels, m_showEffort, m_effort1, m_effort2, m_effort3, m_effort4, bShowGradeNumbers, m_showAchievementContinuum, m_showSubjectComments, m_subjectCommentMaxLength, m_scaleOverride); m_subjectControls[i] = oSubjectControl; m_menuControl.AddMenuItem(i, oXmlSubject.getAttribute("abbreviatedname"), 50) i++; oXmlSubject = oXmlSubject.nextSibling; } if (systemSettings.UseNewLists.toLowerCase() == "true") { oXmlList = m_xmlListsList.documentElement.firstChild; while(oXmlList != null) { oListContent = document.createElement("DIV"); oListContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oListContent); iPKStudentReportingPeriodSchoolList = oXmlList.getAttribute("pk_studentreportingperiodschoollist"); sListItemName = oXmlList.getAttribute("listitemname"); bUseBinaryScale = (oXmlList.getAttribute("usebinaryscale").toLowerCase() == "true"); oListControl = new ReportSchoolListControl(oListContent, iPKStudentReportingPeriodSchoolList, bUseBinaryScale, sListItemName); m_subjectControls.push(oListControl); m_menuControl.AddMenuItem(i, oXmlList.getAttribute("listabbreviatedname"), 50) i++; oXmlList = oXmlList.nextSibling; } } else { var oSchoolActivitiesControl = null; var oSchoolActivitiesContent = null; oSchoolActivitiesContent = document.createElement("DIV"); oSchoolActivitiesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolActivitiesContent); oSchoolActivitiesControl = new ReportSchoolActivitiesControl(oSchoolActivitiesContent, m_PKStudentReportingPeriod); m_subjectControls[i] = oSchoolActivitiesControl; m_menuControl.AddMenuItem(i, systemSettings.ActivitiesName, 120) i++; var oSchoolValuesControl = null; var oSchoolValuesContent = null; oSchoolValuesContent = document.createElement("DIV"); oSchoolValuesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolValuesContent); oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels); m_subjectControls[i] = oSchoolValuesControl; m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90) i++; var oSchoolBehavioursControl = null; var oSchoolBehavioursContent = null; oSchoolBehavioursContent = document.createElement("DIV"); oSchoolBehavioursContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolBehavioursContent); oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels); m_subjectControls[i] = oSchoolBehavioursControl; m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90) i++; } var oTeacherCommentContent = null; if (m_showTeacherComment == true) { oTeacherCommentContent = document.createElement("DIV"); oTeacherCommentContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oTeacherCommentContent); oTeacherCommentControl = new ReportCommentControl(oTeacherCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodteachercomment', 'Teacher Comment', m_teacherCommentMaxLength); m_subjectControls[i] = oTeacherCommentControl; m_menuControl.AddMenuItem(i, "Teacher Comment", 90) i++; } var oPrincipalCommentContent = null; if (m_showPrincipalComment == true) { oPrincipalCommentContent = document.createElement("DIV"); oPrincipalCommentContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oPrincipalCommentContent); oPrincipalCommentControl = new ReportCommentControl(oPrincipalCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodprincipalcomment', 'Principal Comment', m_principalCommentMaxLength); m_subjectControls[i] = oPrincipalCommentControl; m_menuControl.AddMenuItem(i, "Principal Comment", 90) i++; } var oReportMiscellaneousControl = null; var oReportMiscellaneousContent = null oReportMiscellaneousContent = document.createElement("DIV"); oReportMiscellaneousContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oReportMiscellaneousContent); oReportMiscellaneousControl = new ReportMiscellaneousControl(oReportMiscellaneousContent, m_PKStudentReportingPeriod, m_daysAbsent); m_subjectControls[i] = oReportMiscellaneousControl; m_menuControl.AddMenuItem(i, "Days Absent", 90) i++; m_menuControl.InitialiseMenu(); m_menuControl.SelectMenuItem(m_currentSubject); m_computeEnabledState(); } m_menuControl.OnSelectMenuItem = function(pID) { m_currentSubject = pID; } function m_findStudent() { var oXmlStudent; oXmlStudent = m_xmlStudentList.documentElement.firstChild; while(oXmlStudent != null){ if (oXmlStudent.getAttribute("pk_student") == m_PKStudent) { return oXmlStudent; } oXmlStudent = oXmlStudent.nextSibling; } return null; } function m_renderActions() { var oLink; var oText; var oFinalised; var oReportDescription; oReportDescription = m_reportTemplatePaperSize + ' | ' + m_reportTemplateFontName + ' | ' + m_reportTemplateCommentJustification; m_actionsContainerInner.innerHTML = ""; oLink = document.createElement("A"); oLink.className = "ReportControlActionLink"; oLink.target = "_new"; oLink.href = "reports/report.aspx?pk=" + m_PKStudentReportingPeriod + "&pk_reporttemplate=" + m_PKReportTemplate; oLink.innerHTML = "Print Report"; oLink.title = oReportDescription; m_actionsContainerInner.appendChild(oLink); if (m_showViewXMLOption == true) { oLink = document.createElement("A"); oLink.className = "ReportControlActionLink"; oLink.target = "_new"; oLink.href = "Report.Asp?xml=true&pk=" + m_PKStudentReportingPeriod; oLink.innerHTML = "View XML"; m_actionsContainerInner.appendChild(oLink); } m_actionsContainerInner.appendChild(document.createElement("BR")); oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedteacher", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByTeacher) oFinalised.SetDisabled(!m_allowTeacherFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Teacher)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedprincipal", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByPrincipal) oFinalised.SetDisabled(!m_allowPrincipalFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Principal)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); //Prime Learning oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedreviewer", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByReviewer) oFinalised.SetDisabled(!m_allowReviewerFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Reviewer)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); } function m_computeEnabledState() { var bEnabled = true; var bFinalisedByPrincipal = (m_isFinalisedByPrincipal.toLowerCase() == 'true') var bReportIsFromCurrentReportingPeriod = (m_reportIsFromCurrentReportingPeriod.toLowerCase() == 'true') if ((m_allowModifyReportsFinalisedByPrincipal == false) && (bFinalisedByPrincipal == true)) { bEnabled = false; } if ((m_allowModifyArchivedReports == false) && (bReportIsFromCurrentReportingPeriod == false)) { bEnabled = false; } m_setEnabled(bEnabled); } function m_setEnabled(pbEnabled) { var i, o; if (!m_subjectControls) return; for(i=0; i
Class: " + oXmlStudentReportingPeriod.getAttribute("schoolclassname") + "
Reporting Period: " + oXmlStudentReportingPeriod.getAttribute("reportingperiodname") + "" + "
Teacher Name: " + oXmlStudentReportingPeriod.getAttribute("teachername") + ""; m_cboListReportSubjects.DoCallBackManual("reportsubjects_sort_ex", "list", "PK_School=" + m_PKSchool + "&PK_Grade=" + m_PKGrade); } function m_cboListReportSubjects_Complete(responseText, responseXML) { m_xmlSubjectsList = responseXML; m_cboListReportLists.DoCallBackManual("reportlists", "list", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod); } function m_cboListReportLists_Complete(responseText, responseXML) { m_xmlListsList = responseXML; if (m_showOverallStage == true) { m_stageDropdownControl.Refresh(); } m_loadReportSubjects(); m_renderActions(); } function m_stageDropdownControl_OnRefreshComplete() { if (m_showOverallStage == true) { this.SetValue(m_PKStage); } } function m_stageDropdownControl_OnChange(pPKStage) { var m_PKStageOld = m_PKStage; var i; var bReplace = false; if (m_showOverallStage == true) { m_PKStage = pPKStage; m_cboSetStage.DoCallBackManual("studentreportingperiodstage", "set", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod + "&Value=" + m_PKStage); if ((typeof m_subjectControls != "undefined") && (m_subjectControls != null)) { if (m_PKStageOld != pPKStage) { bReplace = confirm("Would you like to replace the current Teacher Comment for EACH SUBJECT with the default for this stage?") } for(i=0;i < m_subjectControls.length; i++) { if (m_subjectControls[i].SetStage) m_subjectControls[i].SetStage(pPKStage, m_stageDropdownControl.GetText(), bReplace); } } } } function m_cboSetStage_Complete(responseText, responseXML) { // success } function m_loadReportSubjects() { var oXmlSubject = null; var oSubjectControl = null; var oSubjectContent = null; var oListContent = null; var oListControl = null; var oXmlList = null; var iPKSubject; var iPKStudentReportingPeriodSchoolList; var i = 0; var iCount = 0; var bShowOverallAchievement = false; var bShowSchoolQuartile = false; var bShowGradeNumbers = false; var bUseBinaryScale = false; var sListItemName = null; var o; /* Cleanup controls */ if (m_subjectControls) { o = m_subjectControls.pop(); while(o) { if (o.Finalise) { o.Finalise(); } o = m_subjectControls.pop() } } m_subjectControls = null; m_contentContainer.innerHTML = ''; m_menuControl.ClearAll(); /* Count the number of subjects */ oXmlSubject = m_xmlSubjectsList.documentElement.firstChild; while(oXmlSubject != null){ iCount ++; oXmlSubject = oXmlSubject.nextSibling; } m_subjectControls = new Array(iCount); oXmlSubject = m_xmlSubjectsList.documentElement.firstChild; while(oXmlSubject != null){ oSubjectContent = document.createElement("DIV"); oSubjectContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSubjectContent); iPKSubject = oXmlSubject.getAttribute("pk_subject"); /*Kinders don't get quantative assessment*/ if (m_showQuantitativeAssessment == false) { bShowOverallAchievement = false; bShowSchoolQuartile = false; bShowGradeNumbers = false; } else { bShowOverallAchievement = true; // always shown now switch(m_rankingOption + "") { case "1": // Grade numbers if (systemSettings.ShowCohortCounts.toLowerCase() == "true") { bShowGradeNumbers = true; } else { bShowGradeNumbers = false; } break; case "2": // Quartile bShowSchoolQuartile = true; break; } } oSubjectControl = new ReportSubjectControl(oSubjectContent, iPKSubject, m_PKStudentReportingPeriod, m_PKStage, m_stageName, bShowOverallAchievement, bShowSchoolQuartile, m_subjectQuartiles, m_strandAchievementLevels, m_showEffort, m_effort1, m_effort2, m_effort3, m_effort4, bShowGradeNumbers, m_showAchievementContinuum, m_showSubjectComments, m_subjectCommentMaxLength, m_scaleOverride); m_subjectControls[i] = oSubjectControl; m_menuControl.AddMenuItem(i, oXmlSubject.getAttribute("abbreviatedname"), 50) i++; oXmlSubject = oXmlSubject.nextSibling; } if (systemSettings.UseNewLists.toLowerCase() == "true") { oXmlList = m_xmlListsList.documentElement.firstChild; while(oXmlList != null) { oListContent = document.createElement("DIV"); oListContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oListContent); iPKStudentReportingPeriodSchoolList = oXmlList.getAttribute("pk_studentreportingperiodschoollist"); sListItemName = oXmlList.getAttribute("listitemname"); bUseBinaryScale = (oXmlList.getAttribute("usebinaryscale").toLowerCase() == "true"); oListControl = new ReportSchoolListControl(oListContent, iPKStudentReportingPeriodSchoolList, bUseBinaryScale, sListItemName); m_subjectControls.push(oListControl); m_menuControl.AddMenuItem(i, oXmlList.getAttribute("listabbreviatedname"), 50) i++; oXmlList = oXmlList.nextSibling; } } else { var oSchoolActivitiesControl = null; var oSchoolActivitiesContent = null; oSchoolActivitiesContent = document.createElement("DIV"); oSchoolActivitiesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolActivitiesContent); oSchoolActivitiesControl = new ReportSchoolActivitiesControl(oSchoolActivitiesContent, m_PKStudentReportingPeriod); m_subjectControls[i] = oSchoolActivitiesControl; m_menuControl.AddMenuItem(i, systemSettings.ActivitiesName, 120) i++; var oSchoolValuesControl = null; var oSchoolValuesContent = null; oSchoolValuesContent = document.createElement("DIV"); oSchoolValuesContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolValuesContent); oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels); m_subjectControls[i] = oSchoolValuesControl; m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90) i++; var oSchoolBehavioursControl = null; var oSchoolBehavioursContent = null; oSchoolBehavioursContent = document.createElement("DIV"); oSchoolBehavioursContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oSchoolBehavioursContent); oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels); m_subjectControls[i] = oSchoolBehavioursControl; m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90) i++; } var oTeacherCommentContent = null; if (m_showTeacherComment == true) { oTeacherCommentContent = document.createElement("DIV"); oTeacherCommentContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oTeacherCommentContent); oTeacherCommentControl = new ReportCommentControl(oTeacherCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodteachercomment', 'Teacher Comment', m_teacherCommentMaxLength); m_subjectControls[i] = oTeacherCommentControl; m_menuControl.AddMenuItem(i, "Teacher Comment", 90) i++; } var oPrincipalCommentContent = null; if (m_showPrincipalComment == true) { oPrincipalCommentContent = document.createElement("DIV"); oPrincipalCommentContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oPrincipalCommentContent); oPrincipalCommentControl = new ReportCommentControl(oPrincipalCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodprincipalcomment', 'Principal Comment', m_principalCommentMaxLength); m_subjectControls[i] = oPrincipalCommentControl; m_menuControl.AddMenuItem(i, "Principal Comment", 90) i++; } var oReportMiscellaneousControl = null; var oReportMiscellaneousContent = null oReportMiscellaneousContent = document.createElement("DIV"); oReportMiscellaneousContent.id = "reportControlContent_" + i; m_contentContainer.appendChild(oReportMiscellaneousContent); oReportMiscellaneousControl = new ReportMiscellaneousControl(oReportMiscellaneousContent, m_PKStudentReportingPeriod, m_daysAbsent); m_subjectControls[i] = oReportMiscellaneousControl; m_menuControl.AddMenuItem(i, "Days Absent", 90) i++; m_menuControl.InitialiseMenu(); m_menuControl.SelectMenuItem(m_currentSubject); m_computeEnabledState(); } m_menuControl.OnSelectMenuItem = function(pID) { m_currentSubject = pID; } function m_findStudent() { var oXmlStudent; oXmlStudent = m_xmlStudentList.documentElement.firstChild; while(oXmlStudent != null){ if (oXmlStudent.getAttribute("pk_student") == m_PKStudent) { return oXmlStudent; } oXmlStudent = oXmlStudent.nextSibling; } return null; } function m_renderActions() { var oLink; var oText; var oFinalised; var oReportDescription; oReportDescription = m_reportTemplatePaperSize + ' | ' + m_reportTemplateFontName + ' | ' + m_reportTemplateCommentJustification; m_actionsContainerInner.innerHTML = ""; oLink = document.createElement("A"); oLink.className = "ReportControlActionLink"; oLink.target = "_new"; // 18/05/2021 WR link has been disabled so that staff can't see the error //oLink.href = "reports/report.aspx?pk=" + m_PKStudentReportingPeriod + "&pk_reporttemplate=" + m_PKReportTemplate; oLink.href = "https://intranet.cg.catholic.edu.au/informationsystems/primaryReporting/Pages/SchoolOnTrackACTReport.aspx" oLink.innerHTML = "Print Report"; oLink.title = oReportDescription; m_actionsContainerInner.appendChild(oLink); if (m_showViewXMLOption == true) { oLink = document.createElement("A"); oLink.className = "ReportControlActionLink"; oLink.target = "_new"; oLink.href = "Report.Asp?xml=true&pk=" + m_PKStudentReportingPeriod; oLink.innerHTML = "View XML"; m_actionsContainerInner.appendChild(oLink); } m_actionsContainerInner.appendChild(document.createElement("BR")); oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedteacher", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByTeacher) oFinalised.SetDisabled(!m_allowTeacherFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Teacher)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedprincipal", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByPrincipal) oFinalised.SetDisabled(!m_allowPrincipalFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Principal)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); //Prime Learning oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedreviewer", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByReviewer) oFinalised.SetDisabled(!m_allowReviewerFinalise); oText = document.createElement("SPAN"); oText.innerHTML = "this report is finalised (Reviewer)"; m_actionsContainerInner.appendChild(oText); m_actionsContainerInner.appendChild(document.createElement("BR")); } function m_computeEnabledState() { var bEnabled = true; var bFinalisedByPrincipal = (m_isFinalisedByPrincipal.toLowerCase() == 'true') var bReportIsFromCurrentReportingPeriod = (m_reportIsFromCurrentReportingPeriod.toLowerCase() == 'true') if ((m_allowModifyReportsFinalisedByPrincipal == false) && (bFinalisedByPrincipal == true)) { bEnabled = false; } if ((m_allowModifyArchivedReports == false) && (bReportIsFromCurrentReportingPeriod == false)) { bEnabled = false; } m_setEnabled(bEnabled); } function m_setEnabled(pbEnabled) { var i, o; if (!m_subjectControls) return; for(i=0; i 0) { m_daysAbsentValues += "|"; m_daysAbsentDisplayValues += "|"; } m_daysAbsentValues += i; m_daysAbsentDisplayValues += i; /*if (Math.round(i) == i) m_daysAbsentDisplayValues += ".0";*/ } } } function ReportSchoolActivitiesControl(pContainer, pPKStudentReportingPeriod) { var self = this; var m_container = pContainer; var m_PKStudentReportingPeriod = pPKStudentReportingPeriod; var m_listView = null; var m_objectCache = null; var m_bLoaded = false; var m_bQueuedSetEnabled = false; var m_bQueuedSetEnabledValue = null; this.SetEnabled = m_setEnabled; this.Finalise = m_finalise; ////////////////////////////////////////////////////////testing this.requiredmarks = 0; m_initialise(); function m_initialise() { m_listView = new ListViewControl(m_container, "studentreportingperiodschoolactivities", "PK_SchoolActivity", "Participated|SchoolActivityName", " |" + systemSettings.ActivityName, "40|850", 890, 340); m_listView.OnCellRender = m_listView_OnCellRender; m_listView.OnRefreshComplete = m_listView_OnRefreshComplete; m_listView.RefreshList('PK_StudentReportingPeriod=' + m_PKStudentReportingPeriod); } function m_listView_OnRefreshComplete() { m_bLoaded = true; } function m_finalise() { var o if (m_objectCache) { o = m_objectCache.pop(); while(o) { o.Finalise(); delete o; o = null; o = m_objectCache.pop(); } m_objectCache = null; } delete m_listView.OnRefreshComplete; delete m_listView.OnCellRender; m_listView.Finalise(); m_listView = null; } function m_listView_OnCellRender(pPK_SchoolActivity, pColumnIdentifier, pValue, pCellTD) { var o = null; if (pColumnIdentifier == 'participated') { pCellTD.align = "center"; o = new RelationshipToggleControl(pCellTD, "studentreportingperiodschoolactivities", "PK_StudentReportingPeriod", "PK_SchoolActivity", m_PKStudentReportingPeriod, pPK_SchoolActivity, pValue) if(m_bQueuedSetEnabled == true) { o.SetEnabled(m_bQueuedSetEnabledValue); } if (!m_objectCache) { m_objectCache = new Array(); } m_objectCache.push(o); return true; } return false; } function m_setEnabled(pbEnabled) { var i,o; if (m_bLoaded == false) { m_bQueuedSetEnabled = true; m_bQueuedSetEnabledValue = pbEnabled; return; } if (m_objectCache) { for(i=0; i 0) m_levelValues += "|"; m_levelValues += xml.getAttribute("pk_schoollistlevel"); if (m_levelNames.length > 0) m_levelNames += "|"; m_levelNames += xml.getAttribute("schoollistlevelname"); xml = xml.nextSibling; } m_loadItems(); } function m_loadItems() { m_listView = new ListViewControl(m_container, "studentreportingperiodschoollistitems", "PK_StudentReportingPeriodSchoolListItem", "SchoolListItemName|FK_SchoolListLevel", m_ListItemName + (m_useBinaryScale == true ? "|Yes/No" : "|Achievement Level"), "340|550", 890, 340); m_listView.OnCellRender = m_listView_OnCellRender; m_listView.OnRefreshComplete = m_listView_OnRefreshComplete; m_listView.RefreshList('PK_StudentReportingPeriodSchoolList=' + m_PKStudentReportingPeriodSchoolList); } function m_listView_OnCellRender(pPK_StudentReportingPeriodSchoolListItem, pColumnIdentifier, pValue, pCellTD) { var o = null; if (pColumnIdentifier == 'fk_schoollistlevel') { o = new OptionGroupControl(pCellTD, "studentreportingperiodschoollistitemlevel", "PK_StudentReportingPeriodSchoolListItem", pPK_StudentReportingPeriodSchoolListItem, m_levelNames, m_levelValues, pValue) if(m_bQueuedSetEnabled == true) { o.SetEnabled(m_bQueuedSetEnabledValue); } if (!m_objectCache) { m_objectCache = new Array(); } m_objectCache.push(o); return true; } return false; } function m_listView_OnRefreshComplete() { m_bLoaded = true; } function m_finalise() { var o if (m_objectCache) { o = m_objectCache.pop(); while(o) { o.Finalise(); delete o; o = null; o = m_objectCache.pop(); } m_objectCache = null; } delete m_listView.OnRefreshComplete; delete m_listView.OnCellRender; m_listView.Finalise(); m_listView = null; } function m_setEnabled(pbEnabled) { var i,o; if (m_bLoaded == false) { m_bQueuedSetEnabled = true; m_bQueuedSetEnabledValue = pbEnabled; return; } if (m_objectCache) { for(i=0; i parseInt(systemSettings.TeacherCommentConditionalMaxLength)) { alert("The maximum length for teacher comments when subject comments are enabled is " + systemSettings.TeacherCommentConditionalMaxLength + " characters."); m_teacherCommentMaxLengthControl.SetValueAndSave(systemSettings.TeacherCommentConditionalMaxLength); } } } function m_principalCommentMaxLengthControl_OnChange(pValue) { if (m_showSubjectCommentsControl.GetValue() == true) { if (parseInt(pValue) > parseInt(systemSettings.PrincipalCommentConditionalMaxLength)) { alert("The maximum length for principal comments when subject comments are enabled is " + systemSettings.PrincipalCommentConditionalMaxLength + " characters."); m_principalCommentMaxLengthControl.SetValueAndSave(systemSettings.PrincipalCommentConditionalMaxLength); } } } function m_showSubjectCommentsControl_OnChange(pChecked) { var bResetT = false; var bResetP = false; var s = ""; if (pChecked == true) { if (parseInt(m_teacherCommentMaxLengthControl.GetValue()) > parseInt(systemSettings.TeacherCommentConditionalMaxLength)) { bResetT = true; s += "The maximum teacher comment limit will be changed to " + systemSettings.TeacherCommentConditionalMaxLength + " characters.\n"; } if (parseInt(m_principalCommentMaxLengthControl.GetValue()) > parseInt(systemSettings.PrincipalCommentConditionalMaxLength)) { bResetP = true; s += "The maximum principal comment limit will be changed to " + systemSettings.PrincipalCommentConditionalMaxLength + " characters.\n"; } if (s.length > 0) { alert(s); } if (bResetT == true) { m_teacherCommentMaxLengthControl.SetValueAndSave(parseInt(systemSettings.TeacherCommentConditionalMaxLength)); } if (bResetP == true) { m_principalCommentMaxLengthControl.SetValueAndSave(parseInt(systemSettings.PrincipalCommentConditionalMaxLength)); } } } function m_showEffortControl_OnChange(pChecked) { m_setEffortEnabled(pChecked); } function m_showAchievementContinuumControl_OnChange(pChecked) { m_setAchievementContinuumEnabled(pChecked); } function m_setEffortEnabled(pEnabled) { if (m_effort1Control) m_effort1Control.SetEnabled(pEnabled); if (m_effort2Control) m_effort2Control.SetEnabled(pEnabled); if (m_effort3Control) m_effort3Control.SetEnabled(pEnabled); if (m_effort4Control) m_effort4Control.SetEnabled(pEnabled); } function m_setAchievementContinuumEnabled(pEnabled) { if (m_achievementContinuum1Control) m_achievementContinuum1Control.SetEnabled(pEnabled); if (m_achievementContinuum2Control) m_achievementContinuum2Control.SetEnabled(pEnabled); if (m_achievementContinuum3Control) m_achievementContinuum3Control.SetEnabled(pEnabled); if (m_achievementContinuum4Control) m_achievementContinuum4Control.SetEnabled(pEnabled); if (m_achievementContinuum5Control) m_achievementContinuum5Control.SetEnabled(pEnabled); } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } function m_schoolNameChanged(pValue) { m_schoolsList.Refresh(''); } function m_refreshLogo() { m_logoImageControl.src = "Image.asp?type=schoollogo&pk=" + m_PKSchool + m_getProxyDefeaterString(); m_principalSignatureImageControl.src = "Image.asp?type=principalsignature&pk=" + m_PKSchool + m_getProxyDefeaterString(); } function m_getProxyDefeaterString() { return "&defeat=" + (new Date()).getTime().toString(); } } function SchoolSubjectsControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool) { var m_container = pContainer; var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */ var m_PKSchoolInitial = pPKSchoolInitial; var m_PKSchool = null; var m_schoolsList = null; var m_subjectsListView = null; var m_configureLockControl = null; var m_lockContainer = null; this.Refresh = m_refresh; m_initialise(); function m_initialise() { var columns, columnNames, columnWidths, totalWidth m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400); m_schoolsList.OnChange = m_schoolsList_OnChange; m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete; if (systemSettings.ShowPerSubjectConfigurationOptions.toLowerCase() == 'true') { /* THESE VALUES DON'T MAKE SENSE FOR PARRAMATTA */ columns = "SubjectName|ReportingRequired|StrandsReportingRequired|CommentReportingRequired|OverrideCommentReportingRequired" columnNames = "]Require reporting of:|_Subject|_Strands|_Comment|_Kinder Comment" columnWidths = "250|100|100|100|100" totalWidth = 650; } else { columns = "SubjectName|ReportingRequired" columnNames = "]Require reporting of:|_Subject" columnWidths = "250|100" totalWidth = 350; } m_subjectsListView = new ListViewControl(m_container, "schoolsubjects_ex", "PK_SchoolSubject", columns, columnNames, columnWidths, totalWidth); m_subjectsListView.OnCellRender = m_subjectsListView_OnCellRender; m_lockContainer = document.createElement("DIV"); m_container.appendChild(m_lockContainer); } function m_schoolsList_OnChange(pPKSchool) { m_PKSchool = pPKSchool; m_load(); } function m_schoolsList_OnRefreshComplete() { m_schoolsList.SetValue(m_PKSchoolInitial); if(m_allowChangeSchool == false ) { m_schoolsList.SetEnabled(false); } } function m_load() { m_subjectsListView.Hide(); m_lockContainer.innerHTML = ""; m_configureLockControl = new ConfigureLockControl(m_lockContainer, m_PKSchool); m_configureLockControl.OnComplete = m_configureLockControl_OnComplete; } function m_configureLockControl_OnComplete(pbLocked) { if (!pbLocked) { m_subjectsListView.Show(); m_subjectsListView.RefreshList('PK_School=' + m_PKSchool); } } function m_subjectsListView_OnCellRender(pPKSchoolSubject, pColumnIdentifier, pValue, pCellTD) { var bValue; if (pColumnIdentifier == "subjectname") { pCellTD.align = "left"; } else if (pColumnIdentifier == "reportingrequired") { if (pValue == 0) { bValue = "false"; }else if (pValue == -1) { pCellTD.innerHTML = "Mandatory"; return true; } else { bValue = "true"; } new BooleanToggleControl(pCellTD, "schoolsubjectreportingrequired", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue); return true; } else if (pColumnIdentifier == "strandsreportingrequired") { if (pValue == 0) { bValue = "false"; }else if (pValue == -1) { pCellTD.innerHTML = "Mandatory"; return true; } else { bValue = "true"; } new BooleanToggleControl(pCellTD, "schoolsubjectstrandreportingrequired", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue); return true; } else if (pColumnIdentifier == "commentreportingrequired") { if (pValue == 0) { bValue = "false"; }else if (pValue == -1) { pCellTD.innerHTML = "Mandatory"; return true; } else { bValue = "true"; } new BooleanToggleControl(pCellTD, "schoolsubjectcommentrequired", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue); return true; } else if (pColumnIdentifier == "overridecommentreportingrequired") { if (pValue == 0) { bValue = "false"; }else if (pValue == -1) { pCellTD.innerHTML = "Mandatory"; return true; } else { bValue = "true"; } new BooleanToggleControl(pCellTD, "schoolsubjectcommentoverride", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue); return true; } return false; } function m_refresh() { if (!m_PKSchool) return; m_load(); } } function SecurityGroupControl(pDropDownListContainer, pListContainer) { var m_dropDownListContainer = pDropDownListContainer; var m_listContainer = pListContainer; var self = this; var m_PKGroup = null; var m_currentGroupSecurityObjectPrivilege = null; /* 27/4/2006 Add/edit/delete operations disallowed because system is now dependent on Teacher group with PK_Group of 3, due to CSO requirement of principals setting up teacher logins. */ var m_dropdownControl = new DropdownControl(m_dropDownListContainer, "groups", "PK_Group", "GroupName", false, false, false) var m_cboListSecurityObjects = new CallBackObject(); var m_cboSetGroupSecurityObjectPrivilege = new CallBackObject(); this.Refresh = m_RefreshSecurityObjectList; m_cboListSecurityObjects.OnComplete = m_cboListSecurityObjects_Complete; m_cboListSecurityObjects.OnError = m_cboGeneric_Error; m_cboSetGroupSecurityObjectPrivilege.OnComplete = m_cboSetGroupSecurityObjectPrivilege_Complete; m_cboSetGroupSecurityObjectPrivilege.OnError = m_cboGeneric_Error; m_dropdownControl.OnChange = function(pPK) { m_PKGroup = pPK; m_RefreshSecurityObjectList(); } function m_RefreshSecurityObjectList() { m_cboListSecurityObjects.DoCallBackManual('securityobjects', 'list', "PK_Group=" + m_PKGroup); } function m_cboListSecurityObjects_Complete(responseText, responseXML) { var oXmlSecurityObject; var oXmlSecurityObjectPrivilege; var oHtmlSecurityObjectDiv; var oHtmlSecurityObjectPrivilegeDiv; var oHtmlSecurityObjectPrivilegeCheckBox; var oHtmlSecurityObjectPrivilegeText; m_listContainer.innerHTML = ""; oXmlSecurityObject = responseXML.documentElement.firstChild; while(oXmlSecurityObject != null) { oHtmlSecurityObjectDiv = document.createElement("div"); oHtmlSecurityObjectDiv.className = "SecurityGroupControlListItem"; oHtmlSecurityObjectDiv.innerHTML = oXmlSecurityObject.getAttribute("securityobjectname"); oHtmlSecurityObjectDiv.title = oXmlSecurityObject.getAttribute("description"); m_listContainer.appendChild(oHtmlSecurityObjectDiv); oXmlSecurityObjectPrivilege = oXmlSecurityObject.firstChild while(oXmlSecurityObjectPrivilege != null) { oHtmlSecurityObjectPrivilegeDiv = document.createElement("div"); oHtmlSecurityObjectPrivilegeDiv.className = "SecurityGroupControlListItemPrivilege"; oHtmlSecurityObjectDiv.appendChild(oHtmlSecurityObjectPrivilegeDiv); oHtmlSecurityObjectPrivilegeCheckBox = document.createElement("INPUT"); oHtmlSecurityObjectPrivilegeCheckBox.type = "checkbox"; oHtmlSecurityObjectPrivilegeCheckBox.value = oXmlSecurityObjectPrivilege.getAttribute("pk_securityobjectprivilege"); oHtmlSecurityObjectPrivilegeCheckBox.PKSecurityObjectPrivilege = oXmlSecurityObjectPrivilege.getAttribute("pk_securityobjectprivilege"); oHtmlSecurityObjectPrivilegeCheckBox.PKGroupSecurityObjectPrivilege = oXmlSecurityObjectPrivilege.getAttribute("pk_groupsecurityobjectprivilege"); oHtmlSecurityObjectPrivilegeDiv.appendChild(oHtmlSecurityObjectPrivilegeCheckBox); oHtmlSecurityObjectPrivilegeCheckBox.checked = (oXmlSecurityObjectPrivilege.getAttribute("pk_groupsecurityobjectprivilege").length > 0); oHtmlSecurityObjectPrivilegeCheckBox.onclick = m_groupSecurityObjectPrivilegeChanged; oHtmlSecurityObjectPrivilegeText = document.createElement("SPAN"); oHtmlSecurityObjectPrivilegeText.innerHTML = oXmlSecurityObjectPrivilege.getAttribute("privilegename") oHtmlSecurityObjectPrivilegeText.title = oXmlSecurityObjectPrivilege.getAttribute("description"); oHtmlSecurityObjectPrivilegeDiv.appendChild(oHtmlSecurityObjectPrivilegeText); oXmlSecurityObjectPrivilege = oXmlSecurityObjectPrivilege.nextSibling; } oXmlSecurityObject = oXmlSecurityObject.nextSibling; } } function m_groupSecurityObjectPrivilegeChanged() { m_currentGroupSecurityObjectPrivilege = this; if (this.checked == true) { m_cboSetGroupSecurityObjectPrivilege.DoCallBackManual('groupsecurityobjectprivileges', 'add', "PK_Group=" + m_PKGroup + "&PK_SecurityObjectPrivilege=" + this.PKSecurityObjectPrivilege); } else { m_cboSetGroupSecurityObjectPrivilege.DoCallBackManual('groupsecurityobjectprivileges', 'delete', "PK_GroupSecurityObjectPrivilege=" + this.PKGroupSecurityObjectPrivilege); } } function m_cboSetGroupSecurityObjectPrivilege_Complete(responseText, responseXML) { m_currentGroupSecurityObjectPrivilege.PKGroupSecurityObjectPrivilege = responseText; } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function SecurityLDAPControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowChangeContext) { var self = this; var m_container = pContainer; var m_PKSchoolInitial = pPKSchoolInitial; var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */ var m_allowChangeContext = pbAllowChangeContext /* allow the end user to change the context */ var m_contextList = null; var m_schoolsList = null; var m_listView = null; var m_addButtonControl = null; var m_cancelButtonControl = null; var m_checkboxArray = null; var oText = null; var m_cboAddUser = new CallBackObject(); m_cboAddUser.OnComplete = m_cboAddUser_Complete; m_cboAddUser.OnError = m_cboGeneric_Error; this.OnUpdateComplete = null; this.Refresh = m_refresh; m_initialise(); function m_initialise() { oText = document.createElement("SPAN"); oText.innerHTML = "Search this School for users: "; m_container.appendChild(oText); //m_contextList = new DropdownControl(m_container, "usercontexts", "PK_School", "LDAPContext", false, false, false); m_contextList = new DropdownControl(m_container, "usercontexts", "PK_School", "SchoolName", false, false, false); m_contextList.OnChange = m_contextList_OnChange; m_contextList.OnRefreshComplete = m_contextList_OnRefreshComplete; new DividerControl(m_container); //m_listView = new ListViewControl(m_container, "ldapusers", "domain", "cn|givenname|sn", "User Name|First Name|Last Name", "200|200|200", 600, 200, true); m_listView = new ListViewControl(m_container, "ldapusers", "domain", "samaccountname|givenname|sn", "User Name|First Name|Last Name", "200|200|200", 600, 200, true); m_listView.OnCheckboxRenderSetChecked = m_listView_OnCheckboxRenderSetChecked m_listView.OnCheckboxRenderSetEnabled = m_listView_OnCheckboxRenderSetEnabled new DividerControl(m_container); oText = document.createElement("SPAN"); oText.innerHTML = "Add user(s) to this school: "; m_container.appendChild(oText); m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false); m_schoolsList.OnChange = m_schoolsList_OnChange; m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete; new DividerControl(m_container); m_addButtonControl = new ButtonControl(m_container, "Add User(s)"); m_addButtonControl.OnClick = m_addButtonControl_OnClick; oText = document.createElement("SPAN"); oText.innerHTML = "    "; m_container.appendChild(oText); m_cancelButtonControl = new ButtonControl(m_container, "Cancel"); m_cancelButtonControl.OnClick = m_cancelButtonControl_OnClick; } function m_schoolsList_OnChange(pPKSchool) { m_PKSchool = pPKSchool; //m_listView.RefreshList('PK_School=' + m_PKSchool); } function m_schoolsList_OnRefreshComplete() { m_schoolsList.SetValue(m_PKSchoolInitial); if(m_allowChangeSchool == false ) { m_schoolsList.SetEnabled(false); } } // function m_contextList_OnChange(pPKSchoolContext) function m_contextList_OnChange(pPKSchool) { var sContext; // m_PKSchoolContext = pPKSchoolContext; m_PKSchool = pPKSchool; //sContext = m_contextList.GetText(m_PKSchoolContext); sContext = m_contextList.GetValue(m_PKSchool); m_listView.RefreshList('Context=' + sContext.replace(" ", "~99~")); //debug } function m_contextList_OnRefreshComplete() { m_contextList.SetValue(m_PKSchoolInitial); if(m_allowChangeContext == false ) { m_contextList.SetEnabled(false); } } function m_refresh() //exeuted on first load { if (!m_contextList) return; if (!m_contextList.GetText) return; if (!m_contextList.GetText()) return; //sContext = m_contextList.GetText(m_PKSchoolContext); sContext = m_contextList.GetValue(m_PKSchool);// m_PKSchool m_listView.RefreshList('Context=' + sContext.replace(" ", "~99~")); } /* Tick the checkboxes of users that are already added to the system */ function m_listView_OnCheckboxRenderSetChecked(pUserDomain, pXmlData) { return (pXmlData.getAttribute("alreadyexists") == "true"); } /* Lock checkboxes of users that are already added to the system */ function m_listView_OnCheckboxRenderSetEnabled(pUserDomain, pXmlData) { return (pXmlData.getAttribute("alreadyexists") != "true"); } function m_addButtonControl_OnClick() { var oUserList = m_listView.GetCheckedEnabledItems(); var bProceed; /* no users selected that weren't already there. nothing to do.*/ if ((oUserList == null) || oUserList.length == 0) { alert("No users have been selected that don't already exist in the system.\n\nPlease select at least one user and try again."); return; } bProceed = confirm("Are you sure that you want to add the " + oUserList.length + " new selected user(s) to the system as staff members of " + m_schoolsList.GetText() + "?"); if (bProceed == false) { return; } m_checkboxArray = oUserList; m_addUsers(); } function m_addUsers() { var o; var sAction; window.status = "Adding users. " + m_checkboxArray.length + " users pending addition." o = m_checkboxArray.pop(); if(!o) { // all done. m_addComplete(); return; } m_cboAddUser.DoCallBackManual('ldapuser', "add", "PK_School=" + m_PKSchool + "&UserDomain=" + escape(o)); } function m_cboAddUser_Complete(responseText, responseXML) { m_addUsers(); } function m_addComplete() { window.status = "All users added." alert("The new users have been added to the system."); if (self.OnUpdateComplete) { self.OnUpdateComplete(); } } function m_cancelButtonControl_OnClick() { if (self.OnUpdateComplete) { self.OnUpdateComplete(); } } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function SecurityUserClassAccessControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool) { var self = this; var m_container = pContainer; var m_allowChangeSchool = pbAllowChangeSchool; var m_PKSchoolInitial = pPKSchoolInitial var m_schoolsList = null; var m_schoolClassList = null; var m_PKSchool = null; var m_PKSchoolClass = null; var m_schoolTitleControl = null; var m_schoolClassTitleControl = null; var m_listView = null; this.Refresh = m_refresh; m_initialise(); function m_initialise() { m_schoolTitleControl = document.createElement("span"); m_schoolTitleControl.innerHTML = "School: "; m_container.appendChild(m_schoolTitleControl); m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400); m_schoolsList.OnChange = m_schoolsList_OnChange; m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete; m_container.appendChild(document.createElement("hr")); m_schoolClassTitleControl = document.createElement("span"); m_schoolClassTitleControl.innerHTML = "Class: "; m_container.appendChild(m_schoolClassTitleControl); m_schoolClassList = new DropdownControl(m_container, "schoolclasses", "PK_SchoolClass", "SchoolClassName", false, false, false, false, 100); m_schoolClassList.OnChange = m_schoolClassList_OnChange; m_container.appendChild(document.createElement("hr")); m_listView = new ListViewControl(m_container, "usergroupsincludingclassaccess", "PK_UserGroup", "UserName|FirstName|Surname|GroupName|GrantValue", "User Name|First Name|Surname|Group|Access Granted", "150|150|150|150|150", 750, 300, false); m_listView.OnCellRender = m_listView_OnCellRender; } function m_schoolsList_OnChange(pPKSchool) { m_PKSchool = pPKSchool; m_schoolClassList.Refresh('PK_School=' + m_PKSchool); } function m_schoolsList_OnRefreshComplete() { m_schoolsList.SetValue(m_PKSchoolInitial); if(m_allowChangeSchool == false ) { m_schoolsList.SetEnabled(false); } } function m_schoolClassList_OnChange(pPK_SchoolClass) { m_PKSchoolClass = pPK_SchoolClass; m_refresh(); } function m_refresh() { if (m_PKSchoolClass == null) return; m_listView.RefreshList("PK_SchoolClass=" + m_PKSchoolClass); } function m_listView_OnCellRender(pPKUserGroup, pColumnIdentifier, pValue, pCellTD) { if (pColumnIdentifier == 'grantvalue') { pCellTD.align = "center"; new RelationshipToggleControl(pCellTD, "usergroupschoolclass", "PK_SchoolClass", "PK_UserGroup", m_PKSchoolClass, pPKUserGroup, (pValue == 0 ? "false" : "true")) return true; } return false; } } function SecurityUserControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowAddOnlyTeachers) { var self = this; var m_container = pContainer; var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */ var m_PKSchoolInitial = pPKSchoolInitial; var m_allowAddOnlyTeachers = pbAllowAddOnlyTeachers; var m_allowChangeContext = pbAllowChangeSchool; /*allow end user to change the context - admin only*/ var m_menuContainer = null; var m_menuContentContainer = null; var m_menuControl = null; var m_viewContainer = null; var m_editContainer = null; var m_ldapContainer = null; var m_viewControl = null; var m_editControl = null; var m_ldapControl = null; m_initialise(); function m_initialise() { m_menuContainer = document.createElement("DIV"); m_menuContainer.id = "SecurityUserControlMenu"; m_container.appendChild(m_menuContainer); m_menuContentContainer = document.createElement("DIV"); m_menuContentContainer.id = "SecurityUserControlMenuContent"; m_container.appendChild(m_menuContentContainer); m_viewContainer = document.createElement("DIV"); m_viewContainer.id = "SecurityUserControlMenuContent_1"; m_menuContentContainer.appendChild(m_viewContainer); m_editContainer = document.createElement("DIV"); m_editContainer.id = "SecurityUserControlMenuContent_2"; m_menuContentContainer.appendChild(m_editContainer); m_ldapContainer = document.createElement("DIV"); m_ldapContainer.id = "SecurityUserControlMenuContent_3"; m_menuContentContainer.appendChild(m_ldapContainer); m_viewControl = new SecurityUserListControl(m_viewContainer, m_PKSchoolInitial, m_allowChangeSchool); m_viewControl.OnUserClick = m_viewControl_OnUserClick; m_viewControl.OnNewUserButtonClick = m_viewControl_OnNewUserButtonClick; m_editControl = new SecurityUserEditControl(m_editContainer, m_PKSchoolInitial, m_allowChangeSchool, m_allowAddOnlyTeachers); m_editControl.OnUpdateComplete = m_editControl_OnUpdateComplete; m_ldapControl = new SecurityLDAPControl(m_ldapContainer, m_PKSchoolInitial, m_allowChangeSchool, m_allowChangeContext); //on first render m_ldapControl.OnUpdateComplete = m_ldapControl_OnUpdateComplete; m_menuControl = new MenuControl(m_menuContainer, m_menuContentContainer, 1); m_menuControl.OnSelectMenuItem = m_menuControl_OnSelectMenuItem; m_menuControl.AddMenuItem(1, "View Users"); m_menuControl.AddMenuItem(2, "Modify User"); m_menuControl.AddMenuItem(3, "Add User (LDAP)"); m_menuControl.InitialiseMenu(); m_menuControl.SelectMenuItem(1); } function m_menuControl_OnSelectMenuItem(pID) { if (pID == 3) { m_ldapControl.Refresh(); } } function m_viewControl_OnUserClick(pPK_User) { m_editControl.EditUser(pPK_User); m_menuControl.SelectMenuItem(2); } function m_editControl_OnUpdateComplete() { m_viewControl.Refresh(); m_menuControl.SelectMenuItem(1); } function m_ldapControl_OnUpdateComplete() { m_viewControl.Refresh(); m_menuControl.SelectMenuItem(1); } function m_viewControl_OnNewUserButtonClick() { m_ldapControl.Refresh(); m_menuControl.SelectMenuItem(3); } } function SecurityUserEditControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowAddOnlyTeachers) { var self = this; var m_container = pContainer; var m_PKUser = null; var m_currentMode = null; var m_allowAddOnlyTeachers = pbAllowAddOnlyTeachers; /* restrict the end user to creating only teachers */ var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */ var m_PKSchoolInitial = pPKSchoolInitial; var m_innerContainer = null; var m_modeIndicator = null; var m_userNameControl = null; var m_passwordControl = null; var m_firstNameControl = null; var m_surnameControl = null; var m_ldapDomainControl = null; var m_updateButtonControl = null; var m_cancelButtonControl = null; var m_schoolDropdownControl = null; var m_groupList = null; var m_messageTextControl = null; var m_checkboxArray = null; var m_cboGetUser = new CallBackObject(); var m_cboAddUser = new CallBackObject(); var m_cboUpdateUser = new CallBackObject(); var m_cboUpdateUserGroup = new CallBackObject(); m_cboGetUser.OnComplete = m_cboGetUser_Complete; m_cboGetUser.OnError = m_cboGeneric_Error; m_cboAddUser.OnComplete = m_cboAddUser_Complete; m_cboAddUser.OnError = m_cboGeneric_Error; m_cboUpdateUser.OnComplete = m_cboUpdateUser_Complete; m_cboUpdateUser.OnError = m_cboGeneric_Error; m_cboUpdateUserGroup.OnComplete = m_cboUpdateUserGroup_Complete; m_cboUpdateUserGroup.OnError = m_cboGeneric_Error; this.EditUser = m_editUser; this.AddUser = m_addUser; this.OnUpdateComplete = null; // Fired whenever entry has been added or updated m_initialise(); function m_initialise() { var oText; m_checkboxArray = new Array(); m_messageTextControl = document.createElement("DIV"); m_messageTextControl.style.display = "none"; m_messageTextControl.innerHTML = "To modify a user's details, please click on the user in the list on the 'View Users' screen.
To add a user, use the 'Add User (LDAP) Screen'.


"; m_container.appendChild(m_messageTextControl); m_innerContainer = document.createElement("DIV"); m_container.appendChild(m_innerContainer); m_modeIndicator = document.createElement("B"); m_innerContainer.appendChild(m_modeIndicator); m_innerContainer.appendChild(document.createElement("HR")); m_userNameControl = new BasicTextControl(m_innerContainer, "User Name:", 255, 150, true); m_passwordControl = new BasicTextControl(m_innerContainer, "Password:", 255, 150, true); m_firstNameControl = new BasicTextControl(m_innerContainer, "First Name:", 255, 200, true); m_surnameControl = new BasicTextControl(m_innerContainer, "Surname:", 255, 200, true); m_ldapDomainControl = new BasicTextControl(m_innerContainer, "LDAP Domain:", 255, 400, true); oText = document.createElement("B"); oText.innerHTML = "School:"; oText.className = "SecurityUserControlLabel"; m_innerContainer.appendChild(oText); m_schoolDropdownControl = new DropdownControl(m_innerContainer, "schools", "PK_School", "SchoolName", false, false, false, true, 400) m_schoolDropdownControl.OnRefreshComplete = m_schoolDropdownControl_OnRefreshComplete; oText = document.createElement("DIV"); oText.innerHTML = "

This user is a member of the following groups:"; m_innerContainer.appendChild(oText); m_groupList = new ListViewControl(m_innerContainer, "usergroups", "PK_Group", "FK_UserGroup|GroupName", "_ |[Group", "50|450", 500, 100) m_groupList.OnCellRender = m_groupList_OnCellRender; m_innerContainer.appendChild(document.createElement("HR")); m_updateButtonControl = document.createElement("INPUT"); m_updateButtonControl.type = "button"; m_updateButtonControl.className = "FlatButton"; m_updateButtonControl.onclick = m_updateButtonControl_onclick; m_innerContainer.appendChild(m_updateButtonControl); oText = document.createElement("SPAN"); oText.innerHTML = "    "; m_innerContainer.appendChild(oText); m_cancelButtonControl = document.createElement("INPUT"); m_cancelButtonControl.type = "button"; m_cancelButtonControl.className = "FlatButton"; m_cancelButtonControl.value = "Cancel"; m_cancelButtonControl.onclick = m_cancelButtonControl_onclick; m_innerContainer.appendChild(m_cancelButtonControl); m_setHiddenMode(); } function m_addUser() { m_setAddMode(); } function m_editUser(pPK_User) { m_setEditMode(pPK_User); } function m_setEditMode(pPK_User) { m_innerContainer.style.display = "block"; m_messageTextControl.style.display = "none"; m_currentMode = "edit"; m_PKUser = pPK_User; m_modeIndicator.innerHTML = "Update User" m_userNameControl.SetEnabled(false); m_updateButtonControl.value = "Update"; m_cboGetUser.DoCallBackManual('user', 'get', "PK_User=" + m_PKUser); } function m_setAddMode() { m_innerContainer.style.display = "block"; m_messageTextControl.style.display = "none"; m_currentMode = "add"; m_PKUser = null; m_modeIndicator.innerHTML = "Add User" m_userNameControl.SetEnabled(true); m_userNameControl.SetValue(""); m_passwordControl.SetValue(GeneratePassword(6)); m_firstNameControl.SetValue(""); m_surnameControl.SetValue(""); m_schoolDropdownControl.SetValue(m_PKSchoolInitial); m_checkboxArray.length = 0; m_groupList.RefreshList("PK_User=-1"); m_updateButtonControl.value = "Add"; } function m_setHiddenMode() { m_innerContainer.style.display = "none"; m_messageTextControl.style.display = "block"; } function m_schoolDropdownControl_OnRefreshComplete() { m_schoolDropdownControl.SetValue(m_PKSchoolInitial); if (m_allowChangeSchool == false) { m_schoolDropdownControl.SetEnabled(false); } } function m_updateButtonControl_onclick() { switch(m_currentMode) { case "edit": m_cboUpdateUser.DoCallBackManual('user', 'update', "PK_User=" + m_PKUser + "&Password=" + escape(m_passwordControl.GetValue()) + "&FirstName=" + escape(m_firstNameControl.GetValue()) + "&Surname=" + escape(m_surnameControl.GetValue()) + "&FK_School=" + m_schoolDropdownControl.GetValue() + "&LDAPDomain=" + escape(m_ldapDomainControl.GetValue())); break; case "add": m_cboAddUser.DoCallBackManual('user', 'add', "UserName=" + escape(m_userNameControl.GetValue()) + "&Password=" + escape(m_passwordControl.GetValue()) + "&FirstName=" + escape(m_firstNameControl.GetValue()) + "&Surname=" + escape(m_surnameControl.GetValue()) + "&FK_School=" + m_schoolDropdownControl.GetValue() + "&LDAPDomain=" + escape(m_ldapDomainControl.GetValue())); break; default: alert("Unknown mode: " + m_currentMode); break; } } function m_cboGetUser_Complete(responseText, responseXML) { var oXmlUser = responseXML.documentElement.firstChild; m_userNameControl.SetValue(oXmlUser.getAttribute("username")); m_passwordControl.SetValue(oXmlUser.getAttribute("password")); m_firstNameControl.SetValue(oXmlUser.getAttribute("firstname")); m_surnameControl.SetValue(oXmlUser.getAttribute("surname")); m_ldapDomainControl.SetValue(oXmlUser.getAttribute("ldapdomain")); m_schoolDropdownControl.SetValue(oXmlUser.getAttribute("fk_school")); m_checkboxArray.length = 0; m_groupList.RefreshList("PK_User=" + m_PKUser); } function m_groupList_OnCellRender(pPKGroup, pColumnIdentifier, pValue, pCellTD) { var bChecked; var oCheck; if (pColumnIdentifier == 'fk_usergroup') { bChecked = (pValue.length > 0 ? true : false); oCheck = document.createElement("INPUT"); oCheck.type="checkbox"; pCellTD.appendChild(oCheck); oCheck.checked = bChecked; oCheck.value = pPKGroup; oCheck.PK_Group = pPKGroup; if (m_allowAddOnlyTeachers == true) { if (m_currentMode == "add") { oCheck.checked = (pPKGroup == 3); // set initial default to Teachers group } } // can't change permissions if only allowed to add teachers oCheck.disabled = (m_allowAddOnlyTeachers == true); m_checkboxArray.push(oCheck); return true; } return false; } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } function m_cboUpdateUser_Complete(responseText, responseXML) { m_updateGroups(); } function m_cboAddUser_Complete(responseText, responseXML) { if (responseText == "-1") { alert("That username already exists. Please pick another one."); return; } // new ID of user - user for adding groups. m_PKUser = responseText; m_updateGroups(); } function m_updateGroups() { var o; var sAction; o = m_checkboxArray.pop(); if(!o) { // all done. m_updateComplete(); return; } sAction = "add"; if (o.checked == false) { sAction = "delete" } m_cboUpdateUserGroup.DoCallBackManual('usergroups', sAction, "PK_User=" + m_PKUser + "&PK_Group=" + o.PK_Group); } function m_cboUpdateUserGroup_Complete(responseText, responseXML) { m_updateGroups(); } function m_updateComplete() { m_setHiddenMode(); if (self.OnUpdateComplete) { self.OnUpdateComplete(); } } function m_cancelButtonControl_onclick() { if (confirm("Are you sure you want to cancel?") == true) { m_setHiddenMode(); if (self.OnUpdateComplete) { self.OnUpdateComplete(); } } } } function SecurityUserGroupControl(pDropDownListContainer, pListContainer) { var m_dropDownListContainer = pDropDownListContainer; var m_listContainer = pListContainer; var self = this; var m_PKGroup = null; var m_currentUser = null; var m_dropdownControl = new DropdownControl(m_dropDownListContainer, "groups", "PK_Group", "GroupName", false, false, false) var m_cboListUsers = new CallBackObject(); var m_cboSetUserGroup = new CallBackObject(); m_cboListUsers.OnComplete = m_cboListUsers_Complete; m_cboListUsers.OnError = m_cboGeneric_Error; m_cboSetUserGroup.OnComplete = m_cboSetUserGroup_Complete; m_cboSetUserGroup.OnError = m_cboGeneric_Error; this.Refresh = m_RefreshUserList; m_dropdownControl.OnChange = function(pPK) { m_PKGroup = pPK; m_RefreshUserList(); } function m_RefreshUserList() { m_cboListUsers.DoCallBackManual('groupusers', 'list', "PK_Group=" + m_PKGroup); } function m_cboListUsers_Complete(responseText, responseXML) { var oXmlUser; var oHtmlUserDiv; var oHtmlUserCheckBox; var oHtmlUserText; m_listContainer.innerHTML = ""; oXmlUser = responseXML.documentElement.firstChild; while(oXmlUser != null) { oHtmlUserDiv = document.createElement("div"); oHtmlUserDiv.className = "SecurityUserGroupControlListItem"; m_listContainer.appendChild(oHtmlUserDiv); oHtmlUserCheckBox = document.createElement("INPUT"); oHtmlUserCheckBox.type = "checkbox"; oHtmlUserCheckBox.value = oXmlUser.getAttribute("pk_user"); oHtmlUserCheckBox.PKUser = oXmlUser.getAttribute("pk_user"); oHtmlUserCheckBox.PKUserGroup = oXmlUser.getAttribute("pk_usergroup"); oHtmlUserDiv.appendChild(oHtmlUserCheckBox); oHtmlUserCheckBox.checked = (oXmlUser.getAttribute("pk_usergroup").length > 0); oHtmlUserCheckBox.onclick = m_userChanged; oHtmlUserText = document.createElement("SPAN"); oHtmlUserText.innerHTML = oXmlUser.getAttribute("username") oHtmlUserDiv.appendChild(oHtmlUserText); oXmlUser = oXmlUser.nextSibling; } } function m_userChanged() { m_currentUser = this; if (this.checked == true){ m_cboSetUserGroup.DoCallBackManual('groupusers', 'add', "PK_Group=" + m_PKGroup + "&PK_User=" + this.PKUser); } else { m_cboSetUserGroup.DoCallBackManual('groupusers', 'delete', "PK_UserGroup=" + this.PKUserGroup); } } function m_cboSetUserGroup_Complete(responseText, responseXML) { m_currentUser.PKUserGroup = responseText; } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function SecurityUserListControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool) { var self = this; var m_container = pContainer; var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */ var m_PKSchoolInitial = pPKSchoolInitial; var m_PKSchool = null; var m_schoolsList = null; var m_listView = null; var m_newUserButtonControl = null; var m_cboDeleteUser = new CallBackObject(); m_cboDeleteUser.OnComplete = m_cboDeleteUser_Complete; m_cboDeleteUser.OnError = m_cboGeneric_Error; this.Refresh = m_refresh; this.OnUserClick = null; // function(pPK_User) this.OnNewUserButtonClick = null; m_initialise(); function m_initialise() { var oText; m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false); m_schoolsList.OnChange = m_schoolsList_OnChange; m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete; oText = document.createElement("SPAN"); oText.innerHTML = "    "; m_container.appendChild(oText); m_newUserButtonControl = document.createElement("INPUT"); m_newUserButtonControl.type = "button"; m_newUserButtonControl.className = "FlatButton"; m_newUserButtonControl.value = "Create New User"; m_newUserButtonControl.onclick = m_newUserButtonControl_onclick; m_container.appendChild(m_newUserButtonControl); m_container.appendChild(document.createElement("HR")); oText = document.createElement("DIV"); oText.innerHTML = "Click on a user below to edit that user's details."; m_container.appendChild(oText); m_container.appendChild(document.createElement("HR")); m_listView = new ListViewControl(m_container, "schoolusers", "PK_User", "UserName|FirstName|Surname|PK_User", "User Name|First Name|Surname|_Delete", "150|150|150|150", 600, 300, false); m_listView.OnCellClick = m_listView_OnCellClick; m_listView.OnCellRender = m_listView_OnCellRender; } function m_schoolsList_OnChange(pPKSchool) { m_PKSchool = pPKSchool; m_listView.RefreshList('PK_School=' + m_PKSchool); } function m_schoolsList_OnRefreshComplete() { m_schoolsList.SetValue(m_PKSchoolInitial); if(m_allowChangeSchool == false ) { m_schoolsList.SetEnabled(false); } } function m_listView_OnCellClick(pPK_User, pColumnIdentifier, pValue, pCellTD) { if (pColumnIdentifier == "pk_user") { m_deleteUser(pPK_User); return; } if (self.OnUserClick) { self.OnUserClick(pPK_User); } } function m_refresh() { m_listView.RefreshList('PK_School=' + m_PKSchool); } function m_newUserButtonControl_onclick() { if (self.OnNewUserButtonClick) { self.OnNewUserButtonClick(); } } function m_listView_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD) { var deleteImageControl; if (pColumnIdentifier == "pk_user") { deleteImageControl = document.createElement("IMG"); deleteImageControl.src = "images/delete.png" deleteImageControl.title = "Delete User"; deleteImageControl.height = "16"; deleteImageControl.width = "16"; pCellTD.appendChild(deleteImageControl); pCellTD.align = "center"; return true; } return false; } function m_deleteUser(pPK_User) { if (confirm("Are you sure you want to delete this user?") == false) { return; } m_cboDeleteUser.DoCallBackManual('user', 'delete', "PK_User=" + pPK_User); } function m_cboDeleteUser_Complete(responseText, responseXML) { m_refresh(); } function m_cboGeneric_Error(status, statusText, responseText) { ShowDebugWindow(responseText); } } function SortOrderControl(pContainer, pDataToSort) { var self = this; var m_container = pContainer; var m_data = pDataToSort; var m_selectedItem = 0; var m_listContainer = null; var m_buttonContainer = null; this.GetData = m_get; m_initialise(); function m_initialise() { m_listContainer = document.createElement("DIV"); m_container.appendChild(m_listContainer); m_buttonContainer = document.createElement("DIV"); m_buttonContainer.className = "SortOrderControlButtonControl"; m_container.appendChild(m_buttonContainer); m_renderButtons(); m_refreshList(); } function m_refreshList() { var table, tbody, tr, td; var i; m_listContainer.innerHTML = ""; table = document.createElement("TABLE"); m_listContainer.appendChild(table); table.border = "0"; table.cellPadding = "0"; table.cellSpacing = "0"; table.width = "500"; table.className = "SortOrderControlTableControl"; tbody = document.createElement("TBODY"); table.appendChild(tbody); for (i=0;i