/impl/conf/language/MessageResourcesCourse.properties |
---|
40,7 → 40,7 |
course.C=Acções de Formação de Curta Duração |
course.A=Formações Avançadas |
course.O=Outras Formações |
course.T=TeSP |
course.T=CTeSP |
course.D=Diploma de Estudos Superiores Especializados |
course.H=Doutoramento |
course.Z=Desconhecido |
/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
184,8 → 184,8 |
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.evaluation.tryagain=Ocorreu um problema a gravar o seu relat\u00f3rio. Por favor tente novamente |
courseunit.turma=Turma |
/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitEvaluation.java |
---|
61,7 → 61,6 |
evaluation = new CourseUnitEvaluationImpl(); |
DaoFactory.getCourseUnitEvaluationDaoImpl().save(evaluation); |
c.setCourseUnitEvaluation(evaluation); |
cupv.setCourseUnitEvaluation(evaluation); |
} |
// |
73,7 → 72,6 |
{ |
//PROF OU RESPONSAVEL |
cupv.persistViewInObjectTeacher(evaluation); |
cupv.setCourseUnitEvaluation(evaluation); |
} |
else if(usession.getUser() instanceof Teacher |
&& (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
83,7 → 81,6 |
{ |
//COMISSAO DE CURSO |
cupv.persistViewInObjectTeacher(evaluation); |
cupv.setCourseUnitEvaluation(evaluation); |
} |
List<String> errors = new ArrayList<String>(); |
String estado = "POR ENTREGAR"; |
107,6 → 104,7 |
} |
if(!cupv.isAutosave()) |
{ |
createPdf(evaluation,c,usession,errors); |
117,6 → 115,10 |
logger.info("Nao vai informar docentes"); |
} |
} |
//passou para aqui para não afetar a persistencia |
//estava em cima no create do new e depois o evaluation interno ficava a nulo |
// e no persist ja nao havia nada para persistir |
cupv.setCourseUnitEvaluation(evaluation); |
return cupv; |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CreateCourseUnitDirPackageServiceBat.java |
---|
58,6 → 58,11 |
{ |
usersInqueritoPedagogico = DaoFactory.getUserDaoImpl().loadRoleUsers(Globals.INTRANET_DTP_INQUERITO_PEDAGOGICO_ROLE.trim()); |
} |
List<User> usersServicesPrograms = DaoFactory.getUserDaoImpl().loadRoleUsers("servicesPrograms"); |
try |
{ |
FileWriter batRunner = new FileWriter(tmpDir + "/create.bat"); |
143,6 → 148,44 |
batRunner.write("md " + courseNormalizedName + "\\\n"); |
batRunner.write("md " + relativeDirCourse + "\\\n"); |
/** |
* Relatorio de Curso Novo |
*/ |
batRunner.write("md " + relativeDirCourse + "\\" + "Relatorio.Curso" + "\n"); |
batRunner.write("cd " + relativeDirCourse + "\\\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Domain Users\":n\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Authenticated Users\":n\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Intranet\":n\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /p \"Alunos\":n\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Domain Users\"\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Authenticated Users\"\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Intranet\"\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /r \"Alunos\"\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + ConfigProperties.getProperty("ionline.user") + "\":f\n"); |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"Docentes\":r\n"); |
if(c.getUserGroupStudents() != null) |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + c.getUserGroupStudents() + "\":r\n"); |
if(c.getDirector() != null) |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + c.getDirector().getUsername() + "\":f\n"); |
if(c.getCoordinator() != null) |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + c.getCoordinator().getUsername() + "\":f\n"); |
for(User serviceUser: usersServicesPrograms) |
batRunner.write("cacls " + "Relatorio.Curso" + " /t /e /g \"" + serviceUser.getUsername() + "\":f\n"); |
batRunner.write("cd ..\\..\\\n"); |
/*Fim de Relatorio de Curso*/ |
if(s1t) |
batRunner.write("md " + relativeDirCourse + "\\" + Globals.INTRANET_SEMESTRE_S1 + "\\\n"); |
if(s2t) |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java |
---|
51,7 → 51,15 |
int alunosFound = 0; |
int studentsChangeBI = 0; |
int unitsAddedToStudents = 0; |
int alunosErasmusCadeirasEcontradas = 0; |
int turmaMoreThanOneRegularCourse = 0; |
//Vasco da Gama |
//Cadeiras a Vulso |
//Erasmus |
//disciplinas a vulso ESS |
Integer[] cursosFicticios = {19,4,0,22}; |
public ILogMessages run(String year) throws ServiceException |
{ |
66,6 → 74,8 |
alunosFound = 0; |
studentsChangeBI = 0; |
unitsAddedToStudents = 0; |
alunosErasmusCadeirasEcontradas = 0; |
turmaMoreThanOneRegularCourse = 0; |
String activeImportYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear(); |
209,6 → 219,9 |
serviceLogInfo("#Units removed to Students: " + unitsRemovedToStudents); |
serviceLogInfo("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved); |
serviceLogInfo("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded); |
serviceLogInfo("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas); |
if(turmaMoreThanOneRegularCourse > 0) |
serviceLogInfo("#########!!!!!!!PROBLEMA TURMAS COM MAIS DE UM CURSO: " + turmaMoreThanOneRegularCourse); |
logger.info("############################"); |
logger.info("############################"); |
222,6 → 235,10 |
logger.info("#Units removed to Students: " + unitsRemovedToStudents); |
logger.info("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved); |
logger.info("#Units not Added because localy removed: " + unitsLocallyRemovedNotAdded); |
logger.info("#ERASMUS Sum Subscriptions Replaced: " + alunosErasmusCadeirasEcontradas); |
if(turmaMoreThanOneRegularCourse > 0) |
logger.warn("#########!!!!!!!PROBLEMA TURMAS COM MAIS DE UM CURSO: " + turmaMoreThanOneRegularCourse); |
if(studentsChangeBI>0) |
{ |
serviceLogInfo("#>>>>>AVISO AVISO<<<<<<<<<: "); |
264,9 → 281,9 |
} |
} |
public BigDecimal getRealCourse(String turma,String year, String semestre, SiGesWEB service) |
public BigDecimal getRealCourse(String turma,String year, String semestre, SiGesWEB service, DefaultLogMessages messages) |
{ |
HashMap<String,List<BigDecimal>> pairs = getCourseTurmaPairs(year,semestre,service); |
HashMap<String,List<BigDecimal>> pairs = getCourseTurmaPairs(year,semestre,service,messages); |
List<BigDecimal> cursos = pairs.get(turma); |
if(cursos.size() > 1) |
{ |
299,8 → 316,21 |
return null; |
} |
} |
boolean isCursoFicticio(int cursoCode) |
{ |
for(Integer cursoFicticio: cursosFicticios) |
{ |
if(cursoFicticio.intValue() == cursoCode) |
{ |
return true; |
} |
} |
return false; |
} |
HashMap<String,HashMap<String,List<BigDecimal>>> semestreTurmaCursosPairs = new HashMap<String, HashMap<String, List<BigDecimal>>>(); |
private HashMap<String,List<BigDecimal>> getCourseTurmaPairs(String year,String semestre, SiGesWEB service) |
private HashMap<String,List<BigDecimal>> getCourseTurmaPairs(String year,String semestre, SiGesWEB service, DefaultLogMessages messages) |
{ |
HashMap<String,List<BigDecimal>> turmaCourses = semestreTurmaCursosPairs.get(year + ";" + semestre); |
if(turmaCourses == null) |
320,12 → 350,31 |
cursos = new ArrayList<BigDecimal>(); |
turmaCourses.put(turmaCursoPair.getCdTurma(),cursos); |
} |
if(turmaCursoPair.getCodigoCurso().intValue() > 0) |
if(turmaCursoPair.getCodigoCurso().intValue() >= 0) |
{ |
cursos.add(turmaCursoPair.getCodigoCurso()); |
msg = "Adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso(); |
logger.info(msg); |
serviceLogInfo(msg); |
boolean cursoFicticio = isCursoFicticio(turmaCursoPair.getCodigoCurso().intValue()); |
if(!cursoFicticio) |
{ |
cursos.add(turmaCursoPair.getCodigoCurso()); |
msg = "Adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso(); |
logger.info(msg); |
serviceLogInfo(msg); |
if(cursos.size()>1) |
{ |
turmaMoreThanOneRegularCourse++; |
msg = "Warning: turma " + turmaCursoPair.getCdTurma() + " has more than one regular course associated "; |
logger.warn(msg); |
serviceLogWarn(msg); |
messages.addMessage(new DefaultLogMessage("", LogMessageTypeEnum.WARNING,msg)); |
} |
} |
else |
{ |
msg = "Not adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso() + " -> Codigo de Curso Ficticio ->não vai ser considerado"; |
logger.info(msg); |
serviceLogInfo(msg); |
} |
} |
else |
{ |
441,36 → 490,57 |
//4 - Remover da lista do aluno as unidades que não vêm do SIGES e que não foram adicionadas localmente |
//todo mudar isto |
//todo mudar nos webservices quando vai buscar o mapa de turmas |
final int ERASMUS_CODE = 0; |
//FALTA AQUI O VASCO DA GAMA |
//FALTA AQUI DISCIPLINAS A VULSO |
//PASSO 1 |
Set<CourseUnit> unitsFromSigesPersistentInBaco = new HashSet<CourseUnit>(); |
ArrayOfDisciplina disciplinas = alunoSiges.getDisciplinasInscrito(); |
for (Disciplina disciplina : disciplinas.getDisciplina()) |
{ |
BigDecimal codigoDoCursoReal = disciplina.getCodigoCurso(); |
boolean cursoFicticio = isCursoFicticio(disciplina.getCodigoCurso().intValue()); |
BigDecimal codigoDoCurso = disciplina.getCodigoCurso(); |
if(disciplina.getCdTipoDisciplina() != null |
&& disciplina.getCdTipoDisciplina().intValue() |
== ImportCourseService.SIGES_CODIGO_TIPO_DISCIPLINA_EXTRA_CURRICULAR) |
&& |
(disciplina.getCdTipoDisciplina().intValue() == ImportCourseService.SIGES_CODIGO_TIPO_DISCIPLINA_EXTRA_CURRICULAR |
|| |
cursoFicticio)) |
{ |
codigoDoCursoReal = getRealCourse(disciplina.getCdTurma(),year,disciplina.getCdDuracao(),service); |
String msg = "Codigo de curso (" + disciplina.getCodigoCurso() + ") da disciplina " + disciplina.getCodigo() + " tipo: " + disciplina.getCdTipoDisciplina() + " nome:" + disciplina.getNome() + "turma: " + disciplina.getCdTurma() + " Modificado para o real: " + codigoDoCursoReal; |
if(cursoFicticio) |
{ |
alunosErasmusCadeirasEcontradas++; |
String msg = "Disciplina para Aluno " + student.getSigesCode() + " de Curso Ficticio " +disciplina.getCodigoCurso().intValue() + " encontrada vamos trocar para código de curso real"; |
serviceLogInfo(msg); |
logger.info(msg); |
} |
else |
{ |
String msg = "Disciplina para Aluno " + student.getSigesCode() + " ExtraCurricular " +disciplina.getCodigoCurso().intValue() + " encontrada vamos trocar para código de curso real"; |
serviceLogInfo(msg); |
logger.info(msg); |
} |
codigoDoCurso = getRealCourse(disciplina.getCdTurma(),year,disciplina.getCdDuracao(),service,logMessages); |
String msg = "Codigo de curso (" + disciplina.getCodigoCurso() + ") da disciplina " + disciplina.getCodigo() + " tipo: " + disciplina.getCdTipoDisciplina() + " nome:" + disciplina.getNome() + "turma: " + disciplina.getCdTurma() + " Modificado para o real: " + codigoDoCurso; |
serviceLogInfo(msg); |
logger.info(msg); |
} |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + codigoDoCursoReal,disciplina.getCdDuracao(),disciplina.getCdLectivo() |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + codigoDoCurso,disciplina.getCdDuracao(),disciplina.getCdLectivo() |
,disciplina.getCdTurma()); |
//Special procedure for Aluno to check if turma not exist will find without turma code to keep old years compatibility |
if(courseUnit == null) |
{ |
unitsNotFoundTurma++; |
courseUnit = tryFindCourseUnitWithOutTurma(logMessages,disciplina.getCdDuracao(),""+disciplina.getCodigo().intValue() |
,"" + codigoDoCursoReal.intValue(),disciplina.getCdLectivo(),disciplina.getCdTurma()); |
,"" + codigoDoCurso.intValue(),disciplina.getCdLectivo(),disciplina.getCdTurma()); |
} |
if(courseUnit == null) |
{ |
unitsNotFound++; |
String msg = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + codigoDoCursoReal + " year:" + disciplina.getCdLectivo() + " turma: " + disciplina.getCdTurma(); |
String msg = "Unit not found (student " + student.getSigesCode() + "): semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + codigoDoCurso + " year:" + disciplina.getCdLectivo() + " turma: " + disciplina.getCdTurma(); |
serviceLogWarn(msg); |
logger.warn(msg); |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java |
---|
46,6 → 46,7 |
int teachersNew = 0; |
int teachersZeroUnits = 0; |
int unitsNotFound = 0; |
int unitsNotFoundCourseNotFound = 0; |
int unitsAddedToTeachers = 0; |
int unitsRemovedToTeachers = 0; |
int unitsLocalAddedNotRemoved = 0; |
61,6 → 62,7 |
teachersNew = 0; |
teachersZeroUnits = 0; |
unitsNotFound = 0; |
unitsNotFoundCourseNotFound = 0; |
unitsAddedToTeachers = 0; |
unitsRemovedToTeachers = 0; |
unitsLocalAddedNotRemoved = 0; |
121,7 → 123,7 |
t = DomainObjectFactory.createTeacherImpl(); |
DaoFactory.getTeacherDaoImpl().save(t); |
newUser = true; |
teachersNew++; |
//teachersNew++; |
} |
else |
{ |
134,7 → 136,7 |
serviceLogInfo(msgS); |
try |
{ |
persist(d, t, newUser,year); |
persist(d, t, newUser,year,logMessages); |
} |
catch (Exception e) |
{ |
187,6 → 189,7 |
serviceLogInfo("#Teachers New: " + teachersNew); |
serviceLogInfo("#Teachers Zero Units: " + teachersZeroUnits); |
serviceLogInfo("#Units not found: " + unitsNotFound); |
serviceLogInfo("#Units with NULL COURSE : " + unitsNotFoundCourseNotFound); |
serviceLogInfo("#Units removed to Teachers: " + unitsRemovedToTeachers); |
serviceLogInfo("#Units added to Teachers: " + unitsAddedToTeachers); |
serviceLogInfo("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved); |
198,6 → 201,7 |
logger.info("#Teachers New: " + teachersNew); |
logger.info("#Teachers Zero Units: " + teachersZeroUnits); |
logger.info("#Units not found: " + unitsNotFound); |
logger.info("#Units with NULL COURSE : " + unitsNotFoundCourseNotFound); |
logger.info("#Units removed to Teachers: " + unitsRemovedToTeachers); |
logger.info("#Units added to Teachers: " + unitsAddedToTeachers); |
logger.info("#Units not Removed because localy added: " + unitsLocalAddedNotRemoved); |
324,7 → 328,7 |
* @param teacher teacher |
* @throws Exception . |
*/ |
private void persist(Docente teacherSiges, Teacher teacher, boolean newUser, String year) throws Exception |
private void persist(Docente teacherSiges, Teacher teacher, boolean newUser, String year,DefaultLogMessages logmessages) throws Exception |
{ |
String msgS; |
460,8 → 464,20 |
if (courseUnit == null) |
{ |
msgS = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo(); |
unitsNotFound++; |
if(disciplina.getCodigoCurso()==null || disciplina.getCodigoCurso().intValue() <= -1) |
{ |
unitsNotFoundCourseNotFound++; |
msgS += "... unit with No Course Found in SIGED"; |
logmessages.addMessage(new DefaultLogMessage("import.teachers", LogMessageTypeEnum.WARNING,msgS )); |
} |
else |
{ |
msgS += "... probably unit with zero students not imported in CoursesImport"; |
} |
logger.warn(msgS); |
serviceLogWarn(msgS); |
} |
else |
units.add(courseUnit); |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java |
---|
300,7 → 300,7 |
{ |
c = DomainObjectFactory.createCourseUnitImpl(); |
DaoFactory.getCourseUnitDaoImpl().save(c); |
logMessages.addMessage(new DefaultLogMessage("import.error", "New Unit Found: (" + d.getCodigo() + ") " + d.getNome() + " - curso (" + d.getNomeCurso() + ") " + d.getNomeCurso() + " turma(" + d.getCdTurma() + ")", "see log for details", LogMessageTypeEnum.ERROR)); |
logMessages.addMessage(new DefaultLogMessage("import.error", "New Unit Found: (" + d.getCodigo() + ") " + d.getNome() + " - curso (" + d.getNomeCurso() + ") " + d.getNomeCurso() + " turma(" + d.getCdTurma() + ")", "see log for details", LogMessageTypeEnum.INFO)); |
logger.info(logMessages.getLastMessage()); |
serviceLogInfo(logMessages.getLastMessage()); |
newUnits++; |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportSumariesJson.java |
---|
193,7 → 193,7 |
s.setDataAula(aula.getData().toGregorianCalendar().getTime()); |
s.setTipoAula(aula.getSumTipoAula()); |
s.setCodigoSalaAula("" + aula.getAulaCodigoSalaAula().intValue()); |
s.setAlunosPresentes(aula.getSumNumeroAlunos().intValue()); |
s.setAlunosPresentes(aula.getSumNumeroPresencas().intValue()); |
s.setTitulo(aula.getSumTitulo()); |
s.setDescricao(aula.getSumDescricao()); |
s.setcEstado(""+aula.getSumCdEstado().intValue()); |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
252,6 → 252,7 |
*/ |
public List<CourseUnit> loadBySigesCodeTurmaNull(String sigesCode, String courseCode, String semestre, String year) |
{ |
//todo cdTurma Rollback |
return (List<CourseUnit>) |
createCriteria() |
.add(eq("code", sigesCode)) |
266,6 → 267,7 |
//se nao a carregar unidades vai buscar a errada |
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year,String turma) |
{ |
//todo cdTurma Rollback |
return (CourseUnit) |
createCriteria() |
.add(eq("code", sigesCode)) |
276,6 → 278,19 |
.uniqueResult(); |
} |
public CourseUnit loadBySigesCodeUniqueAllCourses(String sigesCode, String semestre, String year,String turma) |
{ |
//todo cdTurma Rollback |
return (CourseUnit) |
createCriteria() |
.add(eq("code", sigesCode)) |
// REMOVED TO LET BE ALL COURSES .add(eq("courseCode", courseCode)) |
.add(eq("semestre", semestre)) |
.add(eq("importYear", year)) |
.add(eq("cdTurma", turma)) |
.uniqueResult(); |
} |
public CourseUnit loadBySigesCodeUniqueMostRecent(String sigesCode, String courseCode, String semestre) |
{ |
List<CourseUnit> cus = |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsEvaluationController.java |
---|
85,10 → 85,9 |
HttpServletResponse response) |
throws ServletException |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
try |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
long id = cUF.getCourseUnitView().getId(); |
CourseUnitEvaluationView cuV = cUF.getCourseUnitEvaluationView(); |
if(request.getParameter("json")!=null && request.getParameter("json").equals("true")) |
97,7 → 96,7 |
} |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{cuV, id}; |
sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
cuV = (CourseUnitEvaluationView) sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
CourseUnitView cV = loadCourseUnitView(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
108,6 → 107,7 |
} |
else |
return mapping.findForward("load"); |
} |
catch (FilterChainFailedException e) |
{ |
120,7 → 120,8 |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
addError(request, "courseunit.evaluation.tryagain"); |
return editEvaluation(mapping,cUF,request,response); |
} |
} |
131,17 → 132,18 |
HttpServletResponse response) |
throws ServletException |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
try |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
long id = cUF.getCourseUnitView().getId(); |
CourseUnitEvaluationView cuV = cUF.getCourseUnitEvaluationView(); |
cuV.setTeacherComplete(true); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{cuV, id}; |
sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
cuV = (CourseUnitEvaluationView) sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
CourseUnitView cV = loadCourseUnitView(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
159,7 → 161,9 |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
addError(request, "courseunit.evaluation.tryagain"); |
return editEvaluation(mapping,cUF,request,response); |
//return mapping.findForward("error500"); |
} |
} |
169,18 → 173,18 |
HttpServletResponse response) |
throws ServletException |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
try |
{ |
CourseUnitEvaluationForm cUF = (CourseUnitEvaluationForm) form; |
long id = cUF.getCourseUnitView().getId(); |
CourseUnitEvaluationView cuV = cUF.getCourseUnitEvaluationView(); |
cuV.setFechar(true); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{cuV, id}; |
sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
cuV = (CourseUnitEvaluationView) sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitEvaluation", args); |
CourseUnitView cV = loadCourseUnitView(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
cUF.setCourseUnitEvaluationView(cuV); |
request.setAttribute("CourseUnitView", cV); |
addMessage(request,"courseunit.evaluation.success"); |
return mapping.findForward("load"); |
196,7 → 200,8 |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
addError(request, "courseunit.evaluation.tryagain"); |
return editEvaluation(mapping,cUF,request,response); |
} |
} |
/impl/src/web/imgs/wait.gif |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/impl/src/web/admin/courses/courseComissions.jsp |
---|
34,6 → 34,7 |
<% |
String importYear = request.getParameter("importYear"); |
String nowInterfaceImportYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear(); |
if(importYear == null || importYear.length()==0) |
{ |
86,16 → 87,18 |
<thead> |
<tr> |
<th>Codigo</th> |
<th>Grau</th> |
<th>Tipo de Curso</th> |
<th>Curso</th> |
<baco:hasRole role="services,admin,all"> |
<th>Activo</th> |
<th>Papel Comissão Curso</th> |
<th>Unidades <%=importYear%></th> |
<th>Unidades noutros anos</th> |
</baco:hasRole> |
<th>Comissão de Curso</th> |
<baco:hasRole role="services,admin,all"> |
<th></th> |
<th>Unidades</th> |
<th>Editar</th> |
</baco:hasRole> |
</tr> |
</thead> |
109,7 → 112,9 |
int unitsSize=DaoFactory.getCourseDaoImpl().countCoursesUnits(importYear,c.getId()); |
int unitsSizeOthers=DaoFactory.getCourseDaoImpl().countCoursesUnitsNot(importYear, c.getId()); |
int totalUnits = unitsSize + unitsSizeOthers; |
if(totalUnits > 0 || userSession.getUser().isAdmin() || userSession.getUser().hasRole("services")) |
//So da verdadeiro se estivermos neste ano e ele estiver inativo |
boolean notActiveAndActualThisYear = nowInterfaceImportYear.equals(importYear) && !cv.isStatus(); |
if((totalUnits > 0 && !notActiveAndActualThisYear) || userSession.getUser().isAdmin() || userSession.getUser().hasRole("services")) |
{ |
%> |
118,6 → 123,7 |
<td><bean:message key="course.${CourseView.degreeCleanCode}"/></td> |
<td>${CourseView.name}</td> |
<baco:hasRole role="services,admin,all"> |
<td>${CourseView.status}</td> |
<td> |
<logic:notEmpty name="CourseView" property="validationRole"> |
<bean:message key="user.role.${CourseView.validationRole}"/> |
157,7 → 163,13 |
<a class="btn btn-default" target="_blank" href="<%=request.getContextPath()%>/user/courseCourseUnits.do?courseId=<%=c.getId()%>"> |
<span class="glyphicon glyphicon-list-alt"></span> |
</a> |
</td> |
<td> |
<a class="btn btn-warning" target="_blank" href="<%=request.getContextPath()%>/user/courseControllerFromServiceZone.do?dispatch=edit&courseView.id=<%=c.getId()%>"> |
<span class="glyphicon glyphicon-pencil"></span> |
</a> |
</td> |
</baco:hasRole> |
</tr> |
<% |
/impl/src/web/layout/scripts.jsp |
---|
132,9 → 132,18 |
function ping() |
{ |
$.getJSON( "<%=request.getContextPath()%>/ping.jsp", function( data ) { |
setTimeout("ping()",10000); |
$.ajax({ |
url: "<%=request.getContextPath()%>/ping.jsp", |
type: "POST", |
dataType: "json", |
success: function(resposta) { |
setTimeout("ping()",10000); |
}, |
error: function() { |
setTimeout("ping()",10000); |
} |
}); |
} |
$(document).ready(function() |
{ |
/impl/src/web/user/courseunits/courseunitEvaluation.jsp |
---|
84,7 → 84,7 |
if(!closed) |
{ |
%> |
<p class="WARNING"><bean:message key="courseunit.evaluation.warning"/></p> |
<p><bean:message key="courseunit.evaluation.warning"/></p> |
<% |
} |
%> |
293,50 → 293,126 |
%> |
<!-- Modal --> |
<!-- Modal --> |
<div class="modal fade" id="myModal" role="dialog" > |
<div class="modal-dialog" data-width="760" style="display: block; width: 760px; margin-left: -380px; margin-top: 50px;" aria-hidden="false"> |
<!-- Modal content--> |
<div class="modal-content"> |
<div class="modal-header"> |
<h1 class="modal-title">Envio em curso</h1> |
</div> |
<div class="modal-body"> |
<p>O relatório está a ser enviado ao sistema... por favor aguarde <img src="<%=request.getContextPath()%>/imgs/wait.gif"/></p> |
</div> |
<div class="modal-footer"> |
</div> |
</div> |
</div> |
</div> |
<script> |
function submitFormWaitAutoSave() |
{ |
stopAutoSave = true; |
$('#myModal').modal({ |
show: 'true' |
}); |
//esperar se houver algum update a executar 1500 segundos é o maximo de espera |
//se a pagina não recarregar e porque a thread parou |
setTimeout("submitForm()",40000); |
} |
//function submitForm() |
//{ |
// $("#formEdit").submit(); |
// } |
$( document ).ready(function() { |
<% |
if(!activePeriod) |
{ |
%> |
$("#formEdit :input").attr("disabled", true); |
<% |
%> |
$("#formEdit :input").attr("disabled", true); |
<% |
} |
if(closed) |
{ |
else if(closed) |
{ |
%> |
$("#formEdit :input").attr("disabled", true); |
<% |
} |
if(!editTeacherPart && !editCoordinatorPart) |
else if(!editTeacherPart && !editCoordinatorPart) |
{ |
%> |
$("#formEdit :input").attr("disabled", true); |
<% |
} |
else |
{ |
%> |
setTimeout("serData()",5000); |
<% |
} |
%> |
setTimeout("serData()",10000); |
}); |
var stopAutoSave = false; |
function serData() |
{ |
var data = $("#formEval").serialize().replace(/%0D%0A/g, '%0A').replace(/\r?\n/g, "\r\n"); |
//alert(data); |
$("#dispatch").val("saveEvaluation"); |
//alert($("#dispatch").val()) |
$("#autosave").html("Enviando...") |
$.post('<%=request.getContextPath()%>/user/courseUnitEvaluationController.do', data + "&json=true", |
function(resposta) |
{ |
if(resposta.service && resposta.service == "ok") |
$("#autosave").html("Salvo Automaticamente (Apenas Dados, não gerou PDF, para gerar PDF terá de salvar o docente)"); |
else |
$("#autosave").html("Deve salvar o seu relatório periodicamente"); |
} |
); |
setTimeout("serData()",5000); |
if(stopAutoSave) |
{ |
$("#formEval").submit(); |
return; |
} |
else |
{ |
$("#dispatch").val("saveEvaluation"); |
var data = $("#formEval").serialize().replace(/%0D%0A/g, '%0A').replace(/\r?\n/g, "\r\n"); |
//alert(data); |
//alert($("#dispatch").val()) |
$("#autosave").html("Enviando..."); |
$.ajax({ |
url: "<%=request.getContextPath()%>/user/courseUnitEvaluationController.do", |
type: "POST", |
data: data + "&json=true", |
dataType: "json", |
success: function(resposta) { |
if(resposta.service && resposta.service == "ok") |
$("#autosave").html("Salvo Automaticamente (Apenas Dados, não gerou PDF, para gerar PDF terá de salvar o docente)"); |
else |
$("#autosave").html("Deve salvar o seu relatório periodicamente"); |
setTimeout("serData()",5000); |
}, |
error: function() { |
$("#autosave").html("Erro de comunicação, tentando novamente em 5 segundos"); |
setTimeout("serData()",5000); |
} |
}); |
/* $.post('<%=request.getContextPath()%>/user/courseUnitEvaluationController.do', data + "&json=true", |
function(resposta) |
{ |
if(resposta.service && resposta.service == "ok") |
$("#autosave").html("Salvo Automaticamente (Apenas Dados, não gerou PDF, para gerar PDF terá de salvar o docente)"); |
else |
$("#autosave").html("Deve salvar o seu relatório periodicamente"); |
setTimeout("serData()",5000); |
} |
);*/ |
} |
} |
</script> |
496,12 → 572,8 |
{ |
%> |
<input type="button" value="<bean:message key="save"/>" onclick="set(form,'saveEvaluation');form.submit()"/> |
<script> |
$( document ).ready(function() { |
setTimeout("serData()",5000); |
}); |
</script> |
<input type="button" value="<bean:message key="save"/>" onclick="set(form,'saveEvaluation');submitFormWaitAutoSave(form);"/> |
<% |
} |
509,7 → 581,7 |
{ |
%> |
<input type="button" value="<bean:message key="deliverEvaluation"/>" onclick="set(form,'teacherCompleteEvaluation');form.submit()"/> |
<input type="button" value="<bean:message key="deliverEvaluation"/>" onclick="set(form,'teacherCompleteEvaluation');submitFormWaitAutoSave(form);"/> |
<% |
} |
519,7 → 591,7 |
{ |
%> |
<input type="button" value="VALIDAR e FECHAR pela Comissão de Curso" onclick="set(form,'publishEvaluation');form.submit()"/> |
<input type="button" value="VALIDAR e FECHAR pela Comissão de Curso" onclick="set(form,'publishEvaluation');submitFormWaitAutoSave(form);"/> |
<% |
} |
%> |
/common/log4j/log4j-1.2.8.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/common/log4j/apache-log4j-extras-1.2.17.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/common/log4j/log4j-1.2.17.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/common/hibernate/log4j-1.2.8.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/common/hibernate/log4j-1.2.11.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |