Index: lams_webct_integration/db/sql/createTable.sql =================================================================== diff -u -r1e48e51fc873467eef72ce5af99d865c5a0d818c -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/db/sql/createTable.sql (.../createTable.sql) (revision 1e48e51fc873467eef72ce5af99d865c5a0d818c) +++ lams_webct_integration/db/sql/createTable.sql (.../createTable.sql) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -1,28 +1,28 @@ USE webctdatabase; IF EXISTS - (SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[LAMS_LESSON]') + (SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'dbo.LAMS_LESSON') AND type = (N'U')) - DROP TABLE [dbo].[LAMS_LESSON]; + DROP TABLE dbo.LAMS_LESSON; -CREATE TABLE [dbo].[LAMS_LESSON]( - [id] [bigint] IDENTITY(1,1) NOT NULL, - [pt_id] [bigint] NOT NULL, - [lesson_id] [bigint] NOT NULL, - [learning_context_id] [bigint] NOT NULL, - [sequence_id] [bigint] NULL, - [owner_id] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, - [owner_first_name] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, - [owner_last_name] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, - [title] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, - [description] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL, - [hidden] [bit] NOT NULL CONSTRAINT [DF_LAMS_LESSON_hidden] DEFAULT ((0)), - [schedule] [bit] NOT NULL CONSTRAINT [DF_LAMS_LESSON_schedule] DEFAULT ((0)), - [start_date_time] [datetime] NULL, - [end_date_time] [datetime] NULL, - CONSTRAINT [PK_LAMS_LESSON] PRIMARY KEY CLUSTERED +CREATE TABLE dbo.LAMS_LESSON( + id bigint IDENTITY(1,1) NOT NULL, + pt_id bigint NOT NULL, + lesson_id bigint NOT NULL, + learning_context_id bigint NOT NULL, + sequence_id bigint NULL, + owner_id varchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + owner_first_name varchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + owner_last_name varchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + title varchar(255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, + description text COLLATE SQL_Latin1_General_CP1_CI_AS NULL, + hidden bit NOT NULL CONSTRAINT DF_LAMS_LESSON_hidden DEFAULT ((0)), + schedule bit NOT NULL CONSTRAINT DF_LAMS_LESSON_schedule DEFAULT ((0)), + start_date_time datetime NULL, + end_date_time datetime NULL, + CONSTRAINT PK_LAMS_LESSON PRIMARY KEY CLUSTERED ( - [lesson_id] ASC -)WITH (IGNORE_DUP_KEY = OFF) ON [WEBCT_DATA] -) ON [WEBCT_DATA] TEXTIMAGE_ON [WEBCT_DATA]; + lesson_id ASC +)WITH (IGNORE_DUP_KEY = OFF) ON WEBCT_DATA +) ON WEBCT_DATA TEXTIMAGE_ON WEBCT_DATA; Index: lams_webct_integration/db/sql/deleteTable.sql =================================================================== diff -u -r2654d999eb449c7c2223997b0386cb8798186646 -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/db/sql/deleteTable.sql (.../deleteTable.sql) (revision 2654d999eb449c7c2223997b0386cb8798186646) +++ lams_webct_integration/db/sql/deleteTable.sql (.../deleteTable.sql) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -1,6 +1,6 @@ USE webctdatabase; IF EXISTS - (SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[LAMS_LESSON]') + (SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'dbo.LAMS_LESSON') AND type = (N'U')) - DROP TABLE [dbo].[LAMS_LESSON]; \ No newline at end of file + DROP TABLE dbo.LAMS_LESSON; \ No newline at end of file Index: lams_webct_integration/src/org/lamsfoundation/integration/dao/LamsLessonDaoJDBC.java =================================================================== diff -u -r1e48e51fc873467eef72ce5af99d865c5a0d818c -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/src/org/lamsfoundation/integration/dao/LamsLessonDaoJDBC.java (.../LamsLessonDaoJDBC.java) (revision 1e48e51fc873467eef72ce5af99d865c5a0d818c) +++ lams_webct_integration/src/org/lamsfoundation/integration/dao/LamsLessonDaoJDBC.java (.../LamsLessonDaoJDBC.java) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -102,19 +102,19 @@ connection = getConnection(); Statement stmt = connection.createStatement(); - String query = "SELECT [lesson_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] " + + String query = "SELECT lesson_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 (learning_context_id=" +learningContextId+ ") " + "AND (pt_id=" +ptId+ ")"; @@ -163,19 +163,19 @@ connection = getConnection(); Statement stmt = connection.createStatement(); - String query = "SELECT [lesson_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] " + + String query = "SELECT lesson_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 " + "(" + "(learning_context_id=" +learningContextId+ ") " + @@ -265,20 +265,20 @@ Statement stmt = connection.createStatement(); - String insert = "INSERT INTO [webctdatabase].[dbo].[LAMS_LESSON]" + - "([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])" + + String insert = "INSERT INTO webctdatabase.dbo.LAMS_LESSON" + + "(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)" + "VALUES" + "(" +lesson.getLessonId()+ "," + "" +lesson.getPtId()+ "," + @@ -314,39 +314,48 @@ public boolean updateLesson(LamsLesson lesson) { - - Connection connection; int rows = 0; try { connection = getConnection(); Statement stmt = connection.createStatement(); + int hidden=0; + int schedule=0; + + if (lesson.getHidden()) {hidden=1;} + if (lesson.getSchedule()) {schedule=1;} + String startTimeStamp = "null"; if (lesson.getStartTimestamp()!=null) - startTimeStamp = lesson.getStartTimestamp().toString().replaceAll("-", ""); - + { + startTimeStamp = "\'" +lesson.getStartTimestamp(); + startTimeStamp = startTimeStamp.replaceAll("-", "") + "\'"; + } + String endTimeStamp = "null"; if (lesson.getEndTimestamp()!=null) - endTimeStamp = lesson.getEndTimestamp().toString().replaceAll("-", ""); + { + endTimeStamp = "\'" + lesson.getEndTimestamp(); + endTimeStamp = endTimeStamp.replaceAll("-", "") + "\'"; + } + 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 = " +hidden+ + ",schedule = " +schedule+ + ",start_date_time = " +startTimeStamp+ + ",end_date_time = " +endTimeStamp+ " " + + "WHERE lesson_id = " + lesson.getLessonId(); - 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] = \'" +startTimeStamp+ "\'" + - ",[end_date_time] = \'" +endTimeStamp+ "\' " + - "WHERE [lesson_id] = " + lesson.getLessonId(); - System.out.println("UPDATE: " + update); rows = stmt.executeUpdate(update); @@ -362,6 +371,11 @@ e.printStackTrace(); log.error("Error updating LAMS lesson to database.", e); } + catch (Exception e) + { + e.printStackTrace(); + log.error("Error updating LAMS lesson to database.", e); + } return rows>0; @@ -377,7 +391,7 @@ connection = getConnection(); Statement stmt = connection.createStatement(); - String delete="DELETE FROM [webctdatabase].[dbo].[LAMS_LESSON] WHERE lesson_id=" +lsId; + String delete="DELETE FROM webctdatabase.dbo.LAMS_LESSON WHERE lesson_id=" +lsId; System.out.println("DELETE: " + delete); rows = stmt.executeUpdate(delete); @@ -407,20 +421,20 @@ 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] " + + 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); Index: lams_webct_integration/src/org/lamsfoundation/integration/webct/LamsModule.java =================================================================== diff -u -r1e48e51fc873467eef72ce5af99d865c5a0d818c -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/src/org/lamsfoundation/integration/webct/LamsModule.java (.../LamsModule.java) (revision 1e48e51fc873467eef72ce5af99d865c5a0d818c) +++ lams_webct_integration/src/org/lamsfoundation/integration/webct/LamsModule.java (.../LamsModule.java) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -11,7 +11,7 @@ import java.util.Properties; import javax.security.auth.Subject; import javax.security.auth.callback.CallbackHandler; -import java.sql.Date; +import java.util.Calendar; import java.sql.Timestamp; import javax.security.auth.login.LoginException; @@ -431,34 +431,61 @@ params.put("lsID", request.getParameter("lsID")); params.put("title", modLesson.getTitle()); params.put("description", modLesson.getDescription()); - params.put("start", modLesson.getStartTimestamp()); - params.put("end", modLesson.getEndTimestamp()); + + if (modLesson.getStartTimestamp()!=null) + { + Calendar calendarStart = Calendar.getInstance(); + calendarStart.setTime(modLesson.getStartTimestamp()); + params.put("startStr", + calendarStart.get(Calendar.DATE) + "/" + calendarStart.get(Calendar.MONTH) + "/" + calendarStart.get(Calendar.YEAR)); + params.put("stHrCk" + calendarStart.get(Calendar.HOUR), "selected" ); + params.put("stMnCk" + calendarStart.get(Calendar.MINUTE), "selected" ); + params.put("stAmCk" + calendarStart.get(Calendar.AM_PM), "selected" ); + } + else + { + params.put("startStr", ""); + params.put("stHrCk9", "selected" ); + params.put("stMnCk0", "selected" ); + params.put("stAmCk0", "selected" ); + } + + if (modLesson.getEndTimestamp()!=null) + { + Calendar calendarEnd = Calendar.getInstance(); + calendarEnd.setTime(modLesson.getEndTimestamp()); + params.put("endStr", calendarEnd.get(Calendar.DATE) + "/" + calendarEnd.get(Calendar.MONTH) + "/" + calendarEnd.get(Calendar.YEAR)); + params.put("edHrCk" + calendarEnd.get(Calendar.HOUR), "selected" ); + params.put("edMnCk" + calendarEnd.get(Calendar.MINUTE), "selected" ); + params.put("edAmCk" + calendarEnd.get(Calendar.AM_PM), "selected" ); + } + else + { + params.put("endStr", ""); + params.put("edHrCk9", "selected" ); + params.put("edMnCk0", "selected" ); + params.put("edAmCk0", "selected" ); + } if (modLesson.getHidden()) { - params.put("hidden", "true"); - params.put("notHidden", "false"); + params.put("hidden", "checked"); } else { - params.put("hidden", "false"); - params.put("notHidden", "true"); + params.put("nothidden", "checked"); } if (modLesson.getSchedule()) { - params.put("schedule", "true"); - params.put("notSchedule", "false"); + params.put("schedule", "checked"); } else { - params.put("schedule", "false"); - params.put("notSchedule", "true"); + params.put("notschedule", "checked"); } - html = this.generatePage("web/modify.vm", params); } catch (Exception e) @@ -478,10 +505,36 @@ modLesson.setTitle(request.getParameter("title")); modLesson.setDescription(request.getParameter("description")); - modLesson.setHidden(request.getParameter("isAvailable").equals("true")); + modLesson.setHidden(request.getParameter("isAvailable").equals("false")); modLesson.setSchedule(request.getParameter("schedule").equals("true")); + Timestamp start = null; + Timestamp end = null; + + if (request.getParameter("schedule").equals("true")) + { + if (request.getParameter("dateStart")!=null && !request.getParameter("dateStart").equals("")) + { + start = getTimeStamp(request.getParameter("dateStart"), + request.getParameter("startHour"), + request.getParameter("startMin"), + request.getParameter("startAMPM")); + } + + if (request.getParameter("dateEnd")!=null && !request.getParameter("dateEnd").equals("")) + { + + end = getTimeStamp(request.getParameter("dateEnd"), + request.getParameter("endHour"), + request.getParameter("endMin"), + request.getParameter("endAMPM")); + } + } + modLesson.setStartTimestamp(start); + modLesson.setEndTimestamp(end); + + boolean success = lessonDao.updateLesson(modLesson); Index: lams_webct_integration/web/create.vm =================================================================== diff -u -r1e48e51fc873467eef72ce5af99d865c5a0d818c -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/web/create.vm (.../create.vm) (revision 1e48e51fc873467eef72ce5af99d865c5a0d818c) +++ lams_webct_integration/web/create.vm (.../create.vm) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -44,12 +44,31 @@ $(document).ready(function(){ - $('#dateStart').calendar(); - $('#dateEnd').calendar(); + var today = new Date(); + today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); + + $('.calendarRange').calendar({minDate: today, fieldSettings: customRange, onSelect:dateSelected}); }); - - + function dateSelected() { + var schedule = document.create_form.schedule[0]; + var dontschedule = document.create_form.schedule[1]; + schedule.checked = true; + dontschedule.checked = false; + } + + function getDate(value) { + fields = value.split('/'); + return (fields.length < 3 ? null : + new Date(parseInt(fields[2], 10), parseInt(fields[1], 10) - 1, parseInt(fields[0], 10))); + } + + function customRange(input) + { + return {minDate: (input.id == 'dateEnd' ? getDate($('#dateStart').val()) : null), + maxDate: (input.id == 'dateStart' ? getDate($('#dateEnd').val()) : null)}; + } + function openAuthor() { authorUrl = '${authorUrl}'; @@ -184,9 +203,9 @@
Title | -Description | -Actions | +Title | +Description | +Actions |
---|
#else No LAMS lessons running. Index: lams_webct_integration/web/modify.vm =================================================================== diff -u -r1e48e51fc873467eef72ce5af99d865c5a0d818c -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/web/modify.vm (.../modify.vm) (revision 1e48e51fc873467eef72ce5af99d865c5a0d818c) +++ lams_webct_integration/web/modify.vm (.../modify.vm) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -27,23 +27,69 @@
+ + @@ -89,19 +136,101 @@
+
+
+
+
+
+
Schedule Lesson: | -
- Yes - No + |
+ Yes + No |
-
+ + + | +
+ Start date: + + End date: + + |
+
+ Start time: + : + + + End time: + : + + + |
+
Index: lams_webct_integration/web/teach.vm =================================================================== diff -u -r1e48e51fc873467eef72ce5af99d865c5a0d818c -r1f78d75662f32653744b32eba99d5ffc3b222855 --- lams_webct_integration/web/teach.vm (.../teach.vm) (revision 1e48e51fc873467eef72ce5af99d865c5a0d818c) +++ lams_webct_integration/web/teach.vm (.../teach.vm) (revision 1f78d75662f32653744b32eba99d5ffc3b222855) @@ -144,20 +144,52 @@
Title | -Description | -Hidden | -Scheduled | -Start | -End | -Actions | +Title | +Description | +Status | + + +Actions |
---|---|---|---|---|---|---|---|---|---|---|
$lesson.getTitle() | $lesson.getDescription() | + + #set( $start = '' ) + #set( $end = '' ) + #set( $endStr = '' ) + +
+
+ #if ( $lesson.getSchedule() )
+ #set( $start = $lesson.getStartTimestamp() )
+ #set( $end = $lesson.getEndTimestamp() )
+ #set( $endStr = $end.toString() )
+
+ #if( $endStr != '' )
+ Scheduled from: + $start.toString() to + $endStr + #else + Scheduled from: + $start.toString() + #end + + #if( $lesson.getHidden() ) + (Hidden) + #end + #elseif( $lesson.getHidden() ) + Hidden + #else + Running + #end + + |
+
+
Open Learner |