← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5085: Data entry, now the user who marked a form as complete is displayed together with the date

 

Merge authors:
  Lars Helge Øverland (larshelge)
------------------------------------------------------------
revno: 5085 [merge]
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2011-11-02 18:11:39 +0100
message:
  Data entry, now the user  who marked a form as complete is displayed together with the date
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistration.java
  dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/CompleteDataSetRegistration.hbm.xml
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationServiceTest.java
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationStoreTest.java
  dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceExportTest.java
  dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceTest.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/RegisterCompleteDataSetAction.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/select.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistration.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistration.java	2011-05-05 21:14:56 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/CompleteDataSetRegistration.java	2011-11-02 17:11:00 +0000
@@ -53,7 +53,9 @@
     private OrganisationUnit source;
     
     private Date date;
-    
+
+    private String storedBy;
+
     // -------------------------------------------------------------------------
     // Constructors
     // -------------------------------------------------------------------------
@@ -62,12 +64,13 @@
     {   
     }
 
-    public CompleteDataSetRegistration( DataSet dataSet, Period period, OrganisationUnit source, Date date )
+    public CompleteDataSetRegistration( DataSet dataSet, Period period, OrganisationUnit source, Date date, String storedBy )
     {
         this.dataSet = dataSet;
         this.period = period;
         this.source = source;
         this.date = date;
+        this.storedBy = storedBy;
     }
 
     // -------------------------------------------------------------------------
@@ -203,4 +206,14 @@
     {
         this.date = date;
     }
+
+    public String getStoredBy()
+    {
+        return storedBy;
+    }
+
+    public void setStoredBy( String storedBy )
+    {
+        this.storedBy = storedBy;
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/CompleteDataSetRegistration.hbm.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/CompleteDataSetRegistration.hbm.xml	2011-05-28 13:53:14 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/CompleteDataSetRegistration.hbm.xml	2011-11-02 17:11:00 +0000
@@ -16,6 +16,7 @@
     </composite-id>
 
     <property name="date" type="date" column="date" />
+	<property name="storedBy" column="storedby" />
 
   </class>
 </hibernate-mapping>

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationServiceTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationServiceTest.java	2011-04-22 18:38:43 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationServiceTest.java	2011-11-02 17:11:00 +0000
@@ -142,8 +142,8 @@
     @Test
     public void testSaveGet()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );
@@ -151,7 +151,7 @@
         assertEquals( registrationA, completeDataSetRegistrationService.getCompleteDataSetRegistration( dataSetA, periodA, sourceA ) );
         assertEquals( registrationB, completeDataSetRegistrationService.getCompleteDataSetRegistration( dataSetB, periodB, sourceA ) );
         
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
         
         try
         {
@@ -168,8 +168,8 @@
     @Test
     public void testDelete()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );
@@ -191,8 +191,8 @@
     @Test
     public void testGetAll()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );
@@ -207,14 +207,14 @@
     @Test
     public void testGetDataSetsSourcesPeriods()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date() );
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date() );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
-        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date() );
-        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date() );
-        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date() );
-        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date(), "" );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date(), "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
+        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date(), "" );
+        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date(), "" );
+        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date(), "" );
+        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date(), "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );
@@ -250,19 +250,19 @@
     @Test
     public void testGetDataSetSourcesPeriod()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date() );
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date() );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );        
-        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date() );
-        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date() );
-        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date() );
-        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date(), "" );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date(), "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );        
+        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date(), "" );
+        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date(), "" );
+        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date(), "" );
+        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date(), "" );
         
-        registrationI = new CompleteDataSetRegistration( dataSetA, periodA, sourceC, new Date() );
-        registrationJ = new CompleteDataSetRegistration( dataSetB, periodA, sourceC, new Date() );
-        registrationK = new CompleteDataSetRegistration( dataSetA, periodB, sourceC, new Date() );
-        registrationL = new CompleteDataSetRegistration( dataSetB, periodB, sourceC, new Date() );
+        registrationI = new CompleteDataSetRegistration( dataSetA, periodA, sourceC, new Date(), "" );
+        registrationJ = new CompleteDataSetRegistration( dataSetB, periodA, sourceC, new Date(), "" );
+        registrationK = new CompleteDataSetRegistration( dataSetA, periodB, sourceC, new Date(), "" );
+        registrationL = new CompleteDataSetRegistration( dataSetB, periodB, sourceC, new Date(), "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );
@@ -294,19 +294,19 @@
     @Test
     public void testGetDataSetSourcesPeriodDate()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, onTimeA );
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeB );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, onTimeB );        
-        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, tooLateA );
-        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, tooLateA );
-        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, tooLateB );
-        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, tooLateB );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA, "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, onTimeA, "" );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeB, "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, onTimeB, "" );        
+        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, tooLateA, "" );
+        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, tooLateA, "" );
+        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, tooLateB, "" );
+        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, tooLateB, "" );
         
-        registrationI = new CompleteDataSetRegistration( dataSetA, periodA, sourceC, onTimeA );
-        registrationJ = new CompleteDataSetRegistration( dataSetB, periodA, sourceC, onTimeA );
-        registrationK = new CompleteDataSetRegistration( dataSetA, periodB, sourceC, onTimeB );
-        registrationL = new CompleteDataSetRegistration( dataSetB, periodB, sourceC, onTimeB );
+        registrationI = new CompleteDataSetRegistration( dataSetA, periodA, sourceC, onTimeA, "" );
+        registrationJ = new CompleteDataSetRegistration( dataSetB, periodA, sourceC, onTimeA, "" );
+        registrationK = new CompleteDataSetRegistration( dataSetA, periodB, sourceC, onTimeB, "" );
+        registrationL = new CompleteDataSetRegistration( dataSetB, periodB, sourceC, onTimeB, "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );
@@ -338,10 +338,10 @@
     @Test
     public void testDeleteByDataSet()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA );
-        registrationB = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeA );
-        registrationC = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, onTimeA );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, onTimeA );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA, "" );
+        registrationB = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeA, "" );
+        registrationC = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, onTimeA, "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, onTimeA, "" );
         
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationA );
         completeDataSetRegistrationService.saveCompleteDataSetRegistration( registrationB );

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationStoreTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationStoreTest.java	2011-04-22 18:38:43 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataset/CompleteDataSetRegistrationStoreTest.java	2011-11-02 17:11:00 +0000
@@ -125,8 +125,8 @@
     @Test
     public void testSaveGet()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );
@@ -134,7 +134,7 @@
         assertEquals( registrationA, registrationStore.getCompleteDataSetRegistration( dataSetA, periodA, sourceA ) );
         assertEquals( registrationB, registrationStore.getCompleteDataSetRegistration( dataSetB, periodB, sourceA ) );
         
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
         
         try
         {
@@ -151,8 +151,8 @@
     @Test
     public void testDelete()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );
@@ -174,8 +174,8 @@
     @Test
     public void testGetAll()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );
@@ -190,14 +190,14 @@
     @Test
     public void testGetDataSetsSourcesPeriods()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date() );
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date() );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
-        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date() );
-        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date() );
-        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date() );
-        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date(), "" );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date(), "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
+        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date(), "" );
+        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date(), "" );
+        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date(), "" );
+        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date(), "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );
@@ -233,14 +233,14 @@
     @Test
     public void testGetDataSetSourcesPeriod()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date() );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date() );
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date() );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date() );
-        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date() );
-        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date() );
-        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date() );
-        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date() );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, new Date(), "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, new Date(), "" );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, new Date(), "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, new Date(), "" );
+        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, new Date(), "" );
+        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, new Date(), "" );
+        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, new Date(), "" );
+        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, new Date(), "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );
@@ -268,14 +268,14 @@
     @Test
     public void testGetDataSetSourcesPeriodDate()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA );
-        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, tooLateA );
-        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeB );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, tooLateB );
-        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, tooLateA );
-        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, onTimeA );
-        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, tooLateB );
-        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, onTimeB );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA, "" );
+        registrationB = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, tooLateA, "" );
+        registrationC = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeB, "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, tooLateB, "" );
+        registrationE = new CompleteDataSetRegistration( dataSetA, periodA, sourceB, tooLateA, "" );
+        registrationF = new CompleteDataSetRegistration( dataSetB, periodA, sourceB, onTimeA, "" );
+        registrationG = new CompleteDataSetRegistration( dataSetA, periodB, sourceB, tooLateB, "" );
+        registrationH = new CompleteDataSetRegistration( dataSetB, periodB, sourceB, onTimeB, "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );
@@ -302,10 +302,10 @@
     @Test
     public void testDeleteByDataSet()
     {
-        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA );
-        registrationB = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeA );
-        registrationC = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, onTimeA );
-        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, onTimeA );
+        registrationA = new CompleteDataSetRegistration( dataSetA, periodA, sourceA, onTimeA, "" );
+        registrationB = new CompleteDataSetRegistration( dataSetA, periodB, sourceA, onTimeA, "" );
+        registrationC = new CompleteDataSetRegistration( dataSetB, periodA, sourceA, onTimeA, "" );
+        registrationD = new CompleteDataSetRegistration( dataSetB, periodB, sourceA, onTimeA, "" );
         
         registrationStore.saveCompleteDataSetRegistration( registrationA );
         registrationStore.saveCompleteDataSetRegistration( registrationB );

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceExportTest.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceExportTest.java	2011-03-01 23:29:00 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceExportTest.java	2011-11-02 17:11:00 +0000
@@ -155,10 +155,10 @@
     @Test
     public void testExportDataSetCompleteness()
     {
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitB, null ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitC, null ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitB, null ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitA, null ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitB, null, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitC, null, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitB, null, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitA, null, "" ) );
         
         completenessService.exportDataSetCompleteness( getIdentifiers( DataSet.class, dataSets ),
             getIdentifiers( Period.class, periods ), getIdentifiers( OrganisationUnit.class, units ) );

=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceTest.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceTest.java	2011-09-02 13:11:12 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/completeness/DataSetCompletenessServiceTest.java	2011-11-02 17:11:00 +0000
@@ -211,16 +211,16 @@
         dataSetService.addDataSet( dataSetB );
         dataSetService.addDataSet( dataSetC );
         
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitA, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitB, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitA, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitB, tooLateA, "" ) );
         
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitA, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitC, tooLateA ) );        
-
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetC, periodA, unitC, tooLateA ) );
-
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitA, tooLateB ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitD, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitA, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitC, tooLateA, "" ) );        
+
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetC, periodA, unitC, tooLateA, "" ) );
+
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitA, tooLateB, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitD, tooLateA, "" ) );
         
         Collection<DataSetCompletenessResult> results = completenessService.getDataSetCompleteness( periodIdA, unitIdA );
         
@@ -252,17 +252,17 @@
         dataSetService.addDataSet( dataSetB );
         dataSetService.addDataSet( dataSetC );
         
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitA, tooLateA ) );
-        
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitA, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitB, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitC, tooLateA ) );
-        
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetC, periodA, unitA, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetC, periodA, unitB, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitA, tooLateA, "" ) );
+        
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitA, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitB, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetB, periodA, unitC, tooLateA, "" ) );
+        
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetC, periodA, unitA, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetC, periodA, unitB, tooLateA, "" ) );
 
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitA, tooLateB ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitD, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodB, unitA, tooLateB, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitD, tooLateA, "" ) );
         
         Collection<DataSetCompletenessResult> results = completenessService.getDataSetCompleteness( periodIdA, unitIdA );
         
@@ -290,11 +290,11 @@
         
         dataSetService.addDataSet( dataSetA );
 
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitB, onTimeA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitC, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, onTimeA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitF, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, onTimeA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitB, onTimeA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitC, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, onTimeA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitF, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, onTimeA, "" ) );
 
         Collection<DataSetCompletenessResult> results = completenessService.getDataSetCompleteness( periodIdA, unitIdA );
         
@@ -315,9 +315,9 @@
         
         dataSetIdA = dataSetService.addDataSet( dataSetA );
         
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitF, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitF, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, tooLateA, "" ) );
         
         Collection<DataSetCompletenessResult> results = completenessService.getDataSetCompleteness( periodIdA, unitIdsA, dataSetIdA );
         
@@ -339,9 +339,9 @@
 
         dataSetIdA = dataSetService.addDataSet( dataSetA );
 
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitH, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitH, tooLateA, "" ) );
 
         Collection<DataSetCompletenessResult> results = completenessService.getDataSetCompleteness( periodIdA, unitIdsA, dataSetIdA );
         
@@ -364,10 +364,10 @@
 
         dataSetIdA = dataSetService.addDataSet( dataSetA );
 
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, onTimeA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitF, tooLateA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, onTimeA ) );
-        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitH, tooLateA ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitE, onTimeA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitF, tooLateA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitG, onTimeA, "" ) );
+        registrationService.saveCompleteDataSetRegistration( new CompleteDataSetRegistration( dataSetA, periodA, unitH, tooLateA, "" ) );
 
         Collection<DataSetCompletenessResult> results = completenessService.getDataSetCompleteness( periodIdA, unitIdsA, dataSetIdA );
 

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java	2011-08-16 18:38:22 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java	2011-11-02 17:11:00 +0000
@@ -28,6 +28,7 @@
  */
 
 import java.util.Collection;
+import java.util.Date;
 
 import org.hisp.dhis.datalock.DataSetLock;
 import org.hisp.dhis.datalock.DataSetLockService;
@@ -141,19 +142,33 @@
         return minMaxDataElements;
     }
 
-    private boolean locked;
+    private boolean locked = false;
 
     public boolean isLocked()
     {
         return locked;
     }
 
-    private boolean complete;
+    private boolean complete = false;
 
     public boolean isComplete()
     {
         return complete;
     }
+    
+    private Date date;
+    
+    public Date getDate()
+    {
+        return date;
+    }
+
+    private String storedBy;
+
+    public String getStoredBy()
+    {
+        return storedBy;
+    }
 
     // -------------------------------------------------------------------------
     // Action implementation
@@ -199,7 +214,12 @@
         {
             CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( dataSet, period, unit );
 
-            complete = registration != null;
+            if ( registration != null )
+            {
+                complete = true;
+                date = registration.getDate();
+                storedBy = registration.getStoredBy();
+            }
         }
 
         return SUCCESS;

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/RegisterCompleteDataSetAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/RegisterCompleteDataSetAction.java	2011-10-07 14:11:37 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/RegisterCompleteDataSetAction.java	2011-11-02 17:11:00 +0000
@@ -41,6 +41,7 @@
 import org.hisp.dhis.organisationunit.OrganisationUnitService;
 import org.hisp.dhis.period.Period;
 import org.hisp.dhis.period.PeriodType;
+import org.hisp.dhis.user.CurrentUserService;
 
 import com.opensymphony.xwork2.Action;
 
@@ -77,13 +78,20 @@
         this.organisationUnitService = organisationUnitService;
     }
     
+    private CurrentUserService currentUserService;
+    
+    public void setCurrentUserService( CurrentUserService currentUserService )
+    {
+        this.currentUserService = currentUserService;
+    }
+
     private MessageService messageService;
 
     public void setMessageService( MessageService messageService )
     {
         this.messageService = messageService;
     }
-    
+        
     private I18nFormat format;
 
     public void setFormat( I18nFormat format )
@@ -128,12 +136,15 @@
         Period period = PeriodType.createPeriodExternalId( periodId );        
         OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId );
         
+        String storedBy = currentUserService.getCurrentUsername();
+        
         if ( registrationService.getCompleteDataSetRegistration( dataSet, period, organisationUnit ) == null )
         {
             registration.setDataSet( dataSet );
             registration.setPeriod( period );
             registration.setSource( organisationUnit );
             registration.setDate( new Date() );
+            registration.setStoredBy( storedBy );
 
             registrationService.saveCompleteDataSetRegistration( registration );
 

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml	2011-10-07 11:48:18 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml	2011-11-02 17:11:00 +0000
@@ -85,6 +85,7 @@
     <property name="registrationService" ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService" />
 	<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
     <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+	<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
 	<property name="messageService" ref="org.hisp.dhis.message.MessageService"/>
   </bean>
 

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties	2011-09-15 13:30:54 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties	2011-11-02 17:11:00 +0000
@@ -139,4 +139,6 @@
 uploading_data_notification			= Uploading locally stored data to the server
 ajax_login_failed					= Login failed, check your username and password and try again
 mark_value_for_followup				= Mark value for follow-up
-unmark_value_for_followup			= Un-mark value for follow-up
\ No newline at end of file
+unmark_value_for_followup			= Un-mark value for follow-up
+completed_by						= Completed by
+at									= at
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js	2011-09-08 14:17:11 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js	2011-11-02 17:11:00 +0000
@@ -621,6 +621,7 @@
 {
     $( '#completeButton' ).removeAttr( 'disabled' );
     $( '#undoButton' ).attr( 'disabled', 'disabled' );
+    $( '#infoDiv' ).css( 'display', 'none' );
 
     insertDataValues();
     displayEntryFormCompleted();
@@ -705,11 +706,19 @@
 	        {
 	            $( '#completeButton' ).attr( 'disabled', 'disabled' );
 	            $( '#undoButton' ).removeAttr( 'disabled' );
+	            
+	            if ( json.storedBy )
+	            {
+	                $( '#infoDiv' ).css( 'display', 'block' );
+	                $( '#completedBy' ).html( json.storedBy );
+	                $( '#completedDate' ).html( json.date );
+	            }
 	        }
 	        else
 	        {
 	            $( '#completeButton' ).removeAttr( 'disabled' );
 	            $( '#undoButton' ).attr( 'disabled', 'disabled' );
+	            $( '#infoDiv' ).css( 'display', 'none' );
 	        }
 	
 	        // TODO locking
@@ -722,7 +731,6 @@
     addEventListeners();
 
     $( '#validationButton' ).removeAttr( 'disabled' );
-    $( '#defaultForm' ).removeAttr( 'disabled' );
 
     dataEntryFormIsLoaded = true;
     hideLoader();

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm	2011-10-18 09:05:15 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm	2011-11-02 17:11:00 +0000
@@ -16,5 +16,7 @@
   }#if( $velocityCount < $size2 ),#end
   #end ],
   "locked":${locked},
-  "complete":${complete}
+  "complete":${complete},
+  "date":"$!format.formatDate( $date )",
+  "storedBy":"$!{storedBy}"
  }

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/select.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/select.vm	2011-09-04 21:07:05 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/select.vm	2011-11-02 17:11:00 +0000
@@ -79,3 +79,8 @@
 <input type="button" id="undoButton" name="undoButton" value="$i18n.getString( 'incomplete' )" onclick="undoCompleteDataSet()" style="width:120px">
 <input type="button" value="$i18n.getString( 'run_validation' )" onclick="validate()" style="width:120px">
 </div>
+
+<div id="infoDiv" class="page inputCriteria" style="display:none;width:386px;height:20px;">
+<span style="color:#505050">$i18n.getString( "completed_by" ): </span><span id="completedBy"></span>
+<span style="color:#505050"> $i18n.getString( "at" ): </span><span id="completedDate"></span>
+</div>