[#assign conclusionDate = conclusionInformation.conclusionDate ]
[#assign conclusionDateExtended = lang.i18n(dates.extendedDate(conclusionInformation.conclusionDate)) ]

[#if conclusionInformation.roundedFinalAverage??]
    [#assign hasNumericGrade = true]
    [#assign gradeAvg = conclusionInformation.roundedFinalAverage!""]
    [#assign gradeWritten = lang.i18n(conclusionInformation.finalAverageDescription)]
    [#if gradeAvg == "0"]
        [#assign hasNumericGrade = false]
    [/#if]
[#else]
    [#assign hasNumericGrade = false]
    [#assign gradeAvg = "---"]
    [#assign gradeWritten = "---"]
[/#if]

[#assign finalGrade = "${gradeAvg} (${gradeWritten})"]

[#assign ectsGrade = conclusionInformation.ectsGrade!"-"]
[#if lang.i18n(conclusionInformation.qualitativeGrade)?has_content]
	[#assign hasQualitativeGrade = true]
	[#assign qualitativeGrade = lang.i18n(conclusionInformation.qualitativeGrade)]
[#else]
	[#assign hasQualitativeGrade = false]
	[#assign qualitativeGrade = "---"]
[/#if]

[#if hasNumericGrade]
    [#assign compiledGradeText = ", ${com}" + " ${a_classificação_final_de} " + gradeAvg + " (" + gradeWritten + ") ${valores}" ]
    [#if hasQualitativeGrade]
        [#if ectsGrade?contains("-")]
            [#assign compiledGradeText = compiledGradeText + " ${e} ${a_qualificação_de} " + qualitativeGrade ]
        [#else]
            [#assign compiledGradeText = compiledGradeText + ", ${a_qualificação_de} " + qualitativeGrade ]
            [#assign compiledGradeText = compiledGradeText + " ${e} ${a_classe} " + ectsGrade + " ${eeccEndSentence}" ]
        [/#if]
    [#else]
        [#if ectsGrade?contains("-")]
            [#-- There no way to call - not expression --]
        [#else]
            [#assign compiledGradeText = compiledGradeText + " ${e} ${a_classe} " + ectsGrade + " ${eeccEndSentence}" ]
        [/#if]    
    [/#if]
[#else]
    [#if hasQualitativeGrade]
        [#assign compiledGradeText = ", ${com} ${a_qualificação_de} " + qualitativeGrade ]
        [#if ectsGrade?contains("-")]
            [#-- There no way to call - not expression --]
        [#else]
            [#assign compiledGradeText = compiledGradeText + " ${e} ${a_classe} " + ectsGrade + " ${eeccEndSentence}" ]
        [/#if]
    [#else]
        [#if ectsGrade?contains("-")]
            [#assign compiledGradeText = ""]
        [#else]
            [#assign compiledGradeText = ", ${com} ${a_classe} " + ectsGrade + " ${eeccEndSentence}" ]
        [/#if]    
    [/#if]
[/#if]

[#if conclusionInformation.isConclusionDateBefore("2013-07-24")]
    [#assign stampSentence = stampOldSentence]
[#else]
    [#assign stampSentence = stampSentence]
[/#if]

[#if serviceRequest.detailed]
    [#assign endPontuation = ":" ]
[#else]
    [#assign endPontuation = "." ]
[/#if]

[#assign hasBranch = false]
[#assign branches = "" ]
[#if registration.lastStudentCurricularPlan.branchCurriculumGroups??]
    [#if registration.lastStudentCurricularPlan.branchCurriculumGroups?size != 0]
        [#assign hasBranch = true]
        [#assign branches_seq = [] ]
        [#list registration.lastStudentCurricularPlan.branchCurriculumGroups as group]
            [#assign tmpGroupName = lang.i18n(group.name)]
            
            [#assign branches_seq = branches_seq + [ tmpGroupName ] ]
        [/#list]
        [#assign branches = branches_seq?join(", ")]
    [/#if]
[/#if]

[#if hasBranch]
    [#assign branchText = " - ${ramo}/${especialidade} ${branches}"]
[#else]
    [#assign branchText = ""]
[/#if]

[#assign diplomaSentence = ""]
[#if conclusionInformation.hasGraduationLevel()]
    [#assign diplomaSentence = "\n\n" + withoutDiplomaSentence]
    [#if diplomaRequested??]
        [#if diplomaRequested]
            [#assign diplomaSentence = "\n\n" + withDiplomaSentence]
        [/#if]
    [/#if]
[/#if]

[#assign honorificTitle = lang.i18n(serviceRequest.programConclusion.graduationTitle)?split(" ")?first]

[#if conclusionInformation.extendedDegreeInfo??]
    [#if conclusionInformation.extendedDegreeInfo.scientificAreas??]
    	[#assign scientificAreas = lang.i18n(conclusionInformation.extendedDegreeInfo.scientificAreas)]
	[#else]
    	[#assign scientificAreas = "Scientific Areas Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.studyProgrammeDuration??]
    	[#assign studyProgrammeDuration = lang.i18n(conclusionInformation.extendedDegreeInfo.studyProgrammeDuration)]
	[#else]
    	[#assign studyProgrammeDuration = "Study Programme Duration Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.studyRegime??]
    	[#assign studyRegime = lang.i18n(conclusionInformation.extendedDegreeInfo.studyRegime)]
	[#else]
    	[#assign studyRegime = "Study Regime Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.studyProgrammeRequirements??]
    	[#assign studyProgrammeRequirements = lang.i18n(conclusionInformation.extendedDegreeInfo.studyProgrammeRequirements)]
	[#else]
	    [#assign studyProgrammeRequirements = "Study Programme Requirements Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.higherEducationAccess??]
    	[#assign higherEducationAccess = lang.i18n(conclusionInformation.extendedDegreeInfo.higherEducationAccess)]
	[#else]
	    [#assign higherEducationAccess = "Higher Education Access Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.professionalStatus??]
    	[#assign professionalStatus = lang.i18n(conclusionInformation.extendedDegreeInfo.professionalStatus)]
	[#else]
	    [#assign professionalStatus = "Professional Status Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.supplementExtraInformation??]
    	[#assign supplementExtraInformation = lang.i18n(conclusionInformation.extendedDegreeInfo.supplementExtraInformation)]
	[#else]
	    [#assign supplementExtraInformation = "Supplement Extra Information Missing"]
	[/#if]
    [#if conclusionInformation.extendedDegreeInfo.supplementOtherSources??]
    	[#assign supplementOtherSources = lang.i18n(conclusionInformation.extendedDegreeInfo.supplementOtherSources)]
	[#else]
	    [#assign supplementOtherSources = "Supplement Other Sources Missing"]
	[/#if]
[#else]
	[#assign scientificAreas = "ExtendedDegreeInfo_Missing"]
	[#assign studyProgrammeDuration = "ExtendedDegreeInfo_Missing"]
	[#assign studyRegime = "ExtendedDegreeInfo_Missing"]
	[#assign studyProgrammeRequirements = "ExtendedDegreeInfo_Missing"]
	[#assign higherEducationAccess = "ExtendedDegreeInfo_Missing"]
	[#assign professionalStatus = "ExtendedDegreeInfo_Missing"]
	[#assign supplementExtraInformation = "ExtendedDegreeInfo_Missing"]
	[#assign supplementOtherSources = "ExtendedDegreeInfo_Missing"]
[/#if]

[#if conclusionInformation.extraCurricularActivities??]
	[#assign hasExtraActivities = true]
[#else]
	[#assign hasExtraActivities = false]
[/#if]

[#assign exAct = [] ]
[#if hasExtraActivities]
    [#list conclusionInformation.extraCurricularActivities as activity]
    	[#if activity.type??]
    	    [#assign tmpName = "${lang.pt(activity.type.name)}"]
    	[#else]
    	    [#assign tmpName = "Activity Name Missing"]
    	[/#if]
    	[#if activity.activityInterval??]
        	[#if activity.activityInterval.start??]
        	    [#assign tmpStart = "${dates.date(activity.activityInterval.start)}"]
        	[#else]
        	    [#assign tmpStart = "Activity Start Missing"]
        	[/#if]
        	[#if activity.activityInterval.end??]
        	    [#assign tmpEnd = "${dates.date(activity.activityInterval.end)}"]
        	[#else]
        	    [#assign tmpEnd = "Activity End Missing"]
        	[/#if]
    	[#else]
            [#assign tmpStart = "Activity Interval Missing"]
    	    [#assign tmpEnd = "Activity Interval Missing"]
    	[/#if]
    
        [#assign tmpMap = { "a" : "${tmpName}", "b" : "${tmpStart}", "c" : "${tmpEnd}" } ]
        [#assign exAct = exAct + [tmpMap] ]
    [/#list]
[/#if]
qubList("exAct")

[#assign exAct = order.sort(exAct, "b a")]


