dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #16047
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5983: added locking to data entry, still needs works (notification, blocking of data values, etc)
------------------------------------------------------------
revno: 5983
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2012-02-16 19:07:10 +0700
message:
added locking to data entry, still needs works (notification, blocking of data values, etc)
added:
dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetLockStatus.java
dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseLockStatus.vm
modified:
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm
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/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml
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/responseMetaData.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-web/dhis-web-commons-resources/src/main/webapp/main.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm 2012-02-13 14:30:59 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/main.vm 2012-02-16 12:07:10 +0000
@@ -1,5 +1,6 @@
<!DOCTYPE HTML>
-<html#if( $offline && $offline == "true" ) manifest="../dhis-web-commons/cacheManifest.action"#end>
+<!-- <html#if( $offline && $offline == "true" ) manifest="../dhis-web-commons/cacheManifest.action"#end> -->
+<html>
<head>
<title>DHIS 2</title>
<link type="text/css" rel="stylesheet" media="screen" href="../dhis-web-commons/javascripts/jQuery/ui/css/redmond/jquery-ui-1.8.12.custom.css" />
=== 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-12-26 10:07:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java 2012-02-16 12:07:10 +0000
@@ -27,10 +27,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.Collection;
-import java.util.Date;
-
-import org.hisp.dhis.datalock.DataSetLock;
+import com.opensymphony.xwork2.Action;
import org.hisp.dhis.datalock.DataSetLockService;
import org.hisp.dhis.dataset.CompleteDataSetRegistration;
import org.hisp.dhis.dataset.CompleteDataSetRegistrationService;
@@ -45,7 +42,8 @@
import org.hisp.dhis.period.Period;
import org.hisp.dhis.period.PeriodType;
-import com.opensymphony.xwork2.Action;
+import java.util.Collection;
+import java.util.Date;
/**
* @author Lars Helge Overland
@@ -63,7 +61,7 @@
{
this.dataValueService = dataValueService;
}
-
+
private MinMaxDataElementService minMaxDataElementService;
public void setMinMaxDataElementService( MinMaxDataElementService minMaxDataElementService )
@@ -72,7 +70,7 @@
}
private DataSetService dataSetService;
-
+
public void setDataSetService( DataSetService dataSetService )
{
this.dataSetService = dataSetService;
@@ -91,7 +89,7 @@
{
this.dataSetLockService = dataSetLockService;
}
-
+
private OrganisationUnitService organisationUnitService;
public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
@@ -109,14 +107,14 @@
{
this.periodId = periodId;
}
-
+
private Integer dataSetId;
public void setDataSetId( Integer dataSetId )
{
this.dataSetId = dataSetId;
}
-
+
private Integer organisationUnitId;
public void setOrganisationUnitId( Integer organisationUnitId )
@@ -134,7 +132,7 @@
{
return dataValues;
}
-
+
private Collection<MinMaxDataElement> minMaxDataElements;
public Collection<MinMaxDataElement> getMinMaxDataElements()
@@ -155,9 +153,9 @@
{
return complete;
}
-
+
private Date date;
-
+
public Date getDate()
{
return date;
@@ -176,31 +174,29 @@
public String execute()
{
+ OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId );
+ DataSet dataSet = dataSetService.getDataSet( dataSetId );
Period period = PeriodType.createPeriodExternalId( periodId );
- DataSet dataSet = dataSetService.getDataSet( dataSetId );
- OrganisationUnit unit = organisationUnitService.getOrganisationUnit( organisationUnitId );
// ---------------------------------------------------------------------
// Data values
// ---------------------------------------------------------------------
- dataValues = dataValueService.getDataValues( unit, period, dataSet.getDataElements() );
+ dataValues = dataValueService.getDataValues( organisationUnit, period, dataSet.getDataElements() );
// ---------------------------------------------------------------------
// Min-max data elements
// ---------------------------------------------------------------------
- minMaxDataElements = minMaxDataElementService.getMinMaxDataElements( unit, dataSet.getDataElements() );
+ minMaxDataElements = minMaxDataElementService.getMinMaxDataElements( organisationUnit, dataSet.getDataElements() );
// ---------------------------------------------------------------------
// Data locking info
// ---------------------------------------------------------------------
- if ( dataSet != null && period != null )
+ if ( dataSet != null && period != null && organisationUnit != null )
{
- DataSetLock dataSetLock = dataSetLockService.getDataSetLockByDataSetAndPeriod( dataSet, period );
-
- if ( dataSetLock != null && dataSetLock.getSources().contains( unit ) )
+ if ( dataSetService.isLocked( organisationUnit, dataSet, period ) )
{
locked = true;
}
@@ -210,9 +206,9 @@
// Data set completeness info
// ---------------------------------------------------------------------
- if ( dataSet != null && period != null && unit != null )
+ if ( dataSet != null && period != null && organisationUnit != null )
{
- CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( dataSet, period, unit );
+ CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( dataSet, period, organisationUnit );
if ( registration != null )
{
=== added file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetLockStatus.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetLockStatus.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetLockStatus.java 2012-02-16 12:07:10 +0000
@@ -0,0 +1,122 @@
+package org.hisp.dhis.de.action;
+
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import com.opensymphony.xwork2.Action;
+import org.hisp.dhis.dataset.DataSet;
+import org.hisp.dhis.dataset.DataSetService;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.organisationunit.OrganisationUnitService;
+import org.hisp.dhis.period.Period;
+import org.hisp.dhis.period.PeriodService;
+import org.hisp.dhis.period.PeriodType;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class GetLockStatus
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private DataSetService dataSetService;
+
+ public void setDataSetService( DataSetService dataSetService )
+ {
+ this.dataSetService = dataSetService;
+ }
+
+ private OrganisationUnitService organisationUnitService;
+
+ public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
+ {
+ this.organisationUnitService = organisationUnitService;
+ }
+
+ private PeriodService periodService;
+
+ public void setPeriodService( PeriodService periodService )
+ {
+ this.periodService = periodService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input & Output
+ // -------------------------------------------------------------------------
+
+ private int dataSetId;
+
+ public void setDataSetId( int dataSetId )
+ {
+ this.dataSetId = dataSetId;
+ }
+
+ private int organisationUnitId;
+
+ public void setOrganisationUnitId( int organisationUnitId )
+ {
+ this.organisationUnitId = organisationUnitId;
+ }
+
+ private String periodId;
+
+ public void setPeriodId( String periodId )
+ {
+ this.periodId = periodId;
+ }
+
+ private boolean locked;
+
+ public boolean isLocked()
+ {
+ return locked;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action Implementation
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute() throws Exception
+ {
+ OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId );
+ DataSet dataSet = dataSetService.getDataSet( dataSetId );
+ Period period = PeriodType.createPeriodExternalId( periodId );
+
+ if ( organisationUnit == null || dataSet == null || period == null )
+ {
+ return INPUT;
+ }
+
+ locked = dataSetService.isLocked( organisationUnit, dataSet, period );
+
+ return SUCCESS;
+ }
+}
=== 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 2012-02-02 20:01:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml 2012-02-16 12:07:10 +0000
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
+ xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="org.hisp.dhis.de.history.HistoryRetriever" class="org.hisp.dhis.de.history.DefaultHistoryRetriever">
@@ -13,19 +13,27 @@
<bean id="org.hisp.dhis.de.action.PageInitAction" class="org.hisp.dhis.de.action.PageInitAction" scope="prototype">
<property name="selectionManager" ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
- </bean>
+ </bean>
- <bean id="org.hisp.dhis.de.action.GetMetaDataAction" class="org.hisp.dhis.de.action.GetMetaDataAction" scope="prototype">
+ <bean id="org.hisp.dhis.de.action.GetMetaDataAction" class="org.hisp.dhis.de.action.GetMetaDataAction"
+ scope="prototype">
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
- <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
- <property name="expressionService" ref="org.hisp.dhis.expression.ExpressionService" />
- <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
- <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- </bean>
-
- <bean id="org.hisp.dhis.de.action.GetDataValuesForDataSetAction" class="org.hisp.dhis.de.action.GetDataValuesForDataSetAction" scope="prototype">
- <property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
- <property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
+ <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
+ <property name="expressionService" ref="org.hisp.dhis.expression.ExpressionService" />
+ <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+ <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.de.action.GetLockStatus" class="org.hisp.dhis.de.action.GetLockStatus" scope="prototype">
+ <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+ <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+ <property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
+ </bean>
+
+ <bean id="org.hisp.dhis.de.action.GetDataValuesForDataSetAction"
+ class="org.hisp.dhis.de.action.GetDataValuesForDataSetAction" scope="prototype">
+ <property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
+ <property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
<property name="registrationService" ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService" />
<property name="dataSetLockService" ref="org.hisp.dhis.datalock.DataSetLockService" />
@@ -35,7 +43,7 @@
<bean id="org.hisp.dhis.de.action.LoadFormAction" class="org.hisp.dhis.de.action.LoadFormAction" scope="prototype">
<property name="dataEntryFormService" ref="org.hisp.dhis.dataentryform.DataEntryFormService" />
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
- <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+ <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
</bean>
<bean id="org.hisp.dhis.de.action.SaveValueAction" class="org.hisp.dhis.de.action.SaveValueAction" scope="prototype">
@@ -46,7 +54,8 @@
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
</bean>
- <bean id="org.hisp.dhis.de.action.SaveCommentAction" class="org.hisp.dhis.de.action.SaveCommentAction" scope="prototype">
+ <bean id="org.hisp.dhis.de.action.SaveCommentAction" class="org.hisp.dhis.de.action.SaveCommentAction"
+ scope="prototype">
<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
<property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
@@ -55,7 +64,7 @@
</bean>
<bean id="org.hisp.dhis.de.action.SaveMinMaxLimitsAction" class="org.hisp.dhis.de.action.SaveMinMaxLimitsAction"
- scope="prototype">
+ scope="prototype">
<property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
@@ -63,7 +72,7 @@
</bean>
<bean id="org.hisp.dhis.de.action.RemoveMinMaxLimitsAction" class="org.hisp.dhis.de.action.RemoveMinMaxLimitsAction"
- scope="prototype">
+ scope="prototype">
<property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
@@ -77,40 +86,43 @@
<property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
<property name="dataValueAuditService" ref="org.hisp.dhis.datavalue.DataValueAuditService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
- <property name="userService" ref="org.hisp.dhis.user.UserService" />
+ <property name="userService" ref="org.hisp.dhis.user.UserService" />
</bean>
- <bean id="org.hisp.dhis.de.action.RegisterCompleteDataSetAction" class="org.hisp.dhis.de.action.RegisterCompleteDataSetAction"
- scope="prototype">
+ <bean id="org.hisp.dhis.de.action.RegisterCompleteDataSetAction"
+ class="org.hisp.dhis.de.action.RegisterCompleteDataSetAction"
+ scope="prototype">
<property name="registrationService" ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService" />
- <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+ <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"/>
+ <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
+ <property name="messageService" ref="org.hisp.dhis.message.MessageService" />
</bean>
<bean id="org.hisp.dhis.de.action.UndoCompleteDataSetAction" class="org.hisp.dhis.de.action.UndoCompleteDataSetAction"
- scope="prototype">
+ scope="prototype">
<property name="registrationService" ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService" />
- <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+ <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
</bean>
- <bean id="org.hisp.dhis.de.action.ValidationAction" class="org.hisp.dhis.de.action.ValidationAction" scope="prototype">
+ <bean id="org.hisp.dhis.de.action.ValidationAction" class="org.hisp.dhis.de.action.ValidationAction"
+ scope="prototype">
<property name="validationRuleService" ref="org.hisp.dhis.validation.ValidationRuleService" />
<property name="expressionService" ref="org.hisp.dhis.expression.ExpressionService" />
<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
<property name="stdDevOutlierAnalysisService" ref="org.hisp.dhis.dataanalysis.StdDevOutlierAnalysisService" />
<property name="minMaxOutlierAnalysisService" ref="org.hisp.dhis.dataanalysis.MinMaxOutlierAnalysisService" />
- <property name="minMaxValuesGenerationService" ref="org.hisp.dhis.minmax.validation.MinMaxValuesGenerationService" />
+ <property name="minMaxValuesGenerationService"
+ ref="org.hisp.dhis.minmax.validation.MinMaxValuesGenerationService" />
<property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService" />
<property name="systemSettingManager" ref="org.hisp.dhis.setting.SystemSettingManager" />
- <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+ <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
</bean>
<bean id="org.hisp.dhis.de.action.MarkForFollowupAction" class="org.hisp.dhis.de.action.MarkForFollowupAction"
- scope="prototype">
+ scope="prototype">
<property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
@@ -118,7 +130,7 @@
</bean>
<bean id="org.hisp.dhis.de.action.GetHistoryChartAction" class="org.hisp.dhis.de.action.GetHistoryChartAction"
- scope="prototype">
+ scope="prototype">
<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
<property name="chartService" ref="org.hisp.dhis.chart.ChartService" />
=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml 2011-08-20 12:10:52 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml 2012-02-16 12:07:10 +0000
@@ -20,13 +20,17 @@
</action>
<action name="getMetaData" class="org.hisp.dhis.de.action.GetMetaDataAction">
- <result name="success" type="velocity-json">/dhis-web-dataentry/responseMetaData.vm</result>
+ <result name="success" type="velocity-json">/dhis-web-dataentry/responseMetaData.vm</result>
</action>
<action name="getDataValues" class="org.hisp.dhis.de.action.GetDataValuesForDataSetAction">
<result name="success" type="velocity-json">/dhis-web-dataentry/responseDataValues.vm</result>
</action>
+ <action name="getLockStatus" class="org.hisp.dhis.de.action.GetLockStatus">
+ <result name="success" type="velocity-json">/dhis-web-dataentry/responseLockStatus.vm</result>
+ </action>
+
<action name="loadForm" class="org.hisp.dhis.de.action.LoadFormAction">
<result name="custom" type="velocity">/dhis-web-dataentry/customForm.vm</result>
<result name="section" type="velocity">/dhis-web-dataentry/sectionForm.vm</result>
@@ -84,7 +88,7 @@
</action>
<action name="markValueForFollowup" class="org.hisp.dhis.de.action.MarkForFollowupAction">
- <result name="success" type="velocity-json">../dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
+ <result name="success" type="velocity-json">../dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
</action>
<action name="getHistoryChart" class="org.hisp.dhis.de.action.GetHistoryChartAction">
=== 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 2012-02-09 18:17:37 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js 2012-02-16 12:07:10 +0000
@@ -509,6 +509,36 @@
}
// -----------------------------------------------------------------------------
+// Locking
+// -----------------------------------------------------------------------------
+function getLockStatus()
+{
+ var periodId = $( '#selectedPeriodId' ).val();
+ var dataSetId = $( '#selectedDataSetId' ).val();
+ var locked = false;
+
+ if(periodId == null || dataSetId == -1)
+ {
+ return false;
+ }
+
+ $.ajax({
+ url: 'getLockStatus.action',
+ async: false,
+ data: {
+ 'organisationUnitId': currentOrganisationUnitId,
+ 'dataSetId': dataSetId,
+ 'periodId': periodId
+ },
+ success: function (data) {
+ locked = data.locked;
+ }
+ });
+
+ return locked;
+}
+
+// -----------------------------------------------------------------------------
// Next/Previous Periods Selection
// -----------------------------------------------------------------------------
@@ -741,6 +771,19 @@
dataEntryFormIsLoaded = true;
hideLoader();
+ var locked = getLockStatus();
+
+ if(locked)
+ {
+ $("#contentDiv").find("input").attr("disabled", true)
+ $("#completenessDiv").find("input").attr("disabled", true)
+ }
+ else
+ {
+ $("#contentDiv").find("input").removeAttr("disabled");
+ $("#completenessDiv").find("input").removeAttr("disabled");
+ }
+
$( '#completenessDiv' ).css( 'display', 'block' );
}
=== added file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseLockStatus.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseLockStatus.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseLockStatus.vm 2012-02-16 12:07:10 +0000
@@ -0,0 +1,1 @@
+{"locked":$locked}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm 2012-01-30 16:18:51 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm 2012-02-16 12:07:10 +0000
@@ -24,7 +24,7 @@
#set( $size = $dataSets.size() )
#foreach( $dataSet in $dataSets )
"${dataSet.id}":{"name":"$encoder.jsonEncode( ${dataSet.displayName} )","periodType":"$encoder.jsonEncode( ${dataSet.periodType.name} )",
-"version":"${dataSet.version}","type":"${dataSet.getDataSetType()}"
+"version":"${dataSet.version}","type":"${dataSet.getDataSetType()}","expiryDays":"${dataSet.expiryDays}"
}#if( $velocityCount < $size ),#end
#end },