Index: lams_build/lib/lams/lams-monitoring.jar
===================================================================
diff -u -rf4c79beeec8eea50e99a8d2cde21c27d45aa446d -r7bf7065d902a3645561f57c779b86721eedc27a5
Binary files differ
Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -rc658ae28364ada9c016296c8d56359472d1d131d -r7bf7065d902a3645561f57c779b86721eedc27a5
Binary files differ
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml
===================================================================
diff -u -rc9c56707245e3ad1149bf1a5338eb251c96c75d2 -r7bf7065d902a3645561f57c779b86721eedc27a5
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml (.../Lesson.hbm.xml) (revision c9c56707245e3ad1149bf1a5338eb251c96c75d2)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml (.../Lesson.hbm.xml) (revision 7bf7065d902a3645561f57c779b86721eedc27a5)
@@ -81,6 +81,23 @@
+
+
+ SELECT DISTINCT {lesson.*}
+ FROM lams_lesson {lesson},
+ lams_grouping,
+ lams_group,
+ lams_user_group,
+ lams_learning_design
+ WHERE ({lesson}.class_grouping_id = lams_grouping.grouping_id)
+ AND (lams_grouping.staff_group_id = lams_group.group_id)
+ AND (lams_group.group_id = lams_user_group.group_id)
+ AND NOT ({lesson}.lesson_state_id = 7)
+ AND (lams_user_group.user_id = :userId)
+ AND ({lesson}.learning_design_id = lams_learning_design.learning_design_id)
+ AND (lams_learning_design.copy_type_id=2)
+
+
SELECT DISTINCT {lesson.*}
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java
===================================================================
diff -u -rb4cabf232f0083ce244e3c7c3676e04737955ef6 -r7bf7065d902a3645561f57c779b86721eedc27a5
--- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision b4cabf232f0083ce244e3c7c3676e04737955ef6)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision 7bf7065d902a3645561f57c779b86721eedc27a5)
@@ -438,6 +438,7 @@
this.getLessonName(),
this.getLessonDescription(),
this.lessonStateId,
+ this.organisation!=null?this.organisation.getOrganisationId():null,
this.createDateTime,
this.startDateTime);
}
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r7bf7065d902a3645561f57c779b86721eedc27a5
--- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java (.../ILessonDAO.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/ILessonDAO.java (.../ILessonDAO.java) (revision 7bf7065d902a3645561f57c779b86721eedc27a5)
@@ -82,6 +82,14 @@
public List getLessonsCreatedByUser(Integer userID);
/**
+ * Gets all lessons for which this user is in the staff group. Does not return
+ * disabled lessons or preview lessons. This is the list of lessons that a user may monitor/moderate/manage.
+ * @param user a User that identifies the teacher/staff member.
+ * @return a List with all appropriate lessons in it.
+ */
+ public List getLessonsForMonitoring(final int userID);
+
+ /**
* Returns the all the learners that have started the requested lesson.
*
* @param lessonId the id of the requested lesson.
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java
===================================================================
diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r7bf7065d902a3645561f57c779b86721eedc27a5
--- lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java (.../LessonDAO.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/dao/hibernate/LessonDAO.java (.../LessonDAO.java) (revision 7bf7065d902a3645561f57c779b86721eedc27a5)
@@ -175,6 +175,29 @@
}
/**
+ * Gets all lessons for which this user is in the staff group. Does not return
+ * disabled lessons or preview lessons. This is the list of lessons that a user may monitor/moderate/manage.
+ * @param user a User that identifies the teacher/staff member.
+ * @return a List with all appropriate lessons in it.
+ */
+ public List getLessonsForMonitoring(final int userID)
+ {
+ List lessons = null;
+
+ HibernateTemplate hibernateTemplate = new HibernateTemplate(this.getSessionFactory());
+ lessons = (List)hibernateTemplate.execute(
+ new HibernateCallback() {
+ public Object doInHibernate(Session session) throws HibernateException {
+ Query query = session.getNamedQuery("lessonsForMonitoring");
+ query.setInteger("userId", userID);
+ List result = query.list();
+ return result;
+ }
+ }
+ );
+ return lessons;
+ }
+ /**
* Get all the preview lessons more with the creation date before the given date.
*
* @param startDate UTC date
Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java
===================================================================
diff -u -rb4cabf232f0083ce244e3c7c3676e04737955ef6 -r7bf7065d902a3645561f57c779b86721eedc27a5
--- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java (.../LessonDTO.java) (revision b4cabf232f0083ce244e3c7c3676e04737955ef6)
+++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDTO.java (.../LessonDTO.java) (revision 7bf7065d902a3645561f57c779b86721eedc27a5)
@@ -47,6 +47,7 @@
private String lessonName;
private String lessonDescription;
private Integer lessonStateID;
+ private Integer organisationID;
private Date createDateTime;
private Date startDateTime;
@@ -60,13 +61,15 @@
String lessonName,
String lessonDescription,
Integer lessonStateId,
+ Integer organisationId,
Date createDateTime,
Date startDateTime)
{
this.lessonID = lessonId;
this.lessonName = lessonName;
this.lessonDescription = lessonDescription;
this.lessonStateID = lessonStateId;
+ this.organisationID = organisationId;
this.createDateTime = createDateTime;
this.startDateTime = startDateTime;
@@ -128,8 +131,12 @@
sb.append("lessonName='" + getLessonName()+"';");
sb.append("lessonDescription='" + getLessonDescription() + "'; ");
sb.append("lessonStateID='" + getLessonStateID() + "'; ");
+ sb.append("organisationID='" + getOrganisationID() + "'; ");
sb.append("createDateTime='" + getCreateDateTime() + "'; ");
sb.append("startDateTime='" + getStartDateTime() + "'; ");
return sb.toString();
}
+ public Integer getOrganisationID() {
+ return organisationID;
+ }
}