package fi.otavanopisto.pyramus.json.settings;
import fi.internetix.smvc.controllers.JSONRequestContext;
import fi.otavanopisto.pyramus.dao.DAOFactory;
import fi.otavanopisto.pyramus.dao.courses.CourseTypeDAO;
import fi.otavanopisto.pyramus.domainmodel.courses.CourseType;
import fi.otavanopisto.pyramus.framework.JSONRequestController;
import fi.otavanopisto.pyramus.framework.UserRole;
public class SaveCourseTypesJSONRequestController extends JSONRequestController {
public void process(JSONRequestContext jsonRequestContext) {
CourseTypeDAO courseTypeDAO = DAOFactory.getInstance().getCourseTypeDAO();
int rowCount = jsonRequestContext.getInteger("courseTypesTable.rowCount").intValue();
for (int i = 0; i < rowCount; i++) {
CourseType courseType;
String colPrefix = "courseTypesTable." + i;
Long courseTypeId = jsonRequestContext.getLong(colPrefix + ".courseTypeId");
String name = jsonRequestContext.getRequest().getParameter(colPrefix + ".name");
if (courseTypeId == -1) {
courseType = courseTypeDAO.create(name);
} else {
courseType = courseTypeDAO.findById(courseTypeId);
courseTypeDAO.updateName(courseType, name);
}
}
jsonRequestContext.setRedirectURL(jsonRequestContext.getReferer(true));
}
public UserRole[] getAllowedRoles() {
return new UserRole[] { UserRole.MANAGER, UserRole.STUDY_PROGRAMME_LEADER, UserRole.ADMINISTRATOR };
}
}