/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
168,7 → 168,14 |
courseunit.program.cargaHorariaOT=OT |
courseunit.evaluation=Ficha de Avalia\u00e7\u00e3o da Unidade Curricular |
courseunit.evaluation.mapa1=Mapa 1 |
courseunit.evaluation.mapa1.desc=Dados relativos ao processo de avalia\u00e7\u00e3o |
courseunit.menu.evaluation=Relat\u00f3rio de Avalia\u00e7\u00e3o |
courseunit.evaluation.success=Ficha de Avalia\u00e7\u00e3o alterada com sucesso |
courseunit.consultaroutros=Consultar outros programas |
courseunit.confirmaclonagem=Tem a certeza que deseja clonar o programa do ano na caixa de selecção para este programa actualmente aberto para edição? Vai gerar uma nova versão de programa e a anterior será arquivada em PDF. |
/impl/conf/WEB-INF/struts/struts-courseunits.xml |
---|
9,6 → 9,7 |
<form-beans> |
<form-bean type="pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm" name="CourseUnitsForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm" name="CourseUnitProgramForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.courseunits.CourseUnitEvaluationForm" name="CourseUnitEvaluationForm"/> |
</form-beans> |
<global-exceptions> |
31,6 → 32,9 |
<action path="/startLoadCourseUnit" forward="/courseUnitController.do?dispatch=load"/> |
<action path="/startLoadTeacherCourseUnit" forward="/courseUnitController.do?dispatch=loadTeacher"/> |
<action path="/startLoadStudentCourseUnit" forward="/courseUnitController.do?dispatch=loadStudent"/> |
<action path="/startLoadCourseUnitSiges" forward="/courseUnitController.do?dispatch=loadCourseUnitWebSiteBySigesCodes"/> |
<action path="/courseUnitController" |
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController" |
name="CourseUnitsForm" |
58,6 → 62,20 |
<forward name="edit.program" path="page.edit.courseunit.program"/> |
</action> |
<action path="/user/startLoadCourseUnitEvaluation" forward="/user/courseUnitEvaluationController.do?dispatch=editEvaluation"/> |
<action path="/user/courseUnitEvaluationController" |
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsEvaluationController" |
name="CourseUnitEvaluationForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.welcome"> |
<forward name="load" path="page.load.courseunit"/> |
<forward name="edit.evaluation" path="page.edit.courseunit.evaluation"/> |
</action> |
<!--<action path="/user/startLoadCourseUnitFromHome" forward="page.load.courseunit.from.home"/>--> |
<action path="/user/startLoadCourseUnitRootFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadRoot&from=Home"/> |
74,6 → 92,10 |
<action path="/user/startLoadCourseUnitFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=load&from=Home"/> |
<action path="/user/startLoadTeacherCourseUnitFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadTeacher&from=Home"/> |
<action path="/user/startLoadStudentCourseUnitFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadStudent&from=Home"/> |
<action path="/user/startLoadCourseUnitSigesFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadCourseUnitWebSiteBySigesCodes&from=Home"/> |
<action path="/user/courseUnitControllerFromHome" |
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController" |
name="CourseUnitsForm" |
/impl/conf/WEB-INF/struts/tiles-courseunits.xml |
---|
20,6 → 20,14 |
<put name="body" value="/user/courseunits/courseunitworks.jsp"/> |
</definition> |
<definition name="page.edit.courseunit.evaluation" extends="page.separators.home"> |
<put name="title" value="Ficha de Avaliação da Unidade Curricular"/> |
<put name="topnav" value="/user/courseunits/topnavEvaluation.jsp"/> |
<put name="navigation" value="/user/courseunits/menu.jsp"/> |
<put name="body" value="/user/courseunits/courseunitEvaluation.jsp"/> |
</definition> |
<definition name="page.edit.courseunit.program" extends="base.layout1"> |
<put name="title" value="Ficha da Unidade Curricular"/> |
<put name="topnav" value="/public/courseunits/topnavCourseUnitProgram.jsp"/> |
/impl/conf/app.properties |
---|
83,6 → 83,7 |
module.assessments=true |
module.processes=true |
module.courseunitevaluation=true |
################################################## |
# SMS |
# |
106,6 → 107,12 |
ionline.user=Baco_web |
ionline.use.default.credentials.to.updates.and.deletes=false |
server.grupos=ftp://ftppublic:ftppublic@w2.estgp.pt |
server.grupos.start.path=/grupos |
grupos.pass=ftppublic |
grupos.user=ftppublic |
server.estgp.start.path= |
server.estgp=http://localhost:9090/static |
estgp.encoding=UTF-8 |
/impl/conf/directories/futureStudent.xml |
---|
53,10 → 53,16 |
</node> |
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Departamental"></leaf> |
</node> |
<node label="Informação Académica" id="infoAcademica" group="2"> |
/impl/conf/directories/student.xml |
---|
20,7 → 20,7 |
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</node> |
<node label="Biblioteca" id="biblioteca" group="1"> |
<node label="Biblioteca" id="biblioteca" group="1"> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf> |
43,10 → 43,15 |
</node> |
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Diretor"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/conteudos/pagina.php?id=34" proxy="conteudos" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Interdepartamental"></leaf> |
</node> |
/impl/conf/directories/teacher.xml |
---|
42,13 → 42,15 |
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioDocentes.html" proxy="estgp" id="PALVErasmusFomularioDocentes" label="Formulários Docentes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</node> |
><node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label="--> Pasta Docs" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoInterdepartamental" label="Conselho Interdepartamental"></leaf> |
</node> |
<node label="Informação Académica" id="infoAcademica" group="2"> |
/impl/conf/berserk/sd.xml |
---|
810,6 → 810,17 |
</service> |
<service> |
<name>SaveCourseUnitEvaluation</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.SaveCourseUnitEvaluation</implementationClass> |
<description>Save course unit evaluation</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
</filterChains> |
</service> |
<service> |
<name>LoadCourseUnitsBySigesCodes</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass> |
<description>Load course old units</description> |
819,7 → 830,20 |
<chain name="Session"/> |
</filterChains> |
</service> |
<service> |
<name>LoadCourseUnitsBySigesCodesSemestreLastYear</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass> |
<description>Load a unique unit by sigescode, semestre and course code</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadLastYear</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
</filterChains> |
</service> |
<service> |
<name>LoadCourseUnitWorks</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.CourseUnitWorkService</implementationClass> |
<description>Load course unit works</description> |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
246,6 → 246,8 |
public static final boolean MODULE_STATUS_ASSESSMENTS = ConfigProperties.getBooleanProperty("module.assessments"); |
//Filipe Matos |
public static final boolean MODULE_STATUS_COURSEUNITEVALUATION = ConfigProperties.getBooleanProperty("module.courseunitevaluation"); |
public static final boolean MODULE_STATUS_PROCESSES = ConfigProperties.getBooleanProperty("module.processes"); |
/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java |
---|
24,7 → 24,9 |
import java.io.PrintWriter; |
import java.io.StringWriter; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
139,7 → 141,9 |
try |
{ |
Document dom = Dom4jUtil.parse(stream); |
String html = Dom4jUtil.styleDocument(dom, Globals.TEMPLATE_COURSE_XSL_PATH); |
Map<String,Object> parameters = new HashMap<String,Object>(); |
parameters.put("COURSE_SIGES_CODE",c.getCode()); |
String html = Dom4jUtil.styleDocument(dom, Globals.TEMPLATE_COURSE_XSL_PATH,parameters); |
c.setCacheWebDocument(html); |
} |
catch (Exception e) |
/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitEvaluation.java |
---|
New file |
0,0 → 1,99 |
package pt.estgp.estgweb.services.courseunits; |
import jomm.utils.PdfUtils; |
import org.apache.fop.apps.FOPException; |
import org.apache.log4j.Logger; |
import org.dom4j.*; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.CourseUnitEvaluationView; |
import pt.estgp.estgweb.domain.views.CourseUnitProgramView; |
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum; |
import pt.estgp.estgweb.services.data.RepositoryService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.utils.Dom4jUtil; |
import pt.estgp.estgweb.utils.StringsUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import javax.xml.transform.TransformerException; |
import javax.xml.transform.dom.DOMSource; |
import java.io.File; |
import java.io.FileInputStream; |
import java.io.FileOutputStream; |
import java.io.IOException; |
import java.text.SimpleDateFormat; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
*/ |
/** |
* @author Jorge Machado |
* |
* |
* So pode editar o programa da unidade o coordenador do curso ou o responsavel da unidade |
* ou o docente da unidade ou tem o role de validacao do curso a comissao de curso |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
*/ |
public class SaveCourseUnitEvaluation implements IService |
{ |
private static final Logger logger = Logger.getLogger(SaveCourseUnitEvaluation.class); |
public CourseUnitEvaluationView run(CourseUnitEvaluationView cupv, Long coursUnitId, UserSession usession) throws ServiceException, TransformerException, IOException, FOPException { |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(coursUnitId); |
CourseUnitEvaluation evaluation = c.getCourseUnitEvaluation(); |
if(evaluation == null) |
{ |
evaluation = new CourseUnitEvaluationImpl(); |
DaoFactory.getCourseUnitEvaluationDaoImpl().save(evaluation); |
c.setCourseUnitEvaluation(evaluation); |
} |
// |
if(usession.getUser() instanceof Teacher && |
((((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true)) |
|| |
(c.getResponsableTeacher()!=null && usession.getUser().getId() == c.getResponsableTeacher().getId()) |
)) |
{ |
cupv.persistViewInObjectTeacher(evaluation); |
} |
if(usession.getUser() instanceof Teacher |
&& (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
|| |
((usession.getUser()) == c.getCourse().getCoordinator())) |
) |
{ |
cupv.persistViewInObjectTeacher(evaluation); |
} |
List<String> errors = new ArrayList<String>(); |
if(usession.getUser() instanceof Teacher) |
DirectedCoordinatedUnitsService.sendNotificationsEditedInterestedPeople(c,usession); |
else |
{ |
logger.info("Nao vai informar docentes"); |
} |
return cupv; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadCourseUnitsBySigesCodesService.java |
---|
39,4 → 39,24 |
} |
return courseUnitViews; |
} |
public CourseUnitView loadLastYear(String code, String courseCode, String semestre, UserSession userSession) throws ServiceException { |
if(semestre.equals("S3")) |
semestre = "S1"; |
else if(semestre.equals("S4")) |
semestre = "S2"; |
else if(semestre.equals("S5")) |
semestre = "S1"; |
else if(semestre.equals("S6")) |
semestre = "S2"; |
else if(semestre.startsWith("A")) |
semestre = "A"; |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueLastYear(code, courseCode,semestre); |
if(courseUnit == null) |
return null; |
return new CourseUnitView(courseUnit); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/ProcessEventImpl.java |
---|
176,4 → 176,35 |
} |
return false; |
} |
@Override |
public String toString() { |
return "ProcessEvent{" + |
"id=" + getId() + |
", updateDate=" + getUpdateDate() + |
", openDate=" + getOpenDate() + |
", acceptedDate=" + getAcceptedDate() + |
", dispatchedDate=" + getDispatchedDate() + |
", lastChangeDate=" + getLastChangeDate() + |
", closeDate=" + getCloseDate() + |
", nowState='" + getNowState() + '\'' + |
", accepted=" + isAccepted() + |
", destinationRole='" + getDestinationRole() + '\'' + |
", notes='" + getNotes() + '\'' + |
", notesAccessLevel='" + getNotesAccessLevel() + '\'' + |
", notesAccessIdentifiers='" + getNotesAccessIdentifiers() + '\'' + |
", notesAccessRoles='" + getNotesAccessRoles() + '\'' + |
", notesToStarter='" + getNotesToStarter() + '\'' + |
", process=" + getProcess().getId() + |
", previousEvent=" + getPreviousEvent().getId() + |
", nextEvent=" + |
", owner=" + getOwner().getUsername() + |
", files=" + getFiles() + |
'}'; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitEvaluationView.java |
---|
New file |
0,0 → 1,70 |
package pt.estgp.estgweb.domain.views; |
import pt.estgp.estgweb.domain.CourseUnitEvaluation; |
import pt.estgp.estgweb.domain.CourseUnitEvaluationImpl; |
import pt.estgp.estgweb.domain.CourseUnitProgram; |
import pt.estgp.estgweb.domain.CourseUnitProgramImpl; |
import java.io.Serializable; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
* @time 19:34:49 |
* @see pt.estgp.estgweb.domain.views |
*/ |
public class CourseUnitEvaluationView extends DomainObjectView |
{ |
private CourseUnitEvaluation courseUnitEvaluation; |
public Class getReferenceClass() |
{ |
return CourseUnitEvaluationImpl.class; |
} |
public Serializable getSerializable() |
{ |
return courseUnitEvaluation.getId(); |
} |
public CourseUnitEvaluationView() |
{ |
} |
public CourseUnitEvaluation getCourseUnitEvaluation() { |
return courseUnitEvaluation; |
} |
public void setCourseUnitEvaluation(CourseUnitEvaluation courseUnitEvaluation) { |
this.courseUnitEvaluation = courseUnitEvaluation; |
} |
public CourseUnitEvaluationView(CourseUnitEvaluation courseUnitEvaluation) |
{ |
super(courseUnitEvaluation); |
this.courseUnitEvaluation = courseUnitEvaluation; |
} |
public void persistViewInObjectTeacher(CourseUnitEvaluation c) |
{ |
c.setNumAlunosAprov1013(courseUnitEvaluation.getNumAlunosAprov1013()); |
c.setNumAlunosAprov1416(courseUnitEvaluation.getNumAlunosAprov1416()); |
c.setNumAlunosAprov1720(courseUnitEvaluation.getNumAlunosAprov1720()); |
c.setNumAlunosAprovados(courseUnitEvaluation.getNumAlunosAprovados()); |
c.setNumAlunosAprovEspecial(courseUnitEvaluation.getNumAlunosAprovEspecial()); |
c.setNumAlunosAprovFrequencia(courseUnitEvaluation.getNumAlunosAprovFrequencia()); |
c.setNumAlunosAprovNormal(courseUnitEvaluation.getNumAlunosAprovNormal()); |
c.setNumAlunosAprovRecurso(courseUnitEvaluation.getNumAlunosAprovRecurso()); |
c.setNumAlunosAprovTotal(courseUnitEvaluation.getNumAlunosAprovTotal()); |
c.setNumAlunosInscritos(courseUnitEvaluation.getNumAlunosInscritos()); |
c.setNumAlunosReprovados(courseUnitEvaluation.getNumAlunosReprovados()); |
c.setNumAlunosSemElementosAvaliacao(courseUnitEvaluation.getNumAlunosSemElementosAvaliacao()); |
c.setQualApreciacaoCumprimentoPrograma(courseUnitEvaluation.getQualApreciacaoCumprimentoPrograma()); |
c.setQualApreciacaoQuantitivos(courseUnitEvaluation.getQualApreciacaoQuantitivos()); |
c.setQualApreciacaoUC(courseUnitEvaluation.getQualApreciacaoUC()); |
c.setQualConclusoes(courseUnitEvaluation.getQualConclusoes()); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
311,4 → 311,9 |
{ |
return new DigitalDeliveryTargetImpl(); |
} |
public static CourseUnitEvaluationImpl createCourseUnitEvaluationImpl() |
{ |
return new CourseUnitEvaluationImpl(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/ProcessImpl.java |
---|
63,4 → 63,29 |
{ |
return user.isSuperuser() || user.hasRole(Globals.ROLE_PROCESSES_ADMIN) || user.getId() == getLastEvent().getOwner().getId(); |
} |
public boolean canRemoveLastEvent(User user) |
{ |
if(getLastEvent().getPreviousEvent() == null) |
{ |
//cant delete first event |
return false; |
} |
if(user.isSuperuserOrAdmin()) |
{ |
return true; |
} |
//check if this event starts in this user looking to previous event |
else if(!getLastEvent().isAccepted() && |
getLastEvent().getPreviousEvent() != null && |
user.getId() == getLastEvent().getPreviousEvent().getOwner().getId()) |
{ |
return true; |
} |
else |
{ |
return false; |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
220,8 → 220,14 |
.uniqueResult(); |
} |
public List<CourseUnit> loadBySigesCodeUnique(String sigesCode, String courseCode, String year) |
public CourseUnit loadBySigesCodeUniqueLastYear(String sigesCode, String courseCode, String semestre) |
{ |
return loadBySigesCodeUnique(sigesCode,courseCode,semestre,DatesUtils.getImportYear()); |
} |
public List<CourseUnit> loadBySigesCodeUnique(String sigesCode, String courseCode, String year) |
{ |
return createCriteria() |
.add(eq("code", sigesCode)) |
.add(eq("courseCode", courseCode)) |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitEvaluationDaoImpl.java |
---|
New file |
0,0 → 1,31 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.CourseUnitQuestion; |
import pt.estgp.estgweb.utils.DatesUtils; |
import java.util.List; |
import static org.hibernate.criterion.Restrictions.eq; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 2:51:06 |
* @see pt.estgp.estgweb.domain.dao.impl |
*/ |
public class CourseUnitEvaluationDaoImpl extends CourseUnitEvaluationDao |
{ |
private CourseUnitEvaluationDaoImpl() |
{ |
} |
public static CourseUnitEvaluationDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new CourseUnitEvaluationDaoImpl(); |
return (CourseUnitEvaluationDaoImpl) myInstance; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java |
---|
304,4 → 304,9 |
{ |
return DigitalDeliveryCategoryDaoImpl.getInstance(); |
} |
public static CourseUnitEvaluationDaoImpl getCourseUnitEvaluationDaoImpl() |
{ |
return CourseUnitEvaluationDaoImpl.getInstance(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitEvaluationImpl.java |
---|
New file |
0,0 → 1,13 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
/** |
* Created by jorgemachado on 03/06/14. |
*/ |
public class CourseUnitEvaluationImpl extends CourseUnitEvaluation { |
@Override |
public Serializable getSerializable() { |
return getId(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/DirWebProxy.java |
---|
191,7 → 191,7 |
} |
catch (Exception e) |
{ |
logger.error(e,e); |
logger.error(e, e); |
throw new IOException(e.toString()); |
} |
} |
451,6 → 451,7 |
String actualNodeId = (String) request.getAttribute("actualNodeId"); |
String actualRemoteNodeId = (String) request.getAttribute("ACTUAL_REMOTE_CHILD"); |
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request); |
System.out.println("Using stylesheet = " + stylesheet); |
parameters.put("contextPath", request.getContextPath()); |
String username = "descolnhecido"; |
/impl/src/java/pt/estgp/estgweb/web/form/courseunits/CourseUnitEvaluationForm.java |
---|
New file |
0,0 → 1,64 |
package pt.estgp.estgweb.web.form.courseunits; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.CourseUnitProgramImpl; |
import pt.estgp.estgweb.domain.CourseUnitProgramPart2Impl; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.views.CourseUnitEvaluationView; |
import pt.estgp.estgweb.domain.views.CourseUnitProgramView; |
import pt.estgp.estgweb.domain.views.CourseUnitView; |
/** |
* @author Jorge Machado |
* @date 2/Jun/2008 |
* @time 14:28:59 |
* @see pt.estgp.estgweb.web.form.blogs |
*/ |
public class CourseUnitEvaluationForm extends CourseUnitsForm |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitEvaluationForm.class); |
CourseUnitEvaluationView courseUnitEvaluationView = new CourseUnitEvaluationView(); |
long courseUnitId; |
public CourseUnitEvaluationForm(CourseUnitEvaluationView courseUnitEvaluationView, CourseUnitView courseUnitView, long courseUnitId) { |
this.courseUnitEvaluationView = courseUnitEvaluationView; |
this.courseUnitView = courseUnitView; |
this.courseUnitId = courseUnitId; |
} |
public CourseUnitEvaluationForm() |
{ |
courseUnitEvaluationView.setCourseUnitEvaluation(DomainObjectFactory.createCourseUnitEvaluationImpl()); |
} |
public CourseUnitEvaluationView getCourseUnitEvaluationView() { |
return courseUnitEvaluationView; |
} |
public void setCourseUnitEvaluationView(CourseUnitEvaluationView courseUnitEvaluationView) { |
this.courseUnitEvaluationView = courseUnitEvaluationView; |
} |
public CourseUnitView getCourseUnitView() { |
return courseUnitView; |
} |
public void setCourseUnitView(CourseUnitView courseUnitView) { |
this.courseUnitView = courseUnitView; |
} |
public long getCourseUnitId() { |
return courseUnitId; |
} |
public void setCourseUnitId(long courseUnitId) { |
this.courseUnitId = courseUnitId; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsEvaluationController.java |
---|
New file |
0,0 → 1,127 |
package pt.estgp.estgweb.web.controllers.courseunits; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.domain.CourseUnitEvaluationImpl; |
import pt.estgp.estgweb.domain.CourseUnitProgram; |
import pt.estgp.estgweb.domain.CourseUnitProgramImpl; |
import pt.estgp.estgweb.domain.CourseUnitProgramPart2Impl; |
import pt.estgp.estgweb.domain.views.CourseUnitEvaluationView; |
import pt.estgp.estgweb.domain.views.CourseUnitProgramView; |
import pt.estgp.estgweb.domain.views.CourseUnitView; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitEvaluationForm; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
/** |
* @author Jorge Machado |
* @author Fabio Velez |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class CourseUnitsEvaluationController extends CourseUnitsController |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitsEvaluationController.class); |
public ActionForward editEvaluation(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
long id = cUF.getCourseUnitId(); |
if(id <= 0) |
id = cUF.getCourseUnitView().getId(); |
CourseUnitView cV = loadCourseUnitViewAndCourse(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
CourseUnitEvaluationView cpv; |
if(cV.getCourseUnit().getCourseUnitEvaluation() == null) |
cpv = new CourseUnitEvaluationView(new CourseUnitEvaluationImpl()); |
else |
cpv = new CourseUnitEvaluationView(cV.getCourseUnit().getCourseUnitEvaluation()); |
// request.setAttribute("CourseUnitProgramView", cpv); |
cUF.setCourseUnitEvaluationView(cpv); |
cUF.setCourseUnitView(cV); |
return mapping.findForward("edit.evaluation"); |
} |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (NotFoundException e) |
{ |
return mapping.findForward("error404"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
public ActionForward saveEvaluation(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
long id = cUF.getCourseUnitView().getId(); |
CourseUnitEvaluationView cuV = cUF.getCourseUnitEvaluationView(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{cuV, id}; |
sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
CourseUnitView cV = loadCourseUnitView(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
addMessage(request,"courseunit.evaluation.success"); |
return mapping.findForward("load"); |
} |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (NotFoundException e) |
{ |
return mapping.findForward("error404"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsController.java |
---|
194,6 → 194,39 |
} |
} |
public ActionForward loadCourseUnitWebSiteBySigesCodes(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
CourseUnitsForm cUF = (CourseUnitsForm) form; |
String unitCode = request.getParameter("unitCode"); |
String courseCode = request.getParameter("courseCode"); |
String semestre = request.getParameter("semestre"); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{unitCode,courseCode,semestre}; |
CourseUnitView cUV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitsBySigesCodesSemestreLastYear", args, names); |
return loadCourseUnitAndForward(cUF,cUV.getId() ,true,false, mapping, request, response); |
} |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
public ActionForward loadStudents(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml |
---|
31,6 → 31,7 |
<many-to-one name="validatorUser" class="pt.estgp.estgweb.domain.Teacher" lazy="false" outer-join="true"/> |
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="false" outer-join="true"/> |
<many-to-one name="courseUnitProgram" class="pt.estgp.estgweb.domain.CourseUnitProgram" lazy="false" outer-join="true"/> |
<many-to-one name="courseUnitEvaluation" class="pt.estgp.estgweb.domain.CourseUnitEvaluation" lazy="false" outer-join="true"/> |
<many-to-one name="responsableTeacher" class="pt.estgp.estgweb.domain.Teacher" lazy="false" outer-join="true"/> |
<set name="blogs" cascade="delete" lazy="true" order-by="saveDate asc"> |
<key column="courseUnit"/> |
226,6 → 227,41 |
</class> |
<class name="pt.estgp.estgweb.domain.CourseUnitEvaluation" table="courseunitevaluation" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
<generator class="native"/> |
</id> |
<discriminator column="discrimitator"/> |
<timestamp source="db" name="updateDate" unsaved-value="null"/> |
<property name="saveDate" type="timestamp"/> |
<property name="numAlunosInscritos" type="text"/> |
<property name="numAlunosSemElementosAvaliacao" type="integer"/> |
<property name="numAlunosAprovFrequencia" type="integer"/> |
<property name="numAlunosAprovNormal" type="integer"/> |
<property name="numAlunosAprovRecurso" type="integer"/> |
<property name="numAlunosAprovEspecial" type="integer"/> |
<property name="numAlunosAprovTotal" type="integer"/> |
<property name="numAlunosAprov1013" type="integer"/> |
<property name="numAlunosAprov1416" type="integer"/> |
<property name="numAlunosAprov1720" type="integer"/> |
<property name="numAlunosAprovados" type="integer"/> |
<property name="numAlunosReprovados" type="integer"/> |
<property name="qualApreciacaoQuantitivos" type="text"/> |
<property name="qualApreciacaoUC" type="text"/> |
<property name="qualApreciacaoCumprimentoPrograma" type="text"/> |
<property name="qualConclusoes" type="text"/> |
<subclass name="pt.estgp.estgweb.domain.CourseUnitEvaluationImpl" discriminator-value="CourseUnitEvaluationImpl"/> |
</class> |
<!--<class name="pt.estgp.estgweb.domain.CourseUnit" table="courseunitassignement" abstract="true">--> |
<!--<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>--> |
<!--<meta attribute="scope-class">public abstract</meta>--> |
/impl/src/web/public/courses/studiesPlan.jsp |
---|
18,7 → 18,7 |
<ul> |
<logic:iterate id="courseUnitView" name="CourseView" property="courseUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<li> |
${courseUnitView.name} |
${courseUnitView.name} (${courseUnitView.code}) |
</li> |
</logic:iterate> |
</ul> |
/impl/src/web/public/courseunits/topnavCourseUnitEvaluation.jsp |
---|
New file |
0,0 → 1,13 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@ page import="jomm.web.utils.NavPlaceServer" %> |
<%@ page import="jomm.web.utils.TopNav" %> |
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "course", CourseUnitView.getCourseName()); |
topNav.addNavPlace("/startLoadCourseUnit.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace(null, "courseunit.evaluation"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/courseunits/courseunitEvaluation.jsp |
---|
New file |
0,0 → 1,229 |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="java.util.ArrayList" %> |
<%@ page import="pt.estgp.estgweb.domain.Teacher" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<jsp:useBean id="CourseUnitEvaluationForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitEvaluationForm" scope="request"/> |
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/> |
<%--<jsp:useBean id="CourseUnitProgramView" type="pt.estgp.estgweb.domain.views.CourseUnitProgramView" scope="request"/>--%> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<div id="contentIntranet"> |
<div id="contentPane"> |
<html:errors/> |
<jomm:messages/> |
<% |
IServiceManager sm = ServiceManager.getInstance(); |
List<pt.estgp.estgweb.domain.views.CourseUnitView> otherYearUnits; |
otherYearUnits = new ArrayList<pt.estgp.estgweb.domain.views.CourseUnitView>(); |
try{ |
String[] names = new String[]{}; |
Object[] args = new Object[]{new Long(CourseUnitView.getId())}; |
otherYearUnits = |
(List<pt.estgp.estgweb.domain.views.CourseUnitView>) |
sm.execute(RequestUtils.getRequester(request, response), "LoadUnitOtherYearsWithProgram", args, names); |
request.setAttribute("OtherYearUnits", otherYearUnits); |
names = new String[]{}; |
args = new Object[]{}; |
List<Teacher> teachers = (List<Teacher>) |
sm.execute(RequestUtils.getRequester(request, response), "LoadTeachers", args, names); |
request.setAttribute("teachers", teachers); |
}catch(Exception e) |
{ |
System.err.print(e.toString()); |
e.printStackTrace(); |
} |
%> |
<div class="seccao"> |
<h2> |
<bean:message key="courseunit.evaluation"/> |
</h2> |
<% |
boolean editCoordinatorPart = false; |
boolean editTeacherPart = false; |
pt.estgp.estgweb.domain.User u = UserSession.getUser(); |
if(u.isSuperuserOrAdmin()) |
{ |
editCoordinatorPart = true; |
editTeacherPart = true; |
} |
else |
{ |
if(u instanceof pt.estgp.estgweb.domain.Teacher) |
{ |
pt.estgp.estgweb.domain.Teacher t = (pt.estgp.estgweb.domain.Teacher) u; |
if(t.isTeacherOfCourseUnit(CourseUnitView.getId())) |
{ |
editTeacherPart = true; |
} |
if(CourseUnitView.getCourseView().getCoordinator() != null && (t.getId() == CourseUnitView.getCourseView().getCoordinator().getId() || t.hasRole(CourseUnitView.getCourseView().getValidationRole()))) |
{ |
editCoordinatorPart = true; |
} |
} |
} |
%> |
<% |
//todo é necessário um servico para ver se tem estes papeis |
if(CourseUnitView.getResponsableTeacher().getId() == UserSession.getUser().getId() |
|| |
CourseUnitView.isOwnedBy(UserSession.getUser(),false) |
|| |
//Validation Role e o papel da comissão de curso |
UserSession.getUser().hasRole(CourseUnitView.getCourseView().getValidationRole())) |
{ |
%> |
<html:form action="/user/courseUnitEvaluationController"> |
<input type="hidden" name="dispatch" value="saveEvaluation"> |
<html:hidden property="id"/> |
<html:hidden property="courseUnitView.id"/> |
<%--DOCENTE--%> |
<table class="dataTable tableDisabled" width="100%"> |
<tr> |
<th colspan="2">Dados alterados pelo Docente da Unidade</th> |
</tr> |
<tr> |
<th align="right"><bean:message key="courseunit.evaluation.mapa1"/></th> |
<td width="80%"> |
<h3><bean:message key="courseunit.evaluation.mapa1.desc"/></h3> |
<table class="dataTable" width="100%"> |
<tr> |
<th rowspan="2"> |
Nº Alunos Inscritos |
</th> |
<th rowspan="2"> |
Nº de alunos sem elementos de avaliação |
</th> |
<th colspan="5"> |
Nº de alunos aprovados em |
</th> |
<th rowspan="2"> |
Aprovados com a classificação entre 10 e 13 valores (%) |
</th> |
<th rowspan="2"> |
Aprovados com a classificação entre 14 e 16 valores (%) |
</th> |
<th rowspan="2"> |
Aprovados com a classificação entre 17 e 20 valores (%) |
</th> |
</tr> |
<tr> |
<th>Avaliação de frequência</th> |
<th>Exame Época Normal</th> |
<th>Exame Época Recurso</th> |
<th>Exame Época Especial</th> |
<th>Total</th> |
</tr> |
<tr> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosInscritos"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosSemElementosAvaliacao"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovFrequencia"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovNormal"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovRecurso"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovEspecial"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovTotal"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprov1013"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprov1416"/> |
</td> |
<td align="center"> |
<html:text size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprov1720"/> |
</td> |
</tr> |
</table> |
</td> |
</tr> |
<tr> |
<th> |
Auto-avaliação |
</th> |
<td> |
<table class="dataTable" width="100%"> |
<tr> |
<th>Apreciação dos resultados quantitativos obtidos pelos estudantes</th> |
<td width="80%"> |
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoQuantitivos"/> |
</td> |
</tr> |
<tr> |
<th>Apreciação do funcionamento da UC<br/> |
(Condições de funcionamento da UC; problemas detetados; identificação de práticas pedagógicas de mérito ou deficientes; etc.)</th> |
<td width="80%"> |
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoUC"/> |
</td> |
</tr> |
<tr> |
<th>Apreciação do cumprimento do programa da UC<br/> |
(Adequação das metodologias de ensino/aprendizagem utilizadas; competências efetivamente adquiridas e cumprimento dos conteúdos planificados) |
</th> |
<td width="80%"> |
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma"/> |
</td> |
</tr> |
<tr> |
<th> |
Conclusões<br/> |
(Pontos fortes e fracos; sugestões de melhoria e respetivo plano de ação para a sua concretização) |
</th> |
<td width="80%"> |
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualConclusoes"/> |
</td> |
</tr> |
</table> |
</td> |
</tr> |
<tr> |
<td colspan="2"><input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'saveEvaluation');form.submit()"/></td> |
</tr> |
</table> |
</html:form> |
<% |
} |
%> |
</div> |
</div> |
</div> |
/impl/src/web/user/courseunits/topnavEvaluation.jsp |
---|
New file |
0,0 → 1,15 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.domain.views.BlogView" %> |
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "course",CourseUnitView.getCourseName()); |
topNav.addNavPlace("/user/startLoadCourseUnitFromHome.do?courseUnitView.id=" + CourseUnitView.getId(), "courseunit",CourseUnitView.getName()); |
topNav.addNavPlace(null, "courseunit.evaluation"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/courseunits/courseunit.jsp |
---|
27,6 → 27,8 |
request.setAttribute("fromAction", fromAction); |
%> |
<jomm:messages/> |
<div id="contentPane"> |
<h1>${CourseUnitView.name} (${CourseUnitView.code}) - (${CourseUnitView.semestre})</h1> |
<table width="100%" cellpadding="0" cellspacing="2" border="0"> |
/impl/src/web/user/courseunits/menu.jsp |
---|
8,6 → 8,7 |
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
<%@ page import="pt.estgp.estgweb.domain.UserImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.UserSession" %> |
<%@ page import="pt.estgp.estgweb.Globals" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
54,6 → 55,27 |
<html:link action="${user}/startLoadCourseUnit${fromAction}?courseUnitView.id=${CourseUnitView.id}"><bean:message key="courseunit.menu.home"/></html:link> |
</li> |
<% |
if(Globals.MODULE_STATUS_COURSEUNITEVALUATION) |
{ |
//todo é necessário um servico para ver se tem estes papeis |
if(CourseUnitView.getResponsableTeacher().getId() == UserSession.getUser().getId() |
|| |
CourseUnitView.isOwnedBy(UserSession.getUser(),false) |
|| |
//Validation Role e o papel da comissão de curso |
UserSession.getUser().hasRole(CourseUnitView.getCourseView().getValidationRole())) |
{ |
%> |
<li style="background-color: yellow"> |
<html:link action="/user/startLoadCourseUnitEvaluation.do?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.menu.evaluation"/></html:link> |
</li> |
<% |
} |
} |
%> |
<baco:isTeacherOfCourseUnit courseUnitId="${CourseUnitView.id}"> |
<li> |
<html:link action="/user/startSubmitAnnouncementFromCourseUnit?announcementView.courseUnitView.id=${CourseUnitView.id}"><bean:message key="courseunit.menu.put.announcement"/></html:link> |
/impl/src/xsd/curso.xsl |
---|
119,7 → 119,7 |
@@ -138,7 +138,21 @@ |
@@ -155,7 +169,21 @@ |
/impl/src/xsd/fragmentoCurso.xsl |
---|
1,6 → 1,7 |
<?xml version="1.0" encoding="UTF-8"?> |
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:curso="http://www.estgp.pt/xsd/planoestudos/1.0/"> |
<xsl:import href="curso.xsl"/> |
<xsl:param name="COURSE_SIGES_CODE"></xsl:param> |
<xsl:template match="/"> |
<xsl:call-template name="fragmentoCurso"/> |
</xsl:template> |