Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml =================================================================== diff -u -r920894ca746cba5e080023c5cc80167d64d1653d -r61005a88dd89563773aff08d8e82672c96234c91 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml (.../Lesson.hbm.xml) (revision 920894ca746cba5e080023c5cc80167d64d1653d) +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml (.../Lesson.hbm.xml) (revision 61005a88dd89563773aff08d8e82672c96234c91) @@ -41,6 +41,10 @@ + + + Index: lams_common/db/model/lams_11.clay =================================================================== diff -u -r71d1ff69d56ec38b525fab3a282fa29c1d163e5a -r61005a88dd89563773aff08d8e82672c96234c91 --- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 71d1ff69d56ec38b525fab3a282fa29c1d163e5a) +++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 61005a88dd89563773aff08d8e82672c96234c91) @@ -2491,7 +2491,7 @@ - + @@ -2627,6 +2627,19 @@ + + + + + + + + + + + + + @@ -3457,7 +3470,7 @@
- + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== diff -u -r0cc2f66ffca1eb4172a7f29fa90443534d1cdedc -r61005a88dd89563773aff08d8e82672c96234c91 --- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 0cc2f66ffca1eb4172a7f29fa90443534d1cdedc) +++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 61005a88dd89563773aff08d8e82672c96234c91) @@ -554,6 +554,7 @@ , end_date_time DATETIME , schedule_end_date_time DATETIME , previous_state_id INT(3) + , learner_exportport_avail TINYINT(1) , PRIMARY KEY (lesson_id) , INDEX (learning_design_id) , CONSTRAINT FK_lams_lesson_1_1 FOREIGN KEY (learning_design_id) Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java =================================================================== diff -u -r920894ca746cba5e080023c5cc80167d64d1653d -r61005a88dd89563773aff08d8e82672c96234c91 --- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision 920894ca746cba5e080023c5cc80167d64d1653d) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision 61005a88dd89563773aff08d8e82672c96234c91) @@ -117,6 +117,9 @@ /** persistent field */ private Set learnerProgresses; + /** Persistent field. Defaults to FALSE if not set to anything by a constructor parameter. */ + private Boolean learnerExportAvailable; + //--------------------------------------------------------------------- // constructors //--------------------------------------------------------------------- @@ -129,10 +132,12 @@ * organization and class information. * Cain constructor pattern implementation. */ - public Lesson(String name,String description,Date createDateTime, User user, Integer lessonStateId, Integer previousLessonStateId, + public Lesson(String name,String description,Date createDateTime, User user, Integer lessonStateId, + Integer previousLessonStateId, Boolean learnerExportAvailable, LearningDesign learningDesign,Set learnerProgresses) { - this(null,name,description,createDateTime,null,null,user,lessonStateId,previousLessonStateId,learningDesign,null,null,learnerProgresses); + this(null,name,description,createDateTime,null,null,user,lessonStateId,previousLessonStateId, + learnerExportAvailable,learningDesign,null,null,learnerProgresses); } /** @@ -141,15 +146,17 @@ * Chain construtor pattern implementation. */ public Lesson(String name,String description,Date createDateTime, User user, Integer lessonStateId, Integer previousLessonStateId, - LearningDesign learningDesign, LessonClass lessonClass, Organisation organisation, Set learnerProgresses) + Boolean learnerExportAvailable, LearningDesign learningDesign, LessonClass lessonClass, + Organisation organisation, Set learnerProgresses) { this(null,name,description,createDateTime,null,null,user,lessonStateId,previousLessonStateId, - learningDesign,lessonClass,organisation,learnerProgresses); + learnerExportAvailable, learningDesign,lessonClass,organisation,learnerProgresses); } /** full constructor */ public Lesson(Long lessonId,String name,String description, Date createDateTime, Date startDateTime, Date endDateTime, User user, - Integer lessonStateId, Integer previousLessonStateId, LearningDesign learningDesign, LessonClass lessonClass, + Integer lessonStateId, Integer previousLessonStateId, Boolean learnerExportAvailable, + LearningDesign learningDesign, LessonClass lessonClass, Organisation organisation, Set learnerProgresses) { this.lessonId = lessonId; @@ -161,6 +168,7 @@ this.user = user; this.lessonStateId = lessonStateId; this.previousLessonStateId = previousLessonStateId; + this.learnerExportAvailable = learnerExportAvailable != null ? learnerExportAvailable : Boolean.FALSE; this.learningDesign = learningDesign; this.lessonClass = lessonClass; this.organisation = organisation; @@ -172,6 +180,7 @@ * It is designed for monitor side to create a lesson by teacher. * * @param user the teacher who created this lesson + * @pram learnerExportAvailable should the export portfolio option be made available to the learner? * @param organisation the organisation associated with this lesson. * @param ld the learning design associated with this lesson. * @param newLessonClass the lesson class that will run this lesson. @@ -181,6 +190,7 @@ String lessonDescription, User user, Organisation organisation, + Boolean learnerExportAvailable, LearningDesign ld, LessonClass newLessonClass) { @@ -191,6 +201,7 @@ user, Lesson.CREATED, null, + learnerExportAvailable, ld, newLessonClass,//lesson class organisation, @@ -203,12 +214,14 @@ * and lesson class data later. * * @param user the user who want to create a lesson. + * @param learnerExportAvailable should the export portfolio option be made available to the learner? * @param ld the learning design that this lesson is based on. * @return the lesson created. */ public static Lesson createNewLessonWithoutClass(String lessonName, String lessonDescription, User user, + Boolean learnerExportAvailable, LearningDesign ld) { return new Lesson(lessonName, @@ -217,6 +230,7 @@ user, Lesson.CREATED, null, + learnerExportAvailable, ld, new HashSet()); } @@ -373,6 +387,18 @@ } /** + * @hibernate.property type="java.lang.Boolean" column="learner_exportport_avail" + * length="1" + */ + public Boolean getLearnerExportAvailable() { + return learnerExportAvailable; + } + + public void setLearnerExportAvailable(Boolean learnerExportAvailable) { + this.learnerExportAvailable = learnerExportAvailable; + } + + /** * @hibernate.many-to-one not-null="true" cascade="none" * @hibernate.column name="learning_design_id" */ @@ -423,6 +449,7 @@ this.learnerProgresses = learnerProgresses; } + public String toString() { return new ToStringBuilder(this) .append("lessonId", getLessonId()) @@ -488,4 +515,5 @@ ( stateId.equals(STARTED_STATE) || stateId.equals(FINISHED_STATE) || stateId.equals(ARCHIVED_STATE) || stateId.equals(REMOVED_STATE) ) ) ; } + } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java =================================================================== diff -u -rf43da266c31a898f0fddc628bdeab7ebbdbef2dd -r61005a88dd89563773aff08d8e82672c96234c91 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java (.../LessonDetailsDTO.java) (revision f43da266c31a898f0fddc628bdeab7ebbdbef2dd) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java (.../LessonDetailsDTO.java) (revision 61005a88dd89563773aff08d8e82672c96234c91) @@ -24,7 +24,6 @@ package org.lamsfoundation.lams.lesson.dto; import java.util.Date; -import java.text.DateFormat; import java.util.Set; import org.lamsfoundation.lams.lesson.Lesson; @@ -56,6 +55,7 @@ private Long learningDesignID; private Integer numberPossibleLearners; private Integer numberStartedLearners; + private Boolean learnerExportAvailable; /** Create the DTO based on the lesson. Sets up all the fields except numberStartedLearners */ public LessonDetailsDTO(Lesson lesson){ @@ -111,6 +111,8 @@ Set allLearners = lesson.getAllLearners(); this.numberPossibleLearners = new Integer(allLearners !=null ? allLearners.size() : 0); this.numberStartedLearners = new Integer(0); + + this.learnerExportAvailable = lesson.getLearnerExportAvailable(); } public Date getScheduleEndDate() { return scheduleEndDate; @@ -228,4 +230,7 @@ public Integer getNumberPossibleLearners() { return numberPossibleLearners; } + public Boolean getLearnerExportAvailable() { + return learnerExportAvailable; + } }