示例#1
0
 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();
 }
示例#2
0
  // "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();
  }
示例#3
0
  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();
  }
示例#4
0
  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();
    }
  }
示例#5
0
  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();
  }
示例#6
0
 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();
 }
示例#7
0
 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();
 }
示例#8
0
  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();
  }
示例#9
0
  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);
  }