Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java,v
diff -u -r1.84 -r1.85
--- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java 26 Jul 2009 22:19:13 -0000 1.84
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java 10 Jan 2012 15:42:06 -0000 1.85
@@ -349,6 +349,18 @@
learningDesign.setWorkspaceFolder(workspaceFolder);
learningDesign.setUser(user);
+ if (existingLearningDesign == null) {
+ if (keyExists(table, WDDXTAGS.ORIGINAL_USER_ID)) {
+ Integer originalUserID = WDDXProcessor.convertToInteger(table, WDDXTAGS.ORIGINAL_USER_ID);
+ User originalUser = (User) getBaseDAO().find(User.class, originalUserID);
+ learningDesign.setOriginalUser(originalUser);
+ } else {
+ learningDesign.setOriginalUser(user);
+ }
+ } else {
+ learningDesign.setOriginalUser(existingLearningDesign.getOriginalUser());
+ }
+
// Pull out all the existing groups. there isn't an easy way to pull
// them out of the db requires an outer join across
// three objects (learning design -> grouping activity -> grouping) so
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.20 -r1.21
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml 10 Feb 2009 01:52:21 -0000 1.20
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml 10 Jan 2012 15:42:02 -0000 1.21
@@ -210,6 +210,11 @@
+
+
+
+
+
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.160 -r1.161
--- lams_common/db/sql/create_lams_11_tables.sql 5 Dec 2011 16:04:24 -0000 1.160
+++ lams_common/db/sql/create_lams_11_tables.sql 10 Jan 2012 15:42:02 -0000 1.161
@@ -334,6 +334,7 @@
, read_only_flag TINYINT(4) NOT NULL
, date_read_only DATETIME
, user_id BIGINT(20) NOT NULL
+ , original_user_id BIGINT(20) NOT NULL
, help_text TEXT
, online_instructions TEXT
, offline_instructions TEXT
Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql,v
diff -u -r1.16 -r1.17
--- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql 3 Jan 2012 18:56:54 -0000 1.16
+++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch02040006.sql 10 Jan 2012 15:42:02 -0000 1.17
@@ -103,6 +103,9 @@
INSERT INTO lams_configuration (config_key, config_value, description_key, header_name, format, required)
VALUES ('KalturaKDPUiConfId','', 'config.kaltura.kdp.uiconfid', 'config.header.kaltura', 'STRING', 0);
+-- LDEV-2560 Add original author information
+ALTER TABLE lams_learning_design ADD COLUMN original_user_id BIGINT(20) AFTER user_id;
+
COMMIT;
SET AUTOCOMMIT = 1;
set FOREIGN_KEY_CHECKS = 1;
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.36 -r1.37
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesign.java 10 Feb 2009 01:52:21 -0000 1.36
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesign.java 10 Jan 2012 15:42:02 -0000 1.37
@@ -116,6 +116,9 @@
/** persistent field */
private User user;
+
+ /** persistent field */
+ private User originalUser;
/** persistent field */
private LearningDesign originalLearningDesign;
@@ -180,6 +183,7 @@
Date createDateTime,
String version,
User user,
+ User originalUser,
LearningDesign originalLearningDesign,
Set childLearningDesigns, Set lessons, Set transitions,
SortedSet activities,
@@ -208,6 +212,7 @@
this.createDateTime = createDateTime != null ? createDateTime : new Date();
this.version = version;
this.user = user;
+ this.originalUser = originalUser;
this.originalLearningDesign = originalLearningDesign;
this.childLearningDesigns = childLearningDesigns;
this.lessons = lessons;
@@ -243,6 +248,7 @@
Date createDateTime,
String version,
User user,
+ User originalUser,
org.lamsfoundation.lams.learningdesign.LearningDesign originalLearningDesign,
Set childLearningDesigns, Set lessons, Set transitions,
SortedSet activities) {
@@ -253,6 +259,7 @@
this.createDateTime = createDateTime != null ? createDateTime : new Date();
this.version = version;
this.user = user;
+ this.originalUser = originalUser;
this.originalLearningDesign = originalLearningDesign;
this.childLearningDesigns = childLearningDesigns;
this.lessons = lessons;
@@ -298,6 +305,7 @@
newDesign.setContentFolderID(design.getContentFolderID());
newDesign.setEditOverrideLock(design.getEditOverrideLock());
newDesign.setEditOverrideUser(design.getEditOverrideUser());
+ newDesign.setOriginalUser(design.getOriginalUser());
return newDesign;
}
@@ -401,6 +409,15 @@
public void setUser(User user) {
this.user = user;
}
+
+ public User getOriginalUser() {
+ return originalUser;
+ }
+
+ public void setOriginalUser(User originalUser) {
+ this.originalUser = originalUser;
+ }
+
/** If this is a lesson type of learning design, then the original learning design was the authoring
* learning design which was copied to make this learning design. The original design may or may not still exist
* in the database. */
@@ -590,6 +607,4 @@
public FloatingActivity getFloatingActivity() {
return floatingActivity;
}
-
-
}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/DesignDetailDTO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/DesignDetailDTO.java,v
diff -u -r1.10 -r1.11
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/DesignDetailDTO.java 9 May 2007 01:07:23 -0000 1.10
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/DesignDetailDTO.java 10 Jan 2012 15:42:02 -0000 1.11
@@ -43,6 +43,7 @@
private Boolean editOverrideLock;
private Date dateReadOnly;
private Integer userID;
+ private Integer originalUserID;
private Integer editOverrideUserID;
private String helpText;
private Integer copyTypeID;
@@ -58,7 +59,7 @@
public DesignDetailDTO(Long learningDesignID, Integer learningDesignUIID,
String description, String title, Long firstActivityID,
Boolean validDesign, Boolean readOnly, Boolean editLock,
- Date dateReadOnly, Integer userID, Integer editOverrideUserID, String helpText,
+ Date dateReadOnly, Integer userID, Integer originalUserID, Integer editOverrideUserID, String helpText,
Integer copyTypeID, String version, Integer designVersion, Long parentLearningDesignID,
Integer workspaceFolderID) {
this.learningDesignID = learningDesignID;
@@ -70,6 +71,7 @@
this.readOnly = readOnly;
this.dateReadOnly = dateReadOnly;
this.userID = userID;
+ this.originalUserID = originalUserID;
this.editOverrideUserID = editOverrideUserID;
this.helpText = helpText;
this.copyTypeID = copyTypeID;
@@ -91,6 +93,8 @@
this.editOverrideLock = learningDesign.getEditOverrideLock();
this.dateReadOnly = learningDesign.getDateReadOnly();
this.userID = learningDesign.getUser().getUserId();
+ this.originalUserID = learningDesign.getOriginalUser() == null ? null : learningDesign.getOriginalUser()
+ .getUserId();
this.editOverrideUserID = learningDesign.getEditOverrideUser().getUserId();
this.helpText = learningDesign.getHelpText();
this.copyTypeID = learningDesign.getCopyTypeID();
@@ -174,6 +178,11 @@
public Integer getUserID() {
return userID;
}
+
+ public Integer getOriginalUserID() {
+ return originalUserID;
+ }
+
/**
* @return Returns the editOnFlyUserID.
*/
@@ -212,4 +221,4 @@
public String getContentFolderID() {
return contentFolderID;
}
-}
+}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningDesignDTO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningDesignDTO.java,v
diff -u -r1.37 -r1.38
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningDesignDTO.java 11 Mar 2009 01:08:32 -0000 1.37
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/LearningDesignDTO.java 10 Jan 2012 15:42:02 -0000 1.38
@@ -59,6 +59,7 @@
private Boolean editOverrideLock;
private Date dateReadOnly;
private Integer userID;
+ private Integer originalUserID;
private Integer editOverrideUserID;
private String editOverrideUserFullName;
private String helpText;
@@ -91,8 +92,8 @@
public LearningDesignDTO(Long learningDesignId, Integer learningDesignUIID, String description, String title,
Long firstActivityID, Integer firstActivityUIID, Long floatingActivityID, Integer floatingActivityUIID,
Integer maxId, Boolean validDesign, Boolean readOnly, Boolean editOverrideLock, Date dateReadOnly,
- Integer userID, Integer editOverrideUserID, String editOverrideUserFullName, String helpText,
- Integer copyTypeID, Date createDateTime, String version, Integer designVersion,
+ Integer userID, Integer originalUserID, Integer editOverrideUserID, String editOverrideUserFullName,
+ String helpText, Integer copyTypeID, Date createDateTime, String version, Integer designVersion,
Long originalLearningDesignID, Integer workspaceFolderID, Long duration, String licenseText,
Long licenseID, Date lastModifiedDateTime, String offlineInstructions, String onlineInstructions) {
super();
@@ -112,6 +113,7 @@
this.offlineInstructions = offlineInstructions;
this.onlineInstructions = onlineInstructions;
this.userID = userID;
+ this.originalUserID = originalUserID;
this.editOverrideUserID = editOverrideUserID;
this.editOverrideUserFullName = editOverrideUserFullName;
this.helpText = helpText;
@@ -158,7 +160,8 @@
this.onlineInstructions = learningDesign.getOnlineInstructions();
this.userID = learningDesign.getUser() != null ? learningDesign.getUser().getUserId() : null;
-
+ this.originalUserID = learningDesign.getOriginalUser() != null ? learningDesign.getOriginalUser().getUserId() : null;
+
this.editOverrideUserID = learningDesign.getEditOverrideUser() != null ? learningDesign.getEditOverrideUser()
.getUserId() : null;
this.editOverrideUserFullName = learningDesign.getEditOverrideUser() != null ? learningDesign
@@ -348,6 +351,10 @@
return userID;
}
+ public Integer getOriginalUserID() {
+ return originalUserID;
+ }
+
/**
* @return Returns the editOnFlyUserID.
*/
@@ -657,6 +664,12 @@
this.userID = userID;
}
+ public void setOriginalUserID(Integer originalUserID) {
+ if (!originalUserID.equals(WDDXTAGS.NUMERIC_NULL_VALUE_INTEGER)) {
+ this.originalUserID = originalUserID;
+ }
+ }
+
/**
* @param userID
* The userID to set.
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java,v
diff -u -r1.110 -r1.111
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 5 May 2011 15:23:47 -0000 1.110
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 10 Jan 2012 15:42:02 -0000 1.111
@@ -2250,6 +2250,7 @@
ld.setCreateDateTime(new Date());
ld.setLastModifiedDateTime(new Date());
ld.setUser(importer);
+ ld.setOriginalUser(importer);
return ld;
}
Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LD102Importer.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LD102Importer.java,v
diff -u -r1.26 -r1.27
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LD102Importer.java 21 May 2007 08:20:46 -0000 1.26
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/LD102Importer.java 10 Jan 2012 15:42:02 -0000 1.27
@@ -538,6 +538,7 @@
}
ld.setUser(importer);
+ ld.setOriginalUser(importer);
if(folder != null)
ld.setWorkspaceFolder(folder);
Index: lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java,v
diff -u -r1.37 -r1.38
--- lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java 2 Jul 2009 13:06:09 -0000 1.37
+++ lams_common/src/java/org/lamsfoundation/lams/util/wddx/WDDXTAGS.java 10 Jan 2012 15:42:02 -0000 1.38
@@ -181,6 +181,7 @@
public static final String EDIT_OVERRIDE_LOCK = "editOverrideLock";
public static final String DATE_READ_ONLY = "dateReadOnly";
public static final String USER_ID = "userID";
+ public static final String ORIGINAL_USER_ID = "originalUserID";
public static final String EDIT_OVERRIDE_USER_ID = "editOverrideUserID";
public static final String COPY_TYPE = "copyTypeID";
Index: lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java
===================================================================
RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java,v
diff -u -r1.16 -r1.17
--- lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java 1 Oct 2010 20:36:29 -0000 1.16
+++ lams_common/src/java/org/lamsfoundation/lams/workspace/dto/FolderContentDTO.java 10 Jan 2012 15:42:02 -0000 1.17
@@ -58,6 +58,7 @@
public String licenseText; // applicable for designs only
public Boolean readOnly; // applicable for designs only
public String author;
+ public String originalAuthor;
public FolderContentDTO(){
}
@@ -92,7 +93,8 @@
this.versionDetails = null;
this.readOnly = design.getReadOnly();
this.author = design.getUser().getFullName();
- }
+ this.originalAuthor = design.getOriginalUser() == null ? null : design.getOriginalUser().getFullName();
+ }
public FolderContentDTO(WorkspaceFolder workspaceFolder, Integer permissionCode, User user){
this.name = workspaceFolder.getName();
this.description = "Folder";
@@ -219,6 +221,14 @@
public void setAuthor(String author) {
this.author = author;
}
+
+ public String getOriginalAuthor() {
+ return originalAuthor;
+ }
+
+ public void setOriginalAuthor(String originalAuthor) {
+ this.originalAuthor = originalAuthor;
+ }
private String formatLastModifiedDateTime(TimeZone tz) {
if(this.lastModifiedDateTime != null) {
@@ -228,4 +238,4 @@
return null;
}
}
-}
+}
\ No newline at end of file