Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java =================================================================== diff -u -r1350f430376f5ac5788f66e03d5207d4119384bd -rb99dce44ff7b9066e9b1c0429667e44381dcf0ec --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java (.../OrgSaveAction.java) (revision 1350f430376f5ac5788f66e03d5207d4119384bd) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/OrgSaveAction.java (.../OrgSaveAction.java) (revision b99dce44ff7b9066e9b1c0429667e44381dcf0ec) @@ -22,6 +22,8 @@ */ package org.lamsfoundation.lams.admin.web; +import java.util.Date; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -117,6 +119,11 @@ if(orgId!=0){ org = (Organisation)service.findById(Organisation.class,orgId); + // set archived date only when it first changes to become archived + if (state.getOrganisationStateId().equals(OrganisationState.ARCHIVED) + && !org.getOrganisationState().getOrganisationStateId().equals(OrganisationState.ARCHIVED)) { + org.setArchivedDate(new Date()); + } writeAuditLog(org, orgForm, state, locale); BeanUtils.copyProperties(org,orgForm); }else{ Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r4a2728da7ea82a98b92d3a8b08feb6efa4023b7d -rb99dce44ff7b9066e9b1c0429667e44381dcf0ec Binary files differ Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml =================================================================== diff -u -r330fd06e529c716bf5a0446ef2635818e45ea9a5 -rb99dce44ff7b9066e9b1c0429667e44381dcf0ec --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision 330fd06e529c716bf5a0446ef2635818e45ea9a5) +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml (.../Organisation.hbm.xml) (revision b99dce44ff7b9066e9b1c0429667e44381dcf0ec) @@ -316,5 +316,15 @@ + + Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java =================================================================== diff -u -r4c1e4458a7199b33675cde0a4d816c3194585469 -rb99dce44ff7b9066e9b1c0429667e44381dcf0ec --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision 4c1e4458a7199b33675cde0a4d816c3194585469) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision b99dce44ff7b9066e9b1c0429667e44381dcf0ec) @@ -92,6 +92,9 @@ /** persistent field */ private Boolean courseAdminCanCreateGuestAccounts; + + /** persistent field */ + private Date archivedDate; /** full constructor */ public Organisation(String name, String description, Organisation parentOrganisation, @@ -452,5 +455,20 @@ public int compareTo(Object o) { return name.compareToIgnoreCase(((Organisation)o).getName()); } + + /** + * @hibernate.property + * column="archived_date" + * length="19" + * not-null="false" + * + */ + public Date getArchivedDate() { + return this.archivedDate; + } + public void setArchivedDate(Date archivedDate) { + this.archivedDate = archivedDate; + } + }