4,9 → 4,13 |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.domain.CourseStudiesPlanImpl; |
import pt.estgp.estgweb.domain.views.CourseView; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.services.courses.CoursesService; |
import pt.estgp.estgweb.services.courses.xsd.Curso; |
import pt.estgp.estgweb.services.courses.xsd.PerfilImpl; |
import pt.estgp.estgweb.services.courses.xsd.SemestreImpl; |
import pt.estgp.estgweb.services.courses.xsd.UnidadeImpl; |
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses; |
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService; |
28,6 → 32,7 |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.Iterator; |
|
/** |
* @author Jorge Machado |
562,6 → 567,36 |
return mapping.findForward("error500"); |
} |
} |
public ActionForward removePerfil(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form; |
String perfilId = frm.getPerfilId(); |
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre()){ |
Iterator<Curso.Semestre.Perfil> iterPerfil = semestre.getPerfil().iterator(); |
while(iterPerfil.hasNext()) |
{ |
Curso.Semestre.Perfil perfil = iterPerfil.next(); |
if(perfil.getPerfilId().equals(perfilId)) |
{ |
iterPerfil.remove(); |
break; |
} |
} |
} |
return mapping.findForward("editStudyPlan"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
public ActionForward addUnidadeSemestre(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
589,8 → 624,111 |
} |
} |
|
public ActionForward removeSemestre(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form; |
String semestreId = frm.getSemestreId(); |
Iterator<Curso.Semestre> iteSem = frm.getPlanoEstudos().getSemestre().iterator(); |
while(iteSem.hasNext()) |
{ |
Curso.Semestre semestre = iteSem.next(); |
if(semestre.getSemestreId().equals(semestreId)) |
{ |
iteSem.remove(); |
break; |
} |
} |
return mapping.findForward("editStudyPlan"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
|
public ActionForward addNewSemestre(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form; |
frm.getPlanoEstudos().getSemestre().add(new SemestreImpl()); |
return mapping.findForward("editStudyPlan"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
|
public ActionForward addPerfilSemestre(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form; |
String semestreId = frm.getSemestreId(); |
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre()) |
{ |
if(semestre.getSemestreId().equals(semestreId)) |
{ |
semestre.getPerfil().add(new PerfilImpl()); |
break; |
} |
} |
return mapping.findForward("editStudyPlan"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
|
public ActionForward clonarPlano(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form; |
long planId = frm.getCourseStudiesPlan().getId(); |
long sourcePlanId = frm.getSourcePlanId(); |
|
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{sourcePlanId,planId,frm.getCourseId()}; |
CourseStudiesPlanImpl novoPlano = (CourseStudiesPlanImpl) sm.execute(RequestUtils.getRequester(request, response), "CloneStudiesPlanVersionFrom", args, names); |
frm.setCourseStudiesPlan(novoPlano); |
frm.setPlanoEstudos(new CoursesService().loadCursoPlanoFromXml(novoPlano.getXml())); |
addMessage(request, "course.studies.plan.cloned"); |
return mapping.findForward("editStudyPlan"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
return mapping.findForward("error500"); |
} |
} |
|
|
|
|
|
} |