@Override public void creteUserAccountForParent( final String username, final String password, final String firstName, final String lastName, final Date dateOfBirth, final String admissionNumber) { Student student = this.studentDao.findActiveStudentByAdmissionNumber(admissionNumber); if (student == null) { throw new BusinessException( "Student not found with admission number or not active. " + admissionNumber + "."); } Collection<Relation> relations = this.relationDao.findRelationsByStudentId(student.getId()); if (relations == null || relations.isEmpty()) { throw new BusinessException( "No relations found for student with admission number " + admissionNumber + "."); } Relation relationMatch = null; for (Relation relation : relations) { if (firstName.equals(relation.getFirstName()) && lastName.equals(relation.getLastName()) && dateOfBirth.equals(relation.getDateOfBirth())) { relationMatch = relation; break; } } if (relationMatch == null) { throw new BusinessException("Relation details does not match our records."); } UserAccount userAccount = new UserAccount(); userAccount.setUsername(username); userAccount.setPassword(password); userAccount.setUserAccountType(UserAccountTypeConstant.PARENT); userAccount.setActive(true); userAccount = this.createNewUserAccount(userAccount); UserRole role = new UserRole(); role.setUserRole(AuthorityConstant.ROLE_PARENT); role.setUserAccount(userAccount); this.userRoleDao.persist(role); relationMatch.setUserAccount(userAccount); this.relationDao.persist(relationMatch); }
@Override public void creteUserAccountForStudent( final String username, final String password, final String firstName, final String lastName, final Date dateOfBirth, final String admissionNumber) { Student student = this.studentDao.findActiveStudentByAdmissionNumber(admissionNumber); if (student == null) { throw new BusinessException( "Student not found with admission number '" + admissionNumber + "' or not active."); } if (!firstName.equals(student.getFirstName()) || !lastName.equals(student.getLastName()) || !dateOfBirth.equals(student.getDateOfBirth())) { throw new BusinessException("Student details does not match our records."); } UserAccount userAccount = new UserAccount(); userAccount.setUsername(username); userAccount.setPassword(password); userAccount.setUserAccountType(UserAccountTypeConstant.STUDENT); userAccount.setActive(true); userAccount = this.createNewUserAccount(userAccount); UserRole role = new UserRole(); role.setUserRole(AuthorityConstant.ROLE_STUDENT); role.setUserAccount(userAccount); this.userRoleDao.persist(role); student.setUserAccount(userAccount); this.studentService.saveStudent(student); }
public void loadStudentTree() { if (this.isLoadStudentTreeFlag()) { if (this.studentBean.getStudent() != null && this.studentBean.getStudent().getId() != null) { Student student = this.studentBean.getStudent(); // Some sorting login need to implemented. this.studentRootNode = new DefaultTreeNode("Root", null); this.studentRootNode.setExpanded(Boolean.TRUE); // Tree for class name node. this.studentNameNode = new DefaultTreeNode(student.getDisplayName(), this.studentRootNode); this.studentNameNode.setSelected(true); this.studentNameNode.setExpanded(true); TreeNode studentAcademicYearsTreeNode = new DefaultTreeNode("Academic years", this.studentNameNode); studentAcademicYearsTreeNode.setExpanded(true); studentAcademicYearsTreeNode.setSelectable(false); Collection<StudentAcademicYear> studentAcademicYears = this.serviceAcademicYearService.findStudentAcademicYearsByStudentId(student.getId()); for (StudentAcademicYear studentAcademicYear : studentAcademicYears) { StudentAcademicYearTreeNode studentAcademicYearTreeNode = new StudentAcademicYearTreeNode( studentAcademicYear.getAcademicYear().getDisplayLabel(), studentAcademicYear.getAcademicYear(), studentAcademicYearsTreeNode); studentAcademicYearTreeNode.setSelectable(true); } this.setLoadStudentTreeFlag(false); } } }