}
private HtmlTable renderAttendsList() {
HtmlTable htmlTable = new HtmlTable();
htmlTable.setClasses(getAttendsListTableClasses());
HtmlTableHeader tableHeader = htmlTable.createHeader();
List<Grouping> groupings = new ArrayList<Grouping>(bean.getExecutionCourse().getGroupings());
Collections.sort(groupings, Grouping.COMPARATOR_BY_ENROLMENT_BEGIN_DATE);
List<ShiftType> shiftTypes = new ArrayList<ShiftType>(bean.getExecutionCourse().getShiftTypes());
Collections.sort(shiftTypes);
Integer rowSpan;
if (groupings.isEmpty() && shiftTypes.isEmpty()) {
rowSpan = 1;
} else {
rowSpan = 2;
}
HtmlTableRow row1 = tableHeader.createRow();
if (bean.getViewPhoto()) {
HtmlTableCell photoCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.photo"));
photoCell.setRowspan(rowSpan);
}
HtmlTableCell usernameCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.username"));
usernameCell.setRowspan(rowSpan);
HtmlTableCell numberCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.number"));
numberCell.setRowspan(rowSpan);
HtmlTableCell numberOfEnrolmentsCell =
row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.numberOfEnrollments"));
numberOfEnrolmentsCell.setRowspan(rowSpan);
HtmlTableCell enrolmentStateCell1 =
row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.attends.enrollmentState"));
enrolmentStateCell1.setRowspan(rowSpan);
HtmlTableCell degreeCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.Degree"));
degreeCell.setRowspan(rowSpan);
HtmlTableCell registrationStateCell =
row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.registration.state"));
registrationStateCell.setRowspan(rowSpan);
HtmlTableCell nameCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.name"));
nameCell.setRowspan(rowSpan);
if (!groupings.isEmpty()) {
HtmlTableCell groupingCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.projectGroup"));
groupingCell.setColspan(groupings.size());
}
HtmlTableCell emailCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.mail"));
emailCell.setRowspan(rowSpan);
if (!shiftTypes.isEmpty()) {
HtmlTableCell shiftCell = row1.createCell(BundleUtil.getString(Bundle.APPLICATION, "label.attends.shifts"));
shiftCell.setColspan(shiftTypes.size());
}
HtmlTableRow row2 = tableHeader.createRow();
for (Grouping grouping : groupings) {
row2.createCell(grouping.getName());
}
for (ShiftType shiftType : shiftTypes) {
row2.createCell(BundleUtil.getString(Bundle.ENUMERATION, shiftType.getName()));