private static void drawQualification(final Page page, final Qualification qualification) throws IOException { page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); if (qualification != null) { final QualificationType type = qualification.getType(); page.rowStart().header("Type:").column(type == null ? "-" : type.getLocalizedName()).rowEnd(); final String degree = qualification.getDegree(); page.rowStart().header("Scientific Field:").column(degree == null ? "-" : degree).rowEnd(); final String school = qualification.getSchool(); page.rowStart().header("Institution:").column(school == null ? "-" : school).rowEnd(); final String mark = qualification.getMark(); page.rowStart().header("Grade:").column(mark == null ? "-" : mark).rowEnd(); final Partial attendedBegin = qualification.getAttendedBegin(); page.rowStart() .header("Attended from:") .column(attendedBegin == null ? "-" : attendedBegin.toString("MM/yyyy")) .rowEnd(); final Partial attendedEnd = qualification.getAttendedEnd(); page.rowStart() .header("Attended to:") .column(attendedEnd == null ? "-" : attendedEnd.toString("MM/yyyy")) .rowEnd(); } page.tableEnd(); }
// "displayRefereePage" private static void drawReferee( final Page page, final PhdCandidacyReferee referee, final int count, final String folderName) throws IOException { page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart() .headerStartWithStyle("width: 125px;") .write("Name:") .headerEnd() .column(referee.getName()) .rowEnd(); page.rowStart().header("Email:").column(referee.getEmail()).rowEnd(); page.rowStart().header("Institution:").column(referee.getInstitution()).rowEnd(); if (referee.isLetterAvailable()) { page.rowStart().header("Referee form submitted:"); final String url = APPLICATION_PREFIX_LINK + "/phd/epfl/applications/referee?refereeOid=" + referee.getExternalId() + "&count=" + count; page.columnStart().link(url, "Yes").columnEnd().rowEnd(); } else { page.rowStart().header("Referee form submitted:").column("No").rowEnd(); } page.tableEnd(); }
private static void drawThesisRanking( Page page, PhdProgramPublicCandidacyHashCode hashCode, String email) throws IOException { page.h(3, "Thesis Rank", "mtop2"); final PhdIndividualProgramProcess process = hashCode.getIndividualProgramProcess(); page.tableStart("tstyle2"); page.rowStart(); page.header("Rank"); page.header("Name"); page.header("Teacher"); page.header("Description"); page.rowEnd(); Collection<ThesisSubjectOrder> thesisSubjectOrders = process.getThesisSubjectOrdersSorted(); for (ThesisSubjectOrder thesisSubjectOrder : thesisSubjectOrders) { page.rowStart(); page.column(thesisSubjectOrder.getSubjectOrder().toString()); page.column(thesisSubjectOrder.getThesisSubject().getName().getContent()); page.column( thesisSubjectOrder.getThesisSubject().getTeacher() != null ? thesisSubjectOrder.getThesisSubject().getTeacher().getPerson().getName() : ""); page.rowEnd(); } page.tableEnd(); }
private static void drawDocuments( final Page page, final PhdProgramPublicCandidacyHashCode hashCode, final String folderName) throws IOException { page.h(3, "Documents", "mtop2"); final PhdIndividualProgramProcess process = hashCode.getIndividualProgramProcess(); if (!process.getCandidacyProcessDocuments().isEmpty()) { final String documentName = folderName + "-documents.zip"; final String url = APPLICATION_PREFIX_LINK + "/phd/epfl/applications/candidateDocuments?candidateOid=" + hashCode.getExternalId(); page.pStart("mbottom0").link(url, documentName).pEnd(); page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart().header("Document type").header("Upload time").header("Filename").rowEnd(); for (final PhdProgramProcessDocument document : process.getCandidacyProcessDocuments()) { page.rowStart().column(document.getDocumentType().getLocalizedName()); page.column(document.getUploadTime().toString("dd/MM/yyyy HH:mm")); page.column(document.getFilename()).rowEnd(); } page.tableEnd(); } }
private static void drawPhdIndividualProgramInformation( final Page page, final PhdProgramPublicCandidacyHashCode hashCode) throws IOException { final PhdIndividualProgramProcess process = hashCode.getIndividualProgramProcess(); page.h(3, "Application information"); page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart() .headerStartWithStyle("width: 125px;") .write("Candidacy Date:") .headerEnd() .column(process.getCandidacyDate().toString("dd/MM/yyyy")) .rowEnd(); page.rowStart() .header("Area:") .column(process.getPhdProgramFocusArea().getName().getContent()) .rowEnd(); page.rowStart() .header(Unit.getInstitutionAcronym() + " Phd Program:") .column(process.getPhdProgram().getName().getContent(MultiLanguageString.en)) .rowEnd(); if (process.getExternalPhdProgram() != null) { page.rowStart() .header("EPFL Phd Program:") .column(process.getExternalPhdProgram().getName().getContent(MultiLanguageString.en)); } page.rowStart().header("Title:").column(string(process.getThesisTitle())).rowEnd(); page.rowStart().header("Collaboration:").column(process.getCollaborationTypeName()).rowEnd(); page.rowStart().header("Year:").column(process.getExecutionYear().getYear()).rowEnd(); page.tableEnd(); }
private static void candidateInformation(final PhdCandidacyReferee referee, final Page page) throws IOException { page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart("tdbold") .headerStartWithStyle("width: 200px;") .write("Name: ") .headerEnd() .column(referee.getPhdProgramCandidacyProcess().getPerson().getName()) .rowEnd(); page.tableEnd(); }
private static void drawGuiding(final Page page, final PhdParticipant guiding) throws IOException { page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart() .headerStartWithStyle("width: 125px;") .write("Name:") .headerEnd() .column(guiding.getName()) .rowEnd(); page.rowStart().header("Affiliation:").column(guiding.getWorkLocation()).rowEnd(); page.rowStart().header("Email:").column(guiding.getEmail()).rowEnd(); page.tableEnd(); }
private static void letterInformation(final PhdCandidacyReferee referee, final Page page) throws IOException { final PhdCandidacyRefereeLetter letter = referee.getLetter(); page.h(3, "Reference Letter", "mtop2"); page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin"); page.rowStart() .headerStartWithStyle("width: 200px;") .write("How long have you known the applicant?") .headerEnd() .column(string(letter.getHowLongKnownApplicant()) + " months") .rowEnd(); page.rowStart().header("In what capacity?").column(string(letter.getCapacity())).rowEnd(); page.rowStart() .header("Comparison group:") .column(string(letter.getComparisonGroup())) .rowEnd(); page.rowStart() .header("Rank in class (if applicable):") .column(string(letter.getRankInClass())) .rowEnd(); page.rowStart() .header("Academic performance:") .column(string(letter.getAcademicPerformance().getLocalizedName())) .rowEnd(); page.rowStart() .header("Social and Communication Skills:") .column(string(letter.getSocialAndCommunicationSkills().getLocalizedName())) .rowEnd(); page.rowStart() .header("Potential to excel in a PhD:") .column(string(letter.getPotencialToExcelPhd().getLocalizedName())) .rowEnd(); page.rowStart().header("Recomendation letter:"); if (letter.getFile() != null) { page.column(letter.getFile().getDisplayName() + " (file is inside documents zip file)"); } else { page.column("-"); } page.rowEnd(); page.rowStart().header("Comments:").column(string(letter.getComments())).rowEnd(); page.rowStart().header("Name:").column(string(letter.getRefereeName())).rowEnd(); page.rowStart().header("Position/Title:").column(string(letter.getRefereePosition())).rowEnd(); page.rowStart().header("Institution:").column(string(letter.getRefereeInstitution())).rowEnd(); page.rowStart().header("Address:").column(string(letter.getRefereeInstitution())).rowEnd(); page.rowStart().header("City:").column(string(letter.getRefereeCity())).rowEnd(); page.rowStart().header("Zip code:").column(string(letter.getRefereeZipCode())).rowEnd(); page.rowStart() .header("Country:") .column( letter.getRefereeCountry() != null ? letter.getRefereeCountry().getLocalizedName().getContent() : "-") .rowEnd(); page.rowStart().header("Email:").column(string(letter.getRefereeEmail())).rowEnd(); page.tableEnd(); }
private static void drawPersonalInformation( final Page page, final PhdProgramPublicCandidacyHashCode hashCode, final String folderName) throws IOException { final Person person = hashCode.getPerson(); page.h(3, "Personal Information", "mtop2"); page.tableStart("tstyle2 thwhite thnowrap thlight thleft thtop ulnomargin "); page.rowStart("tdbold") .headerStartWithStyle("width: 125px;") .write("Name:") .headerEnd() .column(person.getName()) .rowEnd(); page.rowStart() .header("Gender:") .column(person.getGender().toLocalizedString(Locale.ENGLISH)) .rowEnd(); page.rowStart() .header("Identity card type:") .column(person.getIdDocumentType().getLocalizedName()) .rowEnd(); page.rowStart().header("Identity card #:").column(person.getDocumentIdNumber()).rowEnd(); page.rowStart().header("Issued by:").column(person.getEmissionLocationOfDocumentId()).rowEnd(); page.rowStart() .header("Fiscal number:") .column(string(person.getSocialSecurityNumber())) .rowEnd(); page.rowStart() .header("Date of birth:") .column(person.getDateOfBirthYearMonthDay().toString("dd/MM/yyyy")) .rowEnd(); page.rowStart().header("Birthplace:").column(person.getDistrictSubdivisionOfBirth()).rowEnd(); page.rowStart() .header("Nationality:") .column(person.getCountry().getCountryNationality().getContent()) .rowEnd(); page.rowStart().header("Address:").column(person.getAddress()).rowEnd(); page.rowStart().header("City:").column(person.getArea()).rowEnd(); page.rowStart().header("Zip code:").column(person.getAreaCode()).rowEnd(); page.rowStart() .header("Country:") .column( (person.getCountryOfResidence() != null ? person.getCountryOfResidence().getName() : "-")) .rowEnd(); page.rowStart().header("Phone:").column(person.getDefaultPhoneNumber()).rowEnd(); page.rowStart().header("Mobile:").column(person.getDefaultMobilePhoneNumber()).rowEnd(); page.rowStart().header("Email:").column(person.getDefaultEmailAddressValue()).rowEnd(); page.tableEnd(); page.h(3, "Photo"); String photoUrl = APPLICATION_PREFIX_LINK + "/phd/epfl/applications/photo"; final Photograph photo = person.getPersonalPhotoEvenIfPending(); if (photo != null) { photoUrl += "?photoOid=" + photo.getExternalId(); } page.photo(photoUrl); }