/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitProgram.java |
---|
54,45 → 54,61 |
private static final Logger logger = Logger.getLogger(SaveCourseUnitProgram.class); |
public CourseUnitProgramView run(CourseUnitProgramView cupv, Long coursUnitId, UserSession usession) throws ServiceException, TransformerException, IOException, FOPException { |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(coursUnitId); |
public void validate(Long courseUnitId, UserSession usession, CourseUnitImpl clearedCourseUnit) throws ServiceException, TransformerException, IOException, FOPException { |
CourseUnitProgram program = c.getCourseUnitProgram(); |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name())) |
{ |
clearedCourseUnit.setValidProgram(true); |
} |
} |
public void invalidate(Long courseUnitId, UserSession usession, CourseUnitImpl clearedCourseUnit) throws ServiceException, TransformerException, IOException, FOPException { |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name())) |
{ |
clearedCourseUnit.setValidProgram(false); |
} |
} |
public CourseUnitProgramView run(CourseUnitProgramView cupv, Long coursUnitId, UserSession usession, CourseUnitImpl clearedCourseUnit) throws ServiceException, TransformerException, IOException, FOPException { |
//CourseUnit cProxy = DaoFactory.getCourseUnitDaoImpl().get(coursUnitId); |
//Ja vem do filtro isto feito |
// clearedCourseUnit.initClearances((UserSessionImpl) usession,true); |
CourseUnitProgram program = clearedCourseUnit.getCourseUnitProgram(); |
if(program == null) |
{ |
program = new CourseUnitProgramImpl(); |
DaoFactory.getCourseUnitProgramDaoImpl().save(program); |
program.setCourseUnitProgramPart2(new CourseUnitProgramPart2Impl()); |
DaoFactory.getCourseUnitProgramPart2DaoImpl().save(program.getCourseUnitProgramPart2()); |
c.setCourseUnitProgram(program); |
clearedCourseUnit.setCourseUnitProgram(program); |
} |
// |
if(usession.getUser().isSuperuserOrAdmin()) |
//if(usession.getUser().isSuperuserOrAdmin()) |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name())) |
//if(usession.getUser() instanceof Teacher && (((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true))) |
{ |
cupv.persistViewInObjectAdministrator(program); |
cupv.persistViewInObjectCoordinator(program); |
cupv.persistViewInObjectTeacher(program); |
setResponsableTeacher(cupv, c); |
} |
if(usession.getUser() instanceof Teacher && (((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true))) |
if(clearedCourseUnit.isClear((UserSessionImpl) usession,CourseUnitImpl.CourseUnitClearancesOperation.PROGRAM_COORDINATOR_PART.name())) |
{ |
cupv.persistViewInObjectTeacher(program); |
} |
if(usession.getUser() instanceof Teacher |
&& (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
|| |
((usession.getUser()) == c.getCourse().getCoordinator())) |
) |
{ |
cupv.persistViewInObjectCoordinator(program); |
setResponsableTeacher(cupv, c); |
setResponsableTeacher(cupv, clearedCourseUnit); |
} |
List<String> errors = new ArrayList<String>(); |
createPdf(c,errors,usession); |
createPdf(clearedCourseUnit,errors,usession); |
if(usession.getUser() instanceof Teacher) |
DirectedCoordinatedUnitsService.sendNotificationsEditedInterestedPeople(c,usession); |
DirectedCoordinatedUnitsService.sendNotificationsEditedInterestedPeople(clearedCourseUnit,usession); |
else |
{ |
logger.info("Nao vai informar docentes"); |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadCourseUnitService.java |
---|
40,6 → 40,11 |
public CourseUnitView run(long id, boolean initTeachers, boolean initStudents, boolean initBlog, UserSession userSession) throws ServiceException |
{ |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(id); |
return runCleared(id,initTeachers,initStudents,initBlog,userSession,DaoFactory.getCourseUnitDaoImpl().narrow(c)); |
} |
public CourseUnitView runCleared(long id, boolean initTeachers, boolean initStudents, boolean initBlog, UserSession userSession,CourseUnit c) throws ServiceException |
{ |
c.setCourseUnitEvaluation(DaoFactory.getCourseUnitEvaluationDaoImpl().narrow(c.getCourseUnitEvaluation())); |
c.setCourseUnitProgram(DaoFactory.getCourseUnitProgramDaoImpl().narrow(c.getCourseUnitProgram())); |
77,10 → 82,10 |
} |
public CourseUnitView loadCourseUnitViewAndCourse(long id, boolean initTeachers, boolean initStudents, boolean initBlog, boolean initCourseView, UserSession userSession) throws ServiceException |
public CourseUnitView loadCourseUnitViewAndCourse(long id, boolean initTeachers, boolean initStudents, boolean initBlog, boolean initCourseView, UserSession userSession,CourseUnitImpl clearedUnit) throws ServiceException |
{ |
CourseUnitView cV = run(id,initTeachers,initStudents,initBlog,userSession); |
CourseUnitView cV = runCleared(id, initTeachers, initStudents, initBlog, userSession, clearedUnit); |
if(initCourseView) |
{ |
CourseView coV = new CourseView(cV.getCourseUnit().getCourse()); |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courseunits/DirectedCoordinatedUnitsService.java |
---|
346,15 → 346,17 |
int counter = 0; |
for(CourseUnitView courseUnitView: views) |
{ |
if(courseUnitView != null && courseUnitView.getId()>0) |
{ |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().load(courseUnitView.getId()); |
//EVALUATION OPEN BY ADMIN |
if(courseUnitView.isEvaluationOpenByAdmin() != courseUnit.isEvaluationOpenByAdmin()) |
courseUnit.setEvaluationOpenByAdmin(courseUnitView.isEvaluationOpenByAdmin()); |
if(courseUnitView != null && courseUnitView.getId()>0) |
{ |
if(courseUnitView.getProgramStreamId() != null && courseUnitView.getProgramStreamId().length() > 0) |
{ |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().load(courseUnitView.getId()); |
if(usession.getUser().isAdmin() || usession.getUser().hasRole("courseValidatePrograms") || usession.getUser().hasRole(courseUnit.getCourse().getValidationRole())) |
{ |
if(courseUnit.isValidProgram() != courseUnitView.isValidProgram()) |
/branches/v3/impl/src/java/pt/estgp/estgweb/services/ftpservices/FtpService.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.services.ftpservices; |
import jomm.utils.DesUtils; |
import jomm.utils.DiacriticFilter; |
import org.apache.commons.fileupload.FileItem; |
import org.apache.commons.net.ftp.FTP; |
import org.apache.commons.net.ftp.FTPClient; |
126,7 → 127,8 |
} |
logger.info("trying to import file: " + name); |
if(!client.storeFile(name,item.getInputStream())) |
//client.setControlEncoding("ISO-8859-1"); |
if(!client.storeFile(DiacriticFilter.stripAccents(name),item.getInputStream())) |
result = "errors.ftp.no.permission"; |
} |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitProgramView.java |
---|
58,6 → 58,11 |
public void persistViewInObjectTeacher(CourseUnitProgram c) |
{ |
c.getCourseUnitProgramPart2().setObjectivos(courseUnitProgram.getCourseUnitProgramPart2().getObjectivos()); |
c.setPrerequisitos(courseUnitProgram.getPrerequisitos()); |
c.setLingua1(courseUnitProgram.getLingua1()); |
c.setLingua2(courseUnitProgram.getLingua2()); |
c.getCourseUnitProgramPart2().setAvaliacaoOrdinariosFrequencia(courseUnitProgram.getCourseUnitProgramPart2().getAvaliacaoOrdinariosFrequencia()); |
c.getCourseUnitProgramPart2().setAvaliacaoOrdinariosExame(courseUnitProgram.getCourseUnitProgramPart2().getAvaliacaoOrdinariosExame()); |
c.getCourseUnitProgramPart2().setAvaliacaoEspeciaisFrequencia(courseUnitProgram.getCourseUnitProgramPart2().getAvaliacaoEspeciaisFrequencia()); |
77,10 → 82,6 |
public void persistViewInObjectCoordinator(CourseUnitProgram c) |
{ |
c.getCourseUnitProgramPart2().setObjectivos(courseUnitProgram.getCourseUnitProgramPart2().getObjectivos()); |
c.setPrerequisitos(courseUnitProgram.getPrerequisitos()); |
c.setLingua1(courseUnitProgram.getLingua1()); |
c.setLingua2(courseUnitProgram.getLingua2()); |
c.setEcts(courseUnitProgram.getEcts()); |
c.setCargaHorariaTotal(courseUnitProgram.getCargaHorariaTotal()); |
96,21 → 97,8 |
public void persistViewInObjectAdministrator(CourseUnitProgram c) |
{ |
c.getCourseUnitProgramPart2().setObjectivos(courseUnitProgram.getCourseUnitProgramPart2().getObjectivos()); |
c.setPrerequisitos(courseUnitProgram.getPrerequisitos()); |
c.setLingua1(courseUnitProgram.getLingua1()); |
c.setLingua2(courseUnitProgram.getLingua2()); |
c.setEcts(courseUnitProgram.getEcts()); |
c.setCargaHorariaTotal(courseUnitProgram.getCargaHorariaTotal()); |
c.setCargaHorariaT(courseUnitProgram.getCargaHorariaT()); |
c.setCargaHorariaTP(courseUnitProgram.getCargaHorariaTP()) ; |
c.setCargaHorariaPL(courseUnitProgram.getCargaHorariaPL()); |
c.setCargaHorariaTC(courseUnitProgram.getCargaHorariaTC()); |
c.setCargaHorariaO(courseUnitProgram.getCargaHorariaO()); |
c.setCargaHorariaS(courseUnitProgram.getCargaHorariaS()); |
c.setCargaHorariaOT(courseUnitProgram.getCargaHorariaOT()); |
persistViewInObjectCoordinator(c); |
persistViewInObjectTeacher(c); |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
411,4 → 411,8 |
public static QuestionarioPedagogicoAlunoRequisitadoImpl createQuestionarioPedagogicoAlunoRequisitadoImpl() { |
return new QuestionarioPedagogicoAlunoRequisitadoImpl(); |
} |
public static ConfigurationImpl createConfigurationImpl() { |
return new ConfigurationImpl(); |
} |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java |
---|
360,16 → 360,25 |
|| usession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE)) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_ALL.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_COORDINATOR_PART.name(),usession); |
} |
if(usession.getUser() != null && usession.getUser() instanceof Teacher) |
{ |
Teacher t = ((Teacher)(usession.getUser())); |
boolean teacher = ((Teacher)(usession.getUser())).isTeacherOfCourseUnit(c.getId(),true); |
boolean responsable = c.getResponsableTeacher()!=null && usession.getUser().getId() == c.getResponsableTeacher().getId(); |
boolean isCoordinator = (c.getCourse().getCoordinator() != null && t.getId() == c.getCourse().getCoordinator().getId()) || (c.getCourse().getValidationRole() != null && t.hasRole(c.getCourse().getValidationRole())); |
if(teacher) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_TEACHER.name(), usession); |
} |
if(responsable) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_RESP_TEACHER.name(), usession); |
} |
if(teacher || responsable) |
{ |
//s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_TEACHER.name(), usession); |
381,37 → 390,52 |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_COMPLETE.name(),usession); |
} |
} |
} |
if(usession.getUser() != null && usession.getUser() instanceof Teacher |
&& (((usession.getUser())).hasRole(c.getCourse().getValidationRole()) |
|| |
((usession.getUser()) == c.getCourse().getCoordinator())) |
) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_COMMISSION.name(), usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITION.name(), usession); |
if(active && isEdit) |
if(isCoordinator) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_COMPLETE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_CAN_VALIDATE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_INFO_USER_COMMISSION.name(), usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITION.name(), usession); |
if(active && isEdit) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_COMPLETE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
} |
else if(active && isComplete) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
} |
else if(active && isClosed) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
} |
} |
else if(active && isComplete) |
if(!c.isValidProgram()) |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_EDITSAVE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_TEACHER_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_PERSIST_COMISSION_PART.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_CLOSE.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
if(teacher) |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name(), usession); |
if(isCoordinator) |
{ |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_TEACHER_PART.name(), usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_COORDINATOR_PART.name(), usession); |
} |
} |
else if(active && isClosed) |
else |
{ |
s.addClearance(CourseUnitClearancesOperation.EVALUATION_TRANSITATE_TO_EDIT.name(),usession); |
s.addClearance(CourseUnitClearancesOperation.PROGRAM_INFO_VALID_NOT_ACTIVE.name(), usession); |
} |
} |
c.setClearanceRuledSupport(s); |
} |
441,6 → 465,12 |
EVALUATION_INFO_USER_RESP_TEACHER, //INFO CLEARANCE |
EVALUATION_INFO_USER_COMMISSION, //INFO CLEARANCE |
PROGRAM_COORDINATOR_PART, |
PROGRAM_TEACHER_PART, |
PROGRAM_CAN_VALIDATE, |
PROGRAM_INFO_VALID_NOT_ACTIVE |
; |
public static CourseUnitClearancesOperation parse(String clearance) |
/branches/v3/impl/src/java/pt/estgp/estgweb/filters/filters/CourseUnitProgramClearancesFilter.java |
---|
New file |
0,0 → 1,35 |
package pt.estgp.estgweb.filters.filters; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.chains.LoadControlFilter; |
import pt.utl.ist.berserk.ServiceRequest; |
import pt.utl.ist.berserk.ServiceResponse; |
import pt.utl.ist.berserk.logic.filterManager.FilterParameters; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterException; |
/** |
* @author Jorge Machado |
* @date 4/Jun/2008 |
* @see pt.estgp.estgweb.filters.filters |
*/ |
public class CourseUnitProgramClearancesFilter extends LoadControlFilter |
{ |
private static final Logger logger = Logger.getLogger(CourseUnitProgramClearancesFilter.class); |
public static final String COURSEUNIT_PROGRAM_CLEARED_SERV_PARAM = "COURSEUNIT_PROGRAM_CLEARED_SERV_PARAM"; |
public void execute(ServiceRequest request, ServiceResponse response, FilterParameters filterParameters) throws FilterException, Exception |
{ |
UserSessionImpl usession = (UserSessionImpl) request.getServiceParameters().getParameter(Globals.USER_SESSION_KEY); |
Long unitId = (Long) request.getServiceParameters().getParameter((String) filterParameters.parametersArray()[0]); |
CourseUnitImpl c = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().get(unitId); |
c.initClearances(usession,true); |
request.getServiceParameters().addParameter(COURSEUNIT_PROGRAM_CLEARED_SERV_PARAM,c); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/tags/NotOwnerTag.java |
---|
New file |
0,0 → 1,98 |
package pt.estgp.estgweb.web.tags; |
import org.apache.log4j.Logger; |
import org.apache.struts.util.RequestUtils; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.IOwned; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import javax.servlet.jsp.JspException; |
import javax.servlet.jsp.JspWriter; |
import javax.servlet.jsp.tagext.BodyTagSupport; |
public class NotOwnerTag extends BodyTagSupport |
{ |
private static final Logger logger = Logger.getLogger(NotOwnerTag.class); |
private String name; |
private String property; |
private String valid; |
public String getName() |
{ |
return name; |
} |
public void setName(String name) |
{ |
this.name = name; |
} |
public String getProperty() |
{ |
return property; |
} |
public void setProperty(String property) |
{ |
this.property = property; |
} |
public String getValid() |
{ |
return valid; |
} |
public void setValid(String valid) |
{ |
this.valid = valid; |
} |
public int doStartTag() throws JspException |
{ |
if (go()) |
{ |
return EVAL_BODY_TAG; |
} |
else |
return SKIP_BODY; |
} |
public boolean go() throws JspException |
{ |
UserSessionImpl userSession = (UserSessionImpl) pageContext.getRequest().getAttribute(Globals.USER_SESSION_KEY); |
IOwned owned = (IOwned) RequestUtils.lookup(pageContext, name, property, null); |
return !(owned != null && userSession.getUser() != null && (owned.isOwnedBy(userSession.getUser(),false) || (userSession.getUser()).isSuperuserOrAdmin())); |
} |
public int doEndTag() throws JspException |
{ |
if(go()) |
{ |
String toPage = bodyContent.getString().trim(); |
JspWriter writer = pageContext.getOut(); |
try |
{ |
writer.write(toPage); |
} |
catch (Exception e) |
{ |
logger.error(e, e); |
throw new JspException(e); |
} |
} |
// Continue processing this page |
return EVAL_PAGE; |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/tags/NotClearOperationTag.java |
---|
61,7 → 61,16 |
{ |
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest((HttpServletRequest) pageContext.getRequest()); |
ClearanceRuled ruledObj = (ClearanceRuled) RequestUtils.lookup(pageContext, name, property, null); |
return !ruledObj.isClear(userSession,op); |
String[] ops = op.split(","); |
for(String opSub: ops) |
{ |
if(ruledObj.isClear(userSession,opSub)) |
{ |
return false; |
} |
} |
return true; |
} |
public int doEndTag() throws JspException |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/LayoutProxy.java |
---|
1,16 → 1,16 |
package pt.estgp.estgweb.web; |
import jomm.web.utils.NavPlace; |
import org.apache.log4j.Logger; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServlet; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.FileNotFoundException; |
import java.io.IOException; |
import java.io.FileNotFoundException; |
import java.net.URLEncoder; |
import jomm.web.utils.NavPlace; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
54,7 → 54,9 |
{ |
try |
{ |
getServletContext().getRequestDispatcher("/layout.do?server=" + server + "&path=" + path + "&layout=" + layout + "&" + request.getQueryString()).forward(request,response); |
//Aqui temos de codificar em UTf-8 porque estamos dentro da máquina em UTF-8 |
//Tem de ser com o URLEncoder e não com o URIUtil porque o URLEncoder trabalha com o + e o URIUtil apenas trabalha com diacriticos |
getServletContext().getRequestDispatcher("/layout.do?server=" + server + "&path=" + URLEncoder.encode(path, "UTF-8") + "&layout=" + layout + "&" + request.getQueryString()).forward(request, response); |
} |
catch(FileNotFoundException e) |
{ |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/form/configuration/ConfigurationsForm.java |
---|
New file |
0,0 → 1,52 |
package pt.estgp.estgweb.web.form.configuration; |
import pt.estgp.estgweb.domain.Configuration; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
/** |
* @author Jorge Machado |
* @date 25/Jun/2008 |
* @see pt.estgp.estgweb.web.form.courses |
*/ |
public class ConfigurationsForm extends ApplicationForm |
{ |
private String dispatch; |
private long id; |
private Configuration configuration; |
public ConfigurationsForm() |
{ |
} |
public Configuration getConfiguration() { |
if(configuration == null) |
configuration = DomainObjectFactory.createConfigurationImpl(); |
return configuration; |
} |
public void setConfiguration(Configuration configuration) { |
this.configuration = configuration; |
} |
public String getOp() { |
return dispatch; |
} |
public void setOp(String dispatch) { |
this.dispatch = dispatch; |
} |
public long getId() { |
return id; |
} |
public void setId(long id) { |
this.id = id; |
} |
} |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/FtpManager.java |
---|
57,7 → 57,7 |
InputStream stream = item.getInputStream(); |
if (item.isFormField()) |
{ |
request.setAttribute(item.getFieldName(), item.getString()); |
request.setAttribute(item.getFieldName(), new String(item.getString().getBytes("ISO-8859-1"))); |
} |
if (stream != null && item.getSize() > 0 && item.getName() != null) |
{ |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsProgramController.java |
---|
35,6 → 35,54 |
public ActionForward validateProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable { |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
if(id <= 0) |
id = cUF.getCourseUnitView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{id}; |
String[] names = new String[]{"unitId"}; |
sm.execute(RequestUtils.getRequester(request, response), "ValidateCourseUnitProgram", args,names); |
return saveProgram(mapping, |
form, |
request, |
response); |
} |
public ActionForward invalidateProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable { |
CourseUnitProgramForm cUF = (CourseUnitProgramForm) form; |
long id = cUF.getCourseUnitId(); |
if(id <= 0) |
id = cUF.getCourseUnitView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{id}; |
String[] names = new String[]{"unitId"}; |
sm.execute(RequestUtils.getRequester(request, response), "InvalidateCourseUnitProgram", args,names); |
return editProgram(mapping, |
form, |
request, |
response); |
} |
public ActionForward editProgram(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/ConfigurationsController.java |
---|
New file |
0,0 → 1,151 |
package pt.estgp.estgweb.web.controllers.configuration; |
import jomm.dao.impl.AbstractDao; |
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.ConfigurationGradesEpocaAvaliacao; |
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpoca; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class ConfigurationsController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(ConfigurationsController.class); |
public ActionForward saveGrades(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
for(ConfigurationGradesEpocaAvaliacao a: f.getConfigurationGrades().getEpocasAvaliacao()) |
{ |
if(a.getId() > 0) |
{ |
ConfigurationGradesEpocaAvaliacao persist = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().load(a.getId()); |
persist.setCodigoEpoca(a.getCodigoEpoca()); |
persist.setCodigoMomento(a.getCodigoMomento()); |
persist.setObs(a.getObs()); |
persist.setDescricao(a.getDescricao()); |
} |
} |
for(ConfigurationGradesStatusEpoca a: f.getConfigurationGrades().getStatusEpocas()) |
{ |
if(a.getId() > 0) |
{ |
ConfigurationGradesStatusEpoca persist = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().load(a.getId()); |
persist.setStatus(a.getStatus()); |
persist.setObs(a.getObs()); |
persist.setDescricao(a.getDescricao()); |
} |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward addEpocaAvaliacao(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
ConfigurationGradesEpocaAvaliacao epoca = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl(); |
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getEpocasAvaliacao().add(epoca); |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward addSatusEpoca(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
ConfigurationGradesStatusEpoca status = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl(); |
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getStatusEpoca().add(status); |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().save(status); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward deleteEpocaAvaliacao(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().delete(f.getId()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward deleteStatusEpoca(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws ServletException |
{ |
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services")) |
{ |
return mapping.findForward("error401"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().delete(f.getId()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/branches/v3/impl/src/java/pt/estgp/estgweb/web/filters/RequestURLFilter.java |
---|
1,12 → 1,9 |
package pt.estgp.estgweb.web.filters; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import org.apache.commons.httpclient.util.URIUtil; |
import javax.servlet.*; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.List; |
import java.io.IOException; |
/** |
43,13 → 40,15 |
String relativePath = hrequest.getServletPath(); |
if (relativePath == null) |
relativePath = ""; |
else |
relativePath = URIUtil.encodePath(relativePath, "ISO-8859-1"); |
if (hrequest.getPathInfo() != null && hrequest.getPathInfo().length() > 0) |
{ |
relativePath += hrequest.getPathInfo(); |
relativePath += URIUtil.encodePath(hrequest.getPathInfo(), "ISO-8859-1"); |
} |
if(hrequest.getQueryString() != null && hrequest.getQueryString().length()>0) |
relativePath += "?" + hrequest.getQueryString(); |
relativePath += "?" + URIUtil.encodePath(hrequest.getQueryString(), "ISO-8859-1"); |
String url = relativePath; |