package fi.otavanopisto.pyramus.json.settings; import java.util.Date; import fi.internetix.smvc.controllers.JSONRequestContext; import fi.otavanopisto.pyramus.dao.DAOFactory; import fi.otavanopisto.pyramus.dao.base.AcademicTermDAO; import fi.otavanopisto.pyramus.domainmodel.base.AcademicTerm; import fi.otavanopisto.pyramus.framework.JSONRequestController; import fi.otavanopisto.pyramus.framework.UserRole; public class SaveAcademicTermsJSONRequestController extends JSONRequestController { public void process(JSONRequestContext jsonRequestContext) { AcademicTermDAO academicTermDAO = DAOFactory.getInstance().getAcademicTermDAO(); int rowCount = jsonRequestContext.getInteger("termsTable.rowCount"); for (int i = 0; i < rowCount; i++) { String colPrefix = "termsTable." + i; Long termId = jsonRequestContext.getLong(colPrefix + ".termId"); String name = jsonRequestContext.getString(colPrefix + ".name"); Date startDate = jsonRequestContext.getDate(colPrefix + ".startDate"); Date endDate = jsonRequestContext.getDate(colPrefix + ".endDate"); boolean modified = jsonRequestContext.getInteger(colPrefix + ".modified") == 1; if (termId == -1) { academicTermDAO.create(name, startDate, endDate); } else if (modified) { AcademicTerm term = academicTermDAO.findById(termId); academicTermDAO.update(term, name, startDate, endDate); } } jsonRequestContext.setRedirectURL(jsonRequestContext.getReferer(true)); } public UserRole[] getAllowedRoles() { return new UserRole[] { UserRole.MANAGER, UserRole.STUDY_PROGRAMME_LEADER, UserRole.ADMINISTRATOR }; } }