Index: lams_webct_integration/src/org/lamsfoundation/integration/dao/LamsLessonDaoJDBC.java =================================================================== diff -u -r2654d999eb449c7c2223997b0386cb8798186646 -r4865b414bb4cd9300d03e34944495747361432ad --- lams_webct_integration/src/org/lamsfoundation/integration/dao/LamsLessonDaoJDBC.java (.../LamsLessonDaoJDBC.java) (revision 2654d999eb449c7c2223997b0386cb8798186646) +++ lams_webct_integration/src/org/lamsfoundation/integration/dao/LamsLessonDaoJDBC.java (.../LamsLessonDaoJDBC.java) (revision 4865b414bb4cd9300d03e34944495747361432ad) @@ -1,11 +1,8 @@ package org.lamsfoundation.integration.dao; -import java.util.Date; import java.util.Map; import java.sql.Connection; -import java.sql.DriverManager; import java.sql.SQLException; -import java.sql.PreparedStatement; import java.sql.Statement; import java.sql.ResultSet; import java.util.ArrayList; @@ -14,7 +11,6 @@ import com.microsoft.sqlserver.jdbc.SQLServerDataSource; import org.lamsfoundation.integration.util.Constants; -import org.lamsfoundation.integration.webct.LamsModule; import org.lamsfoundation.integration.webct.LamsLesson; @@ -118,7 +114,7 @@ "[start_date_time]," + "[end_date_time] " + "FROM [webctdatabase].[dbo].[LAMS_LESSON] " + - "WHERE (learning_context_id=" +learningContextId+ ")" + + "WHERE (learning_context_id=" +learningContextId+ ") " + "AND (pt_id=" +ptId+ ")"; System.out.println("SQL INSERT: " +query); @@ -220,7 +216,53 @@ } + public boolean updateLesson(LamsLesson lesson) + { + + + Connection connection; + int rows = 0; + try + { + connection = getConnection(); + Statement stmt = connection.createStatement(); + + String update="UPDATE [webctdatabase].[dbo].[LAMS_LESSON]" + + " SET [pt_id] = " +lesson.getPtId()+ + ",[learning_context_id] = " +lesson.getLearningContextId()+ + ",[sequence_id] = " + lesson.getSequenceId()+ + ",[owner_id] = \'" + lesson.getOwnerId()+ "\'" + + ",[owner_first_name] = \'" +lesson.getOwnerFirstName()+ "\'" + + ",[owner_last_name] = \'" + lesson.getOwnerLastName()+ "\'" + + ",[title] = \'" +lesson.getTitle()+ "\'" + + ",[description] = \'" +lesson.getDescription()+ "\'" + + ",[hidden] = \'" +lesson.getHidden()+ "\'" + + ",[schedule] = \'" +lesson.getSchedule()+ "\'" + + ",[start_date_time] = \'" +lesson.getStartDate()+ "\'" + + ",[end_date_time] = \'" +lesson.getEndDate()+ "\' " + + "WHERE [lesson_id] = " + lesson.getLessonId(); + + System.out.println("UPDATE: " + update); + + rows = stmt.executeUpdate(update); + stmt.close(); + + connection.commit(); + connection.close(); + + + } + catch (SQLException e) + { + e.printStackTrace(); + log.error("Error updating LAMS lesson to database.", e); + } + + return rows>0; + } + + public boolean deleteDbLesson(long lsId) { Connection connection; @@ -251,7 +293,68 @@ } + public LamsLesson getDBLesson(String lsId) throws Exception + { + LamsLesson lesson = new LamsLesson();; + Connection connection; + try + { + connection = getConnection(); + Statement stmt = connection.createStatement(); + + String query = "SELECT [lesson_id]," + + "[pt_id]," + + "[learning_context_id]," + + "[sequence_id]," + + "[owner_id]," + + "[owner_first_name]," + + "[owner_last_name]," + + "[title]," + + "[description]," + + "[hidden]," + + "[schedule]," + + "[start_date_time]," + + "[end_date_time] " + + "FROM [webctdatabase].[dbo].[LAMS_LESSON] " + + "WHERE (lesson_id=" +lsId+ ")"; + + System.out.println("GET LESSON: " +query); + + ResultSet rs = stmt.executeQuery(query); + + rs.next(); + + lesson.setLessonId(rs.getLong("lesson_id")); + lesson.setPtId(rs.getLong("pt_id")); + lesson.setLearningContextId(rs.getLong("learning_context_id")); + lesson.setSequenceId(rs.getLong("sequence_id")); + lesson.setTitle(rs.getString("title")); + lesson.setDescription(rs.getString("description")); + lesson.setOwnerId(rs.getString("owner_id")); + lesson.setOwnerFirstName(rs.getString("owner_first_name")); + lesson.setOwnerLastName(rs.getString("owner_last_name")); + lesson.setHidden(rs.getBoolean("hidden")); + lesson.setSchedule(rs.getBoolean("schedule")); + lesson.setStartDate(rs.getDate("start_date_time")); + lesson.setEndDate(rs.getDate("end_date_time")); + + stmt.close(); + connection.close(); + } + catch (SQLException e) + { + e.printStackTrace(); + log.error("Failed to get LAMS lesson.", e); + throw new Exception ("Failed to get LAMS lesson."); + } + catch (Exception e) + { + throw new Exception ("Failed to get LAMS lesson."); + } + return lesson; + } + public String getDbUrl() { return dbUrl; } Index: lams_webct_integration/src/org/lamsfoundation/integration/webct/LamsModule.java =================================================================== diff -u -rca43ebd62595ee69242f85efc7be18aeb4af08c0 -r4865b414bb4cd9300d03e34944495747361432ad --- lams_webct_integration/src/org/lamsfoundation/integration/webct/LamsModule.java (.../LamsModule.java) (revision ca43ebd62595ee69242f85efc7be18aeb4af08c0) +++ lams_webct_integration/src/org/lamsfoundation/integration/webct/LamsModule.java (.../LamsModule.java) (revision 4865b414bb4cd9300d03e34944495747361432ad) @@ -409,6 +409,94 @@ } return true; } + else if(action.equals("modify_lesson")) + { + try{ + LamsLessonDaoJDBC lessonDao = new LamsLessonDaoJDBC(settings); + LamsLesson modLesson = lessonDao.getDBLesson(request.getParameter("lsID")); + + + params.put("lsID", request.getParameter("lsID")); + params.put("title", modLesson.getTitle()); + params.put("description", modLesson.getDescription()); + params.put("start", modLesson.getStartDate()); + params.put("end", modLesson.getEndDate()); + + + if (modLesson.getHidden()) + { + params.put("hidden", "true"); + params.put("notHidden", "false"); + } + else + { + params.put("hidden", "false"); + params.put("notHidden", "true"); + } + + + if (modLesson.getSchedule()) + { + params.put("schedule", "true"); + params.put("notSchedule", "false"); + } + else + { + params.put("schedule", "false"); + params.put("notSchedule", "true"); + } + + + html = this.generatePage("web/modify.vm", params); + } + catch (Exception e) + { + log.error("Error creating LAMS lesson modify page: ", e); + throw new LoginException("Error creating LAMS lesson modify page: " + e.getMessage()); + } + + } + else if(action.equals("modify_proc")) + { + LamsLessonDaoJDBC lessonDao = new LamsLessonDaoJDBC(settings); + + + try{ + LamsLesson modLesson = lessonDao.getDBLesson(request.getParameter("lsID")); + + modLesson.setTitle(request.getParameter("title")); + modLesson.setDescription(request.getParameter("description")); + modLesson.setHidden(request.getParameter("isAvailable").equals("true")); + modLesson.setSchedule(request.getParameter("schedule").equals("true")); + + + //TODO: DO SOMETHING ABOUT DATES + //Date start = new Date(0); + //Date end = new Date(0); + + boolean success = lessonDao.updateLesson(modLesson); + + + if (success) + { + params.put("successMessage", "LAMS lesson updated successfully."); + } + else + { + params.put("successMessage", "Unable to update LAMS lesson."); + } + + html = this.generatePage("web/lessonCreated.vm", params); + + + } + catch (Exception e) + { + log.error("Error creating LAMS lesson created page: ", e); + throw new LoginException("Error creating LAMS lesson created page: " + e.getMessage()); + } + + } super.setResponseContent(html); Index: lams_webct_integration/web/create.vm =================================================================== diff -u -rca43ebd62595ee69242f85efc7be18aeb4af08c0 -r4865b414bb4cd9300d03e34944495747361432ad --- lams_webct_integration/web/create.vm (.../create.vm) (revision ca43ebd62595ee69242f85efc7be18aeb4af08c0) +++ lams_webct_integration/web/create.vm (.../create.vm) (revision 4865b414bb4cd9300d03e34944495747361432ad) @@ -23,6 +23,7 @@