Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml,v diff -u -r1.27 -r1.27.6.1 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml 23 Oct 2006 23:58:55 -0000 1.27 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml 2 Feb 2007 06:46:06 -0000 1.27.6.1 @@ -85,6 +85,7 @@ + Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml,v diff -u -r1.16 -r1.16.6.1 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml 23 Oct 2006 23:58:54 -0000 1.16 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml 2 Feb 2007 06:46:06 -0000 1.16.6.1 @@ -90,6 +90,17 @@ + + @hibernate.property + column="edit_override_lock" + + + + + + + + + + + Index: lams_common/db/model/lams_11.clay =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/model/lams_11.clay,v diff -u -r1.73 -r1.73.2.1 --- lams_common/db/model/lams_11.clay 1 Feb 2007 03:44:19 -0000 1.73 +++ lams_common/db/model/lams_11.clay 2 Feb 2007 06:44:36 -0000 1.73.2.1 @@ -627,6 +627,19 @@ + + + + + + + + + + + + + @@ -791,8 +804,8 @@ - + @@ -1013,6 +1026,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1048,6 +1087,13 @@ + + + + + + + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/create_lams_11_tables.sql,v diff -u -r1.88 -r1.88.2.1 --- lams_common/db/sql/create_lams_11_tables.sql 1 Feb 2007 03:44:21 -0000 1.88 +++ lams_common/db/sql/create_lams_11_tables.sql 2 Feb 2007 06:44:44 -0000 1.88.2.1 @@ -331,6 +331,7 @@ CREATE UNIQUE INDEX UQ_lams_user_login ON lams_user (login ASC); CREATE INDEX login ON lams_user (login ASC); + CREATE TABLE lams_learning_design ( learning_design_id BIGINT(20) NOT NULL AUTO_INCREMENT , learning_design_ui_id INT(11) @@ -355,6 +356,8 @@ , license_text TEXT , last_modified_date_time DATETIME , content_folder_id VARCHAR(32) + , edit_override_lock TINYINT DEFAULT 0 + , edit_override_user_id BIGINT(20) , PRIMARY KEY (learning_design_id) , INDEX (user_id) , CONSTRAINT FK_lams_learning_design_3 FOREIGN KEY (user_id) @@ -368,6 +371,9 @@ , INDEX (copy_type_id) , CONSTRAINT FK_lams_learning_design_6 FOREIGN KEY (copy_type_id) REFERENCES lams_copy_type (copy_type_id) + , INDEX (edit_override_user_id) + , CONSTRAINT FK_lams_learning_design_7 FOREIGN KEY (edit_override_user_id) + REFERENCES lams_user (user_id) )TYPE=InnoDB; CREATE INDEX idx_design_parent_id ON lams_learning_design (original_learning_design_id ASC); CREATE INDEX idx_design_first_act ON lams_learning_design (first_activity_id ASC); @@ -502,6 +508,7 @@ , library_activity_id BIGINT(20) , language_file VARCHAR(255) , system_tool_id BIGINT(20) + , read_only TINYINT , PRIMARY KEY (activity_id) , INDEX (learning_library_id) , CONSTRAINT FK_lams_learning_activity_7 FOREIGN KEY (learning_library_id) Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/db/sql/lams_learning_design.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java,v diff -u -r1.57 -r1.57.6.1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 23 Oct 2006 23:58:53 -0000 1.57 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 2 Feb 2007 06:46:06 -0000 1.57.6.1 @@ -197,7 +197,10 @@ * this activity. e.g. org.lamsfoundation.lams.tool.sbmt.SbmtResources.properties. */ private String languageFile; - //--------------------------------------------------------------------- + /** An activity is readOnly when a learner starts doing the activity. + * Used in editOnFly. */ + private Boolean readOnly; + //--------------------------------------------------------------------- // Object constructors //--------------------------------------------------------------------- @@ -245,11 +248,13 @@ this.transitionTo = transitionTo; this.transitionFrom = transitionFrom; this.languageFile = languageFile; + this.readOnly = false; } /** default constructor */ public Activity() { this.grouping = null; this.createDateTime = new Date(); //default value is set to when the object is created + this.readOnly = false; } /** minimal constructor */ @@ -274,6 +279,7 @@ this.activityTypeId = activityTypeId; this.transitionTo = transitionTo; this.transitionFrom = transitionFrom; + this.readOnly = false; } public static Activity getActivityInstance(int activityType) @@ -517,6 +523,19 @@ this.groupingSupportType = groupingSupportType; } + /** + * @return Returns the readOnly. + */ + public Boolean getReadOnly() { + return readOnly; + } + /** + * @param readOnly The readOnly to set. + */ + public void setReadOnly(Boolean readOnly) { + this.readOnly = readOnly; + } + public String toString() { return new ToStringBuilder(this) .append("activityId", activityId) @@ -860,6 +879,7 @@ newActivity.setLanguageFile(this.getLanguageFile()); newActivity.setOrderId(this.getOrderId()); + newActivity.setReadOnly(this.getReadOnly()); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesign.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesign.java,v diff -u -r1.31 -r1.31.6.1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesign.java 17 Sep 2006 06:14:16 -0000 1.31 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesign.java 2 Feb 2007 06:46:06 -0000 1.31.6.1 @@ -92,6 +92,12 @@ /** nullable persistent field */ private Date dateReadOnly; + /** Override the read only field. When set to true, the user + * specified in editOverrideUser can edit the learning design. Used by edit + * on the fly. */ + private Boolean editOverrideLock; + private User editOverrideUser; + /** nullable persistent field */ private String helpText; @@ -146,7 +152,6 @@ /** Online Instructions for this activity*/ private String onlineInstructions; - /* If the values for createDateTime and/or lastModifiedDateTime * are null, then it will default to the current datetime. */ @@ -175,7 +180,9 @@ License license, String offlineInstructions, String onlineInstructions, - String contentFolderID + String contentFolderID, + Boolean editOverrideLock, + User editOverrideUser ) { this.learningDesignId = learningDesignId; this.learningDesignUIID = ui_id; @@ -203,13 +210,16 @@ this.onlineInstructions = onlineInstructions; this.contentFolderID = contentFolderID; this.lastModifiedDateTime = new Date(); + this.editOverrideLock = editOverrideLock; + this.editOverrideUser = editOverrideUser; } /** default constructor */ public LearningDesign() { //set the default values to the current datetime this.createDateTime = new Date(); this.lastModifiedDateTime = new Date(); + this.editOverrideLock = false; } /** minimal constructor */ @@ -237,6 +247,7 @@ this.transitions = transitions; this.activities = activities; this.lastModifiedDateTime = new Date(); + this.editOverrideLock = false; } /** Create a new learning design based on an existing learning design. If setOriginalDesign is true, then set the input design * as the original design in the copied design - this is used when runtime copies of a design are created. It is not used @@ -271,6 +282,8 @@ newDesign.setCopyTypeID(designCopyType); newDesign.setContentFolderID(design.getContentFolderID()); + newDesign.setEditOverrideLock(design.getEditOverrideLock()); + newDesign.setEditOverrideUser(design.getEditOverrideUser()); return newDesign; } @@ -329,6 +342,21 @@ public void setDateReadOnly(Date dateReadOnly) { this.dateReadOnly = dateReadOnly; } + /** Override the read only field. When set to true, the user + * specified in editOverrideUser can edit the learning design. + * Used by edit on the fly. */ + public Boolean getEditOverrideLock() { + return editOverrideLock; + } + public void setEditOverrideLock(Boolean editOverrideLock) { + this.editOverrideLock = editOverrideLock; + } + public User getEditOverrideUser() { + return editOverrideUser; + } + public void setEditOverrideUser(User editOverrideUser) { + this.editOverrideUser = editOverrideUser; + } public String getHelpText() { return helpText; }