/impl/conf/WEB-INF/struts/struts-courseunits.xml |
---|
48,7 → 48,7 |
</action> |
<action path="/courseUnitProgramController" |
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController" |
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsProgramController" |
name="CourseUnitProgramForm" |
scope="request" |
parameter="dispatch" |
/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitProgram.java |
---|
70,6 → 70,8 |
cupv.persistViewInObjectAdministrator(program); |
cupv.persistViewInObjectCoordinator(program); |
cupv.persistViewInObjectTeacher(program); |
//TODO METER O PROF RESPONSAVEL |
setResponsableTeacher(cupv, c); |
} |
if(usession.getUser() instanceof Teacher && (((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true))) |
{ |
82,6 → 84,8 |
) |
{ |
cupv.persistViewInObjectCoordinator(program); |
//TODO METER O PROF RESPONSAVEL |
setResponsableTeacher(cupv, c); |
} |
List<String> errors = new ArrayList<String>(); |
createPdf(c,errors,usession); |
96,6 → 100,13 |
return cupv; |
} |
private void setResponsableTeacher(CourseUnitProgramView cupv, CourseUnit c) { |
if(cupv.getResponsableId() > 0) |
{ |
Teacher t = DaoFactory.getTeacherDaoImpl().load(cupv.getResponsableId()); |
c.setResponsableTeacher(t); |
} |
} |
public void createPdf(CourseUnit cu, List<String> errors) throws IOException, TransformerException, FOPException { |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitProgramView.java |
---|
14,6 → 14,18 |
public class CourseUnitProgramView extends DomainObjectView |
{ |
//INICIADO a -1 porque só vai ser preciso nalguns serviços WEB |
//serviço em uso Salvar Ficha Curricular |
private long responsableId = -1; |
public long getResponsableId() { |
return responsableId; |
} |
public void setResponsableId(long responsableId) { |
this.responsableId = responsableId; |
} |
private CourseUnitProgram courseUnitProgram; |
public Class getReferenceClass() |
/impl/src/java/pt/estgp/estgweb/web/form/courseunits/CourseUnitProgramForm.java |
---|
13,15 → 13,16 |
* @time 14:28:59 |
* @see pt.estgp.estgweb.web.form.blogs |
*/ |
public class CourseUnitProgramForm extends ApplicationForm |
public class CourseUnitProgramForm extends CourseUnitsForm |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitProgramForm.class); |
CourseUnitProgramView courseUnitProgramView = new CourseUnitProgramView(); |
CourseUnitView courseUnitView = new CourseUnitView(); |
long courseUnitId; |
long cloneFromUnitId; |
public CourseUnitProgramForm(CourseUnitProgramView courseUnitProgramView, CourseUnitView courseUnitView, long courseUnitId) { |
this.courseUnitProgramView = courseUnitProgramView; |
this.courseUnitView = courseUnitView; |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsProgramController.java |
---|
New file |
0,0 → 1,270 |
package pt.estgp.estgweb.web.controllers.courseunits; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.upload.FormFile; |
import org.hibernate.ObjectNotFoundException; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.CourseUnitProgram; |
import pt.estgp.estgweb.domain.CourseUnitProgramImpl; |
import pt.estgp.estgweb.domain.CourseUnitProgramPart2Impl; |
import pt.estgp.estgweb.domain.views.*; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.controllers.blogs.BlogsController; |
import pt.estgp.estgweb.web.controllers.profile.ProfileController; |
import pt.estgp.estgweb.web.exceptions.NoCookiesException; |
import pt.estgp.estgweb.web.form.blogs.BlogForm; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm; |
import pt.estgp.estgweb.web.form.profile.ProfileForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ExecutedFilterException; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException; |
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 CourseUnitsProgramController extends CourseUnitsController |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitsProgramController.class); |
public ActionForward editProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) 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); |
CourseUnitProgramView cpv; |
if(cV.getCourseUnit().getCourseUnitProgram() == null) |
cpv = new CourseUnitProgramView(new CourseUnitProgramImpl()); |
else |
cpv = new CourseUnitProgramView(cV.getCourseUnit().getCourseUnitProgram()); |
// request.setAttribute("CourseUnitProgramView", cpv); |
if(cpv.getCourseUnitProgram().getCourseUnitProgramPart2() == null) |
cpv.getCourseUnitProgram().setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
cUF.setCourseUnitProgramView(cpv); |
cUF.setCourseUnitView(cV); |
return mapping.findForward("edit.program"); |
} |
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 saveProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitView().getId(); |
CourseUnitProgramView cuV = cUF.getCourseUnitProgramView(); |
cuV.setResponsableId(cUF.getCourseUnitView().getResponsableId()); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{cuV, id}; |
sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitProgram", args); |
CourseUnitView cV = loadCourseUnitView(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
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"); |
} |
} |
public ActionForward cloneProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitView().getId(); |
long idFrom = cUF.getCloneFromUnitId(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{idFrom, id}; |
CourseUnitProgram cP = (CourseUnitProgram) sm.execute(RequestUtils.getRequester(request, response), "CloneCourseUnitProgram", args); |
CourseUnitView cV = loadCourseUnitViewAndCourse(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
CourseUnitProgramView cpv; |
if(cV.getCourseUnit().getCourseUnitProgram() == null) |
cpv = new CourseUnitProgramView(new CourseUnitProgramImpl()); |
else |
cpv = new CourseUnitProgramView(cV.getCourseUnit().getCourseUnitProgram()); |
// request.setAttribute("CourseUnitProgramView", cpv); |
if(cpv.getCourseUnitProgram().getCourseUnitProgramPart2() == null) |
cpv.getCourseUnitProgram().setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
cUF.setCourseUnitProgramView(cpv); |
cUF.setCourseUnitView(cV); |
return mapping.findForward("edit.program"); |
} |
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"); |
} |
} |
//TODO meter aqui a navegação respectiva de adicionar teacher e ir para o programa de novo |
public ActionForward addTeacher(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long teacherId = cUF.getTeacherId(); |
long courseUnitId = cUF.getCourseUnitView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{teacherId,courseUnitId}; |
CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "AddTeacherCourseUnit", args, names); |
if(cV.isNotFound()) |
addError(request,"error.courseunit.teacher.not.found"); |
return editProgram(mapping,form,request,response); |
} |
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 removeTeacher(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long teacherId = cUF.getId(); //can't come in SELECT BOX because is for choose |
long courseUnitId = cUF.getCourseUnitView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{teacherId,courseUnitId}; |
sm.execute(RequestUtils.getRequester(request, response), "RemoveTeacherCourseUnit", args, names); |
return editProgram(mapping,form,request,response); |
} |
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/CourseUnitsAdminController.java |
---|
5,9 → 5,14 |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.CourseUnitProgram; |
import pt.estgp.estgweb.domain.CourseUnitProgramImpl; |
import pt.estgp.estgweb.domain.CourseUnitProgramPart2Impl; |
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.services.common.ISearchResults; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitProgramForm; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
379,7 → 384,7 |
// sm.execute(RequestUtils.getRequester(request, response), "DeleteCourseUnit", args, names); |
// addMessage(request,"courseunit.removed"); |
logger.info("Não implementado por razoes de segurança"); |
logger.info("N�o implementado por razoes de seguran�a"); |
addMessage(request,"courseunit.security.not.implemented"); |
} catch (Throwable e) { |
addMessage(request,"error.500"); |
424,5 → 429,4 |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsController.java |
---|
48,7 → 48,7 |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitsController.class); |
private ActionForward createBackup(String service, |
protected ActionForward createBackup(String service, |
Object[] args, |
ActionMapping mapping, |
ActionForm form, |
99,7 → 99,7 |
return createBackup("CreateUserImportYearCourseUnitWorksBackup",args,mapping,form,request,response); |
} |
private ActionForward loadCourseUnitAndForward(CourseUnitsForm cUF, long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) |
protected ActionForward loadCourseUnitAndForward(CourseUnitsForm cUF, long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) |
throws Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException |
{ |
CourseUnitView cV = loadCourseUnitView(id,initTeachers,initStudents, mapping, request, response); |
108,7 → 108,7 |
return mapping.findForward("load"); |
} |
private CourseUnitView loadCourseUnitView(long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) |
protected CourseUnitView loadCourseUnitView(long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) |
throws Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
129,7 → 129,7 |
} |
} |
private CourseUnitView loadCourseUnitViewAndCourse(long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) |
protected CourseUnitView loadCourseUnitViewAndCourse(long id, boolean initTeachers, boolean initStudents, ActionMapping mapping, HttpServletRequest request, HttpServletResponse response) |
throws Throwable, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException, NoCookiesException |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
374,142 → 374,8 |
} |
public ActionForward editProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
CourseUnitView cV = loadCourseUnitViewAndCourse(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
CourseUnitProgramView cpv; |
if(cV.getCourseUnit().getCourseUnitProgram() == null) |
cpv = new CourseUnitProgramView(new CourseUnitProgramImpl()); |
else |
cpv = new CourseUnitProgramView(cV.getCourseUnit().getCourseUnitProgram()); |
// request.setAttribute("CourseUnitProgramView", cpv); |
if(cpv.getCourseUnitProgram().getCourseUnitProgramPart2() == null) |
cpv.getCourseUnitProgram().setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
cUF.setCourseUnitProgramView(cpv); |
cUF.setCourseUnitView(cV); |
return mapping.findForward("edit.program"); |
} |
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 saveProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
CourseUnitProgramView cuV = cUF.getCourseUnitProgramView(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{cuV, id}; |
sm.execute(RequestUtils.getRequester(request, response), "SaveCourseUnitProgram", args); |
CourseUnitView cV = loadCourseUnitView(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
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"); |
} |
} |
public ActionForward cloneProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
try |
{ |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
long idFrom = cUF.getCloneFromUnitId(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{idFrom, id}; |
CourseUnitProgram cP = (CourseUnitProgram) sm.execute(RequestUtils.getRequester(request, response), "CloneCourseUnitProgram", args); |
CourseUnitView cV = loadCourseUnitViewAndCourse(id,true,false, mapping, request, response); |
cUF.setCourseUnitView(cV); |
request.setAttribute("CourseUnitView", cV); |
CourseUnitProgramView cpv; |
if(cV.getCourseUnit().getCourseUnitProgram() == null) |
cpv = new CourseUnitProgramView(new CourseUnitProgramImpl()); |
else |
cpv = new CourseUnitProgramView(cV.getCourseUnit().getCourseUnitProgram()); |
// request.setAttribute("CourseUnitProgramView", cpv); |
if(cpv.getCourseUnitProgram().getCourseUnitProgramPart2() == null) |
cpv.getCourseUnitProgram().setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
cUF.setCourseUnitProgramView(cpv); |
cUF.setCourseUnitView(cV); |
return mapping.findForward("edit.program"); |
} |
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 validateInvalidateAssignement(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
908,4 → 774,5 |
} |
/impl/src/web/user/courseunits/courseunitProgram.jsp |
---|
5,6 → 5,7 |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="com.sun.swing.internal.plaf.synth.resources.synth_sv" %> |
<%@ 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" %> |
34,6 → 35,13 |
(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()); |
79,7 → 87,8 |
<html:form action="/courseUnitProgramController"> |
<input type="hidden" name="dispatch" value="saveProgram"> |
<html:hidden property="courseUnitId"/> |
<html:hidden property="id"/> |
<html:hidden property="courseUnitView.id"/> |
<% |
96,6 → 105,16 |
</select> |
<input type="button" value="Clonar a partir deste programa" onclick="if(confirm('<bean:message key="courseunit.confirmaclonagem"/>')){set(form,'cloneProgram');form.submit()}"/> |
</div> |
<% |
} |
%> |
124,7 → 143,85 |
if(editCoordinatorPart) |
{ |
%> |
<%// DADOS DE UNIDADE //%> |
<tr> |
<th> |
<bean:message key="courseunit.responsable"/> |
</th> |
<td> |
<html:select property="courseUnitView.responsableId"> |
<html:option value="0"></html:option> |
<logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<html:option value="${teacher.id}">${teacher.name} (${teacher.code})</html:option> |
</logic:iterate> |
</html:select> |
</td> |
</tr> |
<baco:isAdmin> |
<tr> |
<th> |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
<logic:lessEqual value="0" name="CourseUnitView" property="id"> |
<i><bean:message key="courseunit.to.add.teachers.save.first"/></i> |
</logic:lessEqual> |
<html:select property="teacherId"> |
<logic:present name="CourseUnitProgramForm" property="teachers"> |
<logic:iterate id="teacher" name="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<jomm:option itemName="teacher" itemProperty="id" comparableObjectName="CourseUnitProgramForm" |
comparableObjectProperty="teacherId"> |
${teacher.name} (${teacher.code}) |
</jomm:option> |
</logic:iterate> |
<input type="button" value="<bean:message key="add"/>" |
onclick="set(this.form,'addTeacher');this.form.submit();"> |
</logic:present> |
</html:select> |
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0"> |
<table class="dataTable removeButton"> |
<logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
${userView.code} |
</th> |
<th> |
${userView.name} |
</th> |
<td><input type="button" class="removeButton" |
onclick="CourseUnitProgramForm.id.value='${userView.id}';set(this.form,'removeTeacher');this.form.submit();"> |
</td> |
</tr> |
</logic:iterate> |
</table> |
</logic:greaterThan> |
</td> |
</tr> |
</baco:isAdmin> |
<baco:isNotAdmin> |
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
${prof.name} (${prof.code}) |
</td> |
</tr> |
</logic:iterate> |
</baco:isNotAdmin> |
<%//TODO adicionar workflow e inicializações para a função addTeacher%> |
<tr> |
<td align="right"><bean:message key="courseunit.program.objectivos"/></td> |
<td width="80%"><html:textarea property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" style="width:100%;height:200px" /></td> |
</tr> |
191,6 → 288,24 |
{ |
%> |
<tr> |
<th> |
<bean:message key="courseunit.responsable"/> |
</th> |
<td> |
${CourseUnitView.responsableTeacher.name} (${CourseUnitView.responsableTeacher.code}) |
</td> |
</tr> |
<logic:iterate id="prof" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
${prof.name} (${prof.code}) |
</td> |
</tr> |
</logic:iterate> |
<tr> |
<td align="right"><bean:message key="courseunit.program.objectivos"/></td> |
<td width="80%"><html:textarea disabled="true" property="courseUnitProgramView.courseUnitProgram.courseUnitProgramPart2.objectivos" style="width:100%;height:200px" /></td> |
</tr> |
378,7 → 493,7 |
<%--DOCENTE--%> |
</baco:canManage> |
<tr><td colspan="2"><html:submit><bean:message key="confirm"/></html:submit></td></tr> |
<tr><td colspan="2"><input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'saveProgram');form.submit()"/></td></tr> |
</table> |