/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
74,6 → 74,7 |
errors.courseunit.assignement.deliver.zip=Por favor escolha um ficheiro comprimido em formato ZIP |
errors.courseunit.assignement.file.type=Por favor escolha um ficheiro comprimido em formato ZIP |
courseunit.students=Estudantes |
courseunit.students.count=Total de estudantes inscritos |
courseunit.assignement.deliver.time=Entregue |
courseunit.assignement.deliver.time.ok=Entregue a Horas |
/impl/conf/directories/utilsIntranet.xml |
---|
2,10 → 2,8 |
<directory place="intranetUtils" label="Utilitários" layout="layoutIntranetUtils" layoutRoot="layoutIntranetUtils" targetRole="student" id="utilsIntranet" menuKey="intranet.separator.utils" style="styleIntranet.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<leaf absolute="false" label="Home Utilitários" layout="true" proxy="estgp" id="utils" url="/intranet/escola/utils.html"/> |
<leaf absolute="false" label="Secretaria" layout="true" proxy="estgp" id="secretaria" url="/intranet/escola/secretaria.html"> |
<leaf label="Calendário Escolar" id="calEscolar" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/CalEscolar"/> |
<leaf label="Calendário de Exames" id="calExames" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/CalExames"/> |
<leaf absolute="false" label="Documentos de Apoio" layout="true" proxy="estgp" id="documentosApoio" url="/intranet/escola/secretaria/documentosApoio.html"/> |
<leaf label="Formulários [alunos]" id="Forms.Alunos" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Forms.Alunos"/> |
<leaf label="Formulários [alunos]" id="Forms.Alunos" absolute="false" style="true" proxy="estgp" layout="true" url="/intranet/escola/secretaria/formulariosAlunos.html"/> |
<leaf absolute="false" label="Legislação" layout="true" proxy="estgp" id="legislacao" url="/intranet/escola/secretaria/legislacao.html"/> |
<leaf label="Folhas de Presenças" id="Folhas.Presencas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Folhas.Presencas"/> |
<leaf label="Projectos-AA,CA,GE,MKT" id="Projectos.Finais" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Projectos.Finais"/> |
16,5 → 14,6 |
<leaf absolute="false" label="Horários de Docentes" layout="true" proxy="estgp" id="horariosDocentes" url="/intranet/escola/horarios_Docentes.html"/> |
<leaf absolute="false" label="Horários de Salas" layout="true" proxy="estgp" id="horariosSalas" url="/intranet/escola/horarios_salas.html"/> |
</leaf> |
<leaf absolute="false" label="Calendário de Exames" layout="true" proxy="estgp" id="exames" url="/intranet/escola/Exames.html"/> |
<leaf label="Calendário Escolar" id="calEscolar" absolute="true" url="ftp://www.global.estgp.pt/Intranet/Escola/Secretaria/CalEscolar/CL20082009.pdf"/> |
<leaf absolute="false" label="Calendário de Exames" layout="true" proxy="estgp" id="exames" url="/intranet/escola/Exames.html"/> |
</directory> |
/impl/conf/directories/styleIntranet.xsl |
---|
2,9 → 2,17 |
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cmPort="http://www.cm-portalegre.pt/projectos/" version="1.0" xmlns:saxon="http://saxon.sf.net/" extension-element-prefixes="saxon" xmlns:d="http://www.estgp.pt/baco/directory/" xmlns:foo="foo" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" |
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > |
<xsl:import href="style1.xsl"/> |
<xsl:template match="d:leaf" mode="topNav"> |
<xsl:template name="homeLink"> |
<a> |
<xsl:attribute name="href"><xsl:value-of select="$contextPath"/>/dir/<xsl:value-of select="/d:directory/@id"/>/<xsl:value-of select="/d:directory/*[1]/@id"/><xsl:value-of select="/d:directory/*[1]/@url"/></xsl:attribute> |
<xsl:value-of select="/d:directory/@label"/> |
</a> |
</xsl:template> |
<xsl:template match="d:leaf" mode="topNav"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<div id="topnav"> |
<ul> |
78,9 → 86,10 |
</xsl:if> |
<li class="navPlace"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<xsl:if test="local-name(..) = 'directory'"> |
<xsl:call-template name="homeLink"/> |
</xsl:if> |
> |
</xsl:if> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
91,10 → 100,10 |
</xsl:if> |
<li class="navPlace"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
> |
</xsl:if> |
<xsl:apply-templates select="." mode="link"/> |
<xsl:if test="local-name(..) = 'directory'"> |
<xsl:call-template name="homeLink"/> |
</xsl:if> |
> <xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
180,6 → 189,6 |
</xsl:template> |
</xsl:stylesheet> |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java |
---|
7,10 → 7,7 |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import java.io.Serializable; |
import java.util.Set; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.HashSet; |
import java.util.*; |
/** |
* @author Jorge Machado |
42,6 → 39,8 |
private CourseUnit courseUnit; |
private Set<UserView> teachers; |
private Set<UserView> students; |
private List<UserView> studentsOrderedByName; |
private List<UserView> studentsOrderedByNumber; |
private String objectives; |
private String programStreamId; |
490,4 → 489,54 |
} |
return strBuilder.toString(); |
} |
public List<UserView> getStudentsOrderedByNumber() |
{ |
if(studentsOrderedByNumber == null && students != null) |
{ |
studentsOrderedByNumber = new ArrayList(students); |
Collections.sort(studentsOrderedByNumber,new Comparator<UserView>() |
{ |
public int compare(UserView o1, UserView o2) |
{ |
if(o1 == null) |
return 1; |
if(o2 == null) |
return -1; |
if(o1.getCode() > o2.getCode()) |
return 1; |
else if(o1.getCode() < o2.getCode()) |
return -1; |
else |
return 0; |
} |
} |
); |
} |
return studentsOrderedByNumber; |
} |
public List<UserView> getStudentsOrderedByName() |
{ |
if(studentsOrderedByName == null && students != null) |
{ |
studentsOrderedByName = new ArrayList(students); |
Collections.sort(studentsOrderedByName,new Comparator<UserView>() |
{ |
public int compare(UserView o1, UserView o2) |
{ |
if(o1 == null || o1.getName() == null) |
return 1; |
if(o2 == null || o2.getName() == null) |
return -1; |
return o1.getName().compareTo(o2.getName()); |
} |
} |
); |
} |
return studentsOrderedByName; |
} |
} |
/impl/src/web/user/courseunits/students.jsp |
---|
22,17 → 22,25 |
} |
request.setAttribute("user", user); |
request.setAttribute("fromAction", fromAction); |
String orderBy = request.getParameter("order"); |
if(orderBy != null && orderBy.equals("byNumber")) |
request.setAttribute("students",CourseUnitView.getStudentsOrderedByNumber()); |
else |
request.setAttribute("students",CourseUnitView.getStudentsOrderedByName()); |
%> |
<div id="contentIntranet"> |
<div id="contentPane"> |
<p><bean:message key="courseunit.students.count"/>: ${CourseUnitView.studentsSize}</p> |
<table class="dataTable"> |
<tr> |
<th><bean:message key="number"/></th> |
<th><bean:message key="name"/></th> |
<th><html:link action="${user}/startLoadCourseUnitStudents${fromAction}?courseUnitView.id=${CourseUnitView.id}&order=byNumber"><bean:message key="number"/></html:link></th> |
<th><html:link action="${user}/startLoadCourseUnitStudents${fromAction}?courseUnitView.id=${CourseUnitView.id}&order=byName"><bean:message key="name"/></html:link></th> |
<th><bean:message key="user"/></th> |
<th><bean:message key="email"/></th> |
</tr> |
<logic:iterate id="student" name="CourseUnitView" property="students" type="pt.estgp.estgweb.domain.views.UserView"> |
<logic:iterate id="student" name="students" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<td> |
${student.code} |