← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 2741: Removed 'save calculated data' button from data entry and its crappy implementation. Feels good.

 

------------------------------------------------------------
revno: 2741
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2011-01-25 15:49:09 +0100
message:
  Removed 'save calculated data' button from data entry and its crappy implementation. Feels good.
removed:
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/CalculateCDEsAction.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultStatefulDataValueSaver.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/StatefulDataValueSaver.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_pt_PT.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseCalculateCDEs.vm
modified:
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/FormAction.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SectionFormAction.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SelectAction.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DataEntryScreenManager.java
  dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DefaultDataEntryScreenManager.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/resources/org/hisp/dhis/de/i18n_module_en_GB.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_es_ES.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_fr_FR.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_gu_IN.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_kn_IN.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_no_NO.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_ru_RU.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_tg_TJ.properties
  dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_vi_VN.properties
  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/completeRegistration.vm
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/defaultForm.vm
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/entry.js
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.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
=== removed file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/CalculateCDEsAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/CalculateCDEsAction.java	2010-09-24 06:12:10 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/CalculateCDEsAction.java	1970-01-01 00:00:00 +0000
@@ -1,170 +0,0 @@
-package org.hisp.dhis.de.action;
-
-/*
- * Copyright (c) 2004-2010, 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 java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.hisp.dhis.dataelement.CalculatedDataElement;
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-import org.hisp.dhis.dataelement.DataElementCategoryService;
-import org.hisp.dhis.dataelement.DataElementService;
-import org.hisp.dhis.de.state.SelectedStateManager;
-import org.hisp.dhis.de.state.StatefulDataValueSaver;
-import org.hisp.dhis.expression.ExpressionService;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.period.Period;
-
-import com.opensymphony.xwork2.Action;
-
-/**
- * @author Abyot Asalefew
- * @version $Id$
- */
-public class CalculateCDEsAction
-    implements Action
-{
-    // -------------------------------------------------------------------------
-    // Dependencies
-    // -------------------------------------------------------------------------
-
-    private DataElementService dataElementService;
-
-    public void setDataElementService( DataElementService dataElementService )
-    {
-        this.dataElementService = dataElementService;
-    }
-
-    private SelectedStateManager selectedStateManager;
-
-    public void setSelectedStateManager( SelectedStateManager selectedStateManager )
-    {
-        this.selectedStateManager = selectedStateManager;
-    }
-
-    private StatefulDataValueSaver statefulDataValueSaver;
-
-    public void setStatefulDataValueSaver( StatefulDataValueSaver statefulDataValueSaver )
-    {
-        this.statefulDataValueSaver = statefulDataValueSaver;
-    }
-
-    private ExpressionService expressionService;
-
-    public void setExpressionService( ExpressionService expressionService )
-    {
-        this.expressionService = expressionService;
-    }
-
-    private DataElementCategoryService categoryService;
-
-    public void setCategoryService( DataElementCategoryService categoryService )
-    {
-        this.categoryService = categoryService;
-    }
-
-    // -------------------------------------------------------------------------
-    // Output
-    // -------------------------------------------------------------------------
-
-    private Map<Integer, String> cdeValueMap;
-
-    public Map<Integer, String> getCdeValueMap()
-    {
-        return cdeValueMap;
-    }
-
-    // -------------------------------------------------------------------------
-    // Action implementation
-    // -------------------------------------------------------------------------
-
-    public String execute()
-        throws Exception
-    {
-        OrganisationUnit organisationUnit = selectedStateManager.getSelectedOrganisationUnit();
-
-        Period period = selectedStateManager.reloadPeriod();
-
-        Collection<DataElement> dataElements = selectedStateManager.getSelectedDataSet().getDataElements();
-
-        if ( dataElements.size() > 0 )
-        {
-            Collection<CalculatedDataElement> cdes = dataElementService
-                .getCalculatedDataElementsByDataElements( dataElements );
-
-            // Look for the existence of CDEs in the form itself
-            Iterator<DataElement> iterator = dataElements.iterator();
-
-            while ( iterator.hasNext() )
-            {
-                DataElement dataElement = iterator.next();
-
-                if ( dataElement instanceof CalculatedDataElement )
-                {
-                    cdes.add( (CalculatedDataElement) dataElement );
-                }
-            }
-
-            cdeValueMap = new HashMap<Integer, String>();
-
-            String value = null;
-
-            for ( CalculatedDataElement cde : cdes )
-            {
-                value = expressionService.getExpressionValue( cde.getExpression(), period, organisationUnit, false,
-                    false ).toString();
-                
-                if ( value == null )
-                {
-                    continue;
-                }
-
-                // Should the value be updated in Data Entry?
-                if ( dataElements.contains( cde ) )
-                {
-                    cdeValueMap.put( cde.getId(), value );
-                }
-
-                // Should the value be saved to the database?
-                if ( cde.isSaved() )
-                {
-                    DataElementCategoryOptionCombo optionCombo = categoryService
-                        .getDefaultDataElementCategoryOptionCombo();
-                    statefulDataValueSaver.saveValue( cde.getId(), optionCombo.getId(), "" + value );
-                }
-
-                value = null;
-            }
-        }
-
-        return SUCCESS;
-    }
-}

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/FormAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/FormAction.java	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/FormAction.java	2011-01-25 14:49:09 +0000
@@ -37,7 +37,6 @@
 
 import org.hisp.dhis.customvalue.CustomValue;
 import org.hisp.dhis.customvalue.CustomValueService;
-import org.hisp.dhis.dataelement.CalculatedDataElement;
 import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.dataelement.DataElementCategory;
 import org.hisp.dhis.dataelement.DataElementCategoryCombo;
@@ -197,13 +196,6 @@
         return dataValueMap;
     }
 
-    private Map<CalculatedDataElement, Integer> calculatedValueMap;
-
-    public Map<CalculatedDataElement, Integer> getCalculatedValueMap()
-    {
-        return calculatedValueMap;
-    }
-
     private List<String> standardComments;
 
     public List<String> getStandardComments()
@@ -478,13 +470,6 @@
         }
 
         // ---------------------------------------------------------------------
-        // Prepare values for unsaved CalculatedDataElements
-        // ---------------------------------------------------------------------
-
-        calculatedValueMap = dataEntryScreenManager.populateValuesForCalculatedDataElements( organisationUnit, dataSet,
-            period );
-
-        // ---------------------------------------------------------------------
         // Make the standard comments available
         // ---------------------------------------------------------------------
 
@@ -511,7 +496,7 @@
         if ( cdeFormExists )
         {
             customDataEntryFormCode = dataEntryScreenManager.populateCustomDataEntryScreenForMultiDimensional(
-                dataEntryForm.getHtmlCode(), dataValues, calculatedValueMap, minMaxMap, disabled, i18n, dataSet );
+                dataEntryForm.getHtmlCode(), dataValues, minMaxMap, disabled, i18n, dataSet );
         }
 
         // ---------------------------------------------------------------------

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SectionFormAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SectionFormAction.java	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SectionFormAction.java	2011-01-25 14:49:09 +0000
@@ -36,7 +36,6 @@
 
 import org.hisp.dhis.customvalue.CustomValue;
 import org.hisp.dhis.customvalue.CustomValueService;
-import org.hisp.dhis.dataelement.CalculatedDataElement;
 import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.dataelement.DataElementCategory;
 import org.hisp.dhis.dataelement.DataElementCategoryCombo;
@@ -44,7 +43,6 @@
 import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
 import org.hisp.dhis.dataelement.DataElementCategoryService;
 import org.hisp.dhis.dataelement.DataElementOperand;
-import org.hisp.dhis.dataelement.DataElementService;
 import org.hisp.dhis.dataset.DataSet;
 import org.hisp.dhis.dataset.Section;
 import org.hisp.dhis.dataset.comparator.SectionOrderComparator;
@@ -90,13 +88,6 @@
         this.dataValueService = dataValueService;
     }
 
-    private DataElementService dataElementService;
-
-    public void setDataElementService( DataElementService dataElementService )
-    {
-        this.dataElementService = dataElementService;
-    }
-
     private StandardCommentsManager standardCommentsManager;
 
     public void setStandardCommentsManager( StandardCommentsManager standardCommentsManager )
@@ -157,13 +148,6 @@
         return dataValueMap;
     }
 
-    private Map<CalculatedDataElement, Integer> calculatedValueMap;
-
-    public Map<CalculatedDataElement, Integer> getCalculatedValueMap()
-    {
-        return calculatedValueMap;
-    }
-
     private List<String> standardComments;
 
     public List<String> getStandardComments()
@@ -465,53 +449,6 @@
         }
 
         // ---------------------------------------------------------------------
-        // Prepare values for unsaved CalculatedDataElements
-        // ---------------------------------------------------------------------
-
-        CalculatedDataElement cde;
-
-        calculatedValueMap = new HashMap<CalculatedDataElement, Integer>();
-
-        Map<DataElement, Integer> factorMap;
-
-        DataValue dataValue;
-        int factor;
-        int value = 0;
-
-        for ( DataElement dataElement : dataElements )
-        {
-            if ( !(dataElement instanceof CalculatedDataElement) )
-            {
-                continue;
-            }
-
-            cde = (CalculatedDataElement) dataElement;
-
-            if ( cde.isSaved() )
-            {
-                continue;
-            }
-
-            factorMap = dataElementService.getDataElementFactors( cde );
-
-            for ( DataElement cdeElement : cde.getExpression().getDataElementsInExpression() )
-            {
-                factor = factorMap.get( cdeElement );
-                dataValue = dataValueMap.get( cdeElement.getId() );
-
-                if ( dataValue != null )
-                {
-                    value += Integer.parseInt( dataValue.getValue() ) * factor;
-                }
-
-            }
-
-            calculatedValueMap.put( cde, value );
-
-            value = 0;
-        }
-
-        // ---------------------------------------------------------------------
         // Make the standard comments available
         // ---------------------------------------------------------------------
 

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SelectAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SelectAction.java	2010-11-21 15:05:05 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SelectAction.java	2011-01-25 14:49:09 +0000
@@ -27,20 +27,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import java.util.Collection;
 import java.util.Date;
-import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.hisp.dhis.dataelement.CalculatedDataElement;
-import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.datalock.DataSetLock;
 import org.hisp.dhis.datalock.DataSetLockService;
 import org.hisp.dhis.dataset.CompleteDataSetRegistration;
 import org.hisp.dhis.dataset.CompleteDataSetRegistrationService;
 import org.hisp.dhis.dataset.DataSet;
-import org.hisp.dhis.de.screen.DataEntryScreenManager;
 import org.hisp.dhis.de.state.SelectedStateManager;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
 import org.hisp.dhis.period.Period;
@@ -60,6 +55,13 @@
     // Dependencies
     // -------------------------------------------------------------------------
 
+    private DataSetLockService dataSetLockService;
+
+    public void setDataSetLockService( DataSetLockService dataSetLockService )
+    {
+        this.dataSetLockService = dataSetLockService;
+    }
+
     private SelectedStateManager selectedStateManager;
 
     public void setSelectedStateManager( SelectedStateManager selectedStateManager )
@@ -67,13 +69,6 @@
         this.selectedStateManager = selectedStateManager;
     }
 
-    private DataEntryScreenManager dataEntryScreenManager;
-
-    public void setDataEntryScreenManager( DataEntryScreenManager dataEntryScreenManager )
-    {
-        this.dataEntryScreenManager = dataEntryScreenManager;
-    }
-
     private CompleteDataSetRegistrationService registrationService;
 
     public void setRegistrationService( CompleteDataSetRegistrationService registrationService )
@@ -81,13 +76,6 @@
         this.registrationService = registrationService;
     }
 
-    private DataSetLockService dataSetLockService;
-
-    public void setDataSetLockService( DataSetLockService dataSetLockService )
-    {
-        this.dataSetLockService = dataSetLockService;
-    }
-
     // -------------------------------------------------------------------------
     // Input
     // -------------------------------------------------------------------------
@@ -131,20 +119,6 @@
         return locked;
     }
 
-    private Collection<Integer> calculatedDataElementIds;
-
-    public Collection<Integer> getCalculatedDataElementIds()
-    {
-        return calculatedDataElementIds;
-    }
-
-    private Map<CalculatedDataElement, Map<DataElement, Integer>> calculatedDataElementMap;
-
-    public Map<CalculatedDataElement, Map<DataElement, Integer>> getCalculatedDataElementMap()
-    {
-        return calculatedDataElementMap;
-    }
-
     private CompleteDataSetRegistration registration;
 
     public CompleteDataSetRegistration getRegistration()
@@ -211,13 +185,6 @@
         }
         
         // ---------------------------------------------------------------------
-        // Get calculated data element info
-        // ---------------------------------------------------------------------
-
-        calculatedDataElementIds = dataEntryScreenManager.getAllCalculatedDataElements( selectedDataSet );
-        calculatedDataElementMap = dataEntryScreenManager.getNonSavedCalculatedDataElements( selectedDataSet );
-
-        // ---------------------------------------------------------------------
         // Get data set completeness info
         // ---------------------------------------------------------------------
 

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DataEntryScreenManager.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DataEntryScreenManager.java	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DataEntryScreenManager.java	2011-01-25 14:49:09 +0000
@@ -30,14 +30,10 @@
 import java.util.Collection;
 import java.util.Map;
 
-import org.hisp.dhis.dataelement.CalculatedDataElement;
-import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.dataset.DataSet;
 import org.hisp.dhis.datavalue.DataValue;
 import org.hisp.dhis.i18n.I18n;
 import org.hisp.dhis.minmax.MinMaxDataElement;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.period.Period;
 
 /**
  * @author Abyot Asalefew
@@ -45,13 +41,5 @@
  */
 public interface DataEntryScreenManager 
 {
-    Collection<Integer> getAllCalculatedDataElements( DataSet dataSet );
-    
-    Map<CalculatedDataElement, Map<DataElement, Integer>> getNonSavedCalculatedDataElements( DataSet dataSet );
-    
-    Map<CalculatedDataElement, Integer> populateValuesForCalculatedDataElements( OrganisationUnit organisationUnit, DataSet dataSet, Period period );
-    
-    String populateCustomDataEntryScreen( String dataEntryFormCode, Collection<DataValue> dataValues, Map<CalculatedDataElement,Integer> calculatedValueMap, Map<Integer, MinMaxDataElement> minMaxMap, String disabled, I18n i18n, DataSet dataSet );
-    
-    String populateCustomDataEntryScreenForMultiDimensional( String dataEntryFormCode, Collection<DataValue> dataValues, Map<CalculatedDataElement,Integer> calculatedValueMap, Map<String, MinMaxDataElement> minMaxMap, String disabled, I18n i18n, DataSet dataSet );
+    String populateCustomDataEntryScreenForMultiDimensional( String dataEntryFormCode, Collection<DataValue> dataValues, Map<String, MinMaxDataElement> minMaxMap, String disabled, I18n i18n, DataSet dataSet );
 }

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DefaultDataEntryScreenManager.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DefaultDataEntryScreenManager.java	2011-01-21 07:03:27 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/screen/DefaultDataEntryScreenManager.java	2011-01-25 14:49:09 +0000
@@ -30,12 +30,9 @@
 import static org.hisp.dhis.dataelement.DataElement.VALUE_TYPE_BOOL;
 import static org.hisp.dhis.dataelement.DataElement.VALUE_TYPE_INT;
 import static org.hisp.dhis.dataelement.DataElement.VALUE_TYPE_STRING;
-import static org.hisp.dhis.expression.Expression.SEPARATOR;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -45,18 +42,11 @@
 import org.apache.commons.logging.LogFactory;
 import org.hisp.dhis.customvalue.CustomValue;
 import org.hisp.dhis.customvalue.CustomValueService;
-import org.hisp.dhis.dataelement.CalculatedDataElement;
 import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-import org.hisp.dhis.dataelement.DataElementCategoryService;
-import org.hisp.dhis.dataelement.DataElementService;
 import org.hisp.dhis.dataset.DataSet;
 import org.hisp.dhis.datavalue.DataValue;
-import org.hisp.dhis.datavalue.DataValueService;
 import org.hisp.dhis.i18n.I18n;
 import org.hisp.dhis.minmax.MinMaxDataElement;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.period.Period;
 
 /**
  * @author Abyot Asalefew
@@ -80,411 +70,12 @@
         this.customValueService = customValueService;
     }
 
-    private DataValueService dataValueService;
-
-    public void setDataValueService( DataValueService dataValueService )
-    {
-        this.dataValueService = dataValueService;
-    }
-
-    private DataElementService dataElementService;
-
-    public void setDataElementService( DataElementService dataElementService )
-    {
-        this.dataElementService = dataElementService;
-    }
-
-    private DataElementCategoryService categoryService;
-
-    public void setCategoryService( DataElementCategoryService categoryService )
-    {
-        this.categoryService = categoryService;
-    }    
-
     // -------------------------------------------------------------------------
     // DataEntryScreenManager implementation
     // -------------------------------------------------------------------------
     
-    public Collection<Integer> getAllCalculatedDataElements( DataSet dataSet )
-    {
-        Collection<Integer> calculatedDataElementIds = new HashSet<Integer>();
-
-        CalculatedDataElement cde;
-
-        for ( DataElement dataElement : dataSet.getDataElements() )
-        {
-            if ( dataElement instanceof CalculatedDataElement )
-            {
-                cde = (CalculatedDataElement) dataElement;
-
-                calculatedDataElementIds.add( cde.getId() );
-            }
-        }
-
-        return calculatedDataElementIds;
-    }
-
-    public Map<CalculatedDataElement, Map<DataElement, Integer>> getNonSavedCalculatedDataElements( DataSet dataSet )
-    {
-        Map<CalculatedDataElement, Map<DataElement, Integer>> calculatedDataElementMap = new HashMap<CalculatedDataElement, Map<DataElement, Integer>>();
-
-        CalculatedDataElement cde;
-
-        for ( DataElement dataElement : dataSet.getDataElements() )
-        {
-            if ( dataElement instanceof CalculatedDataElement )
-            {
-                cde = (CalculatedDataElement) dataElement;
-
-                if ( !cde.isSaved() )
-                {
-                    calculatedDataElementMap.put( cde, dataElementService.getDataElementFactors( cde ) );
-                }
-            }
-        }
-
-        return calculatedDataElementMap;
-    }
-
-    public Map<CalculatedDataElement, Integer> populateValuesForCalculatedDataElements(
-        OrganisationUnit organisationUnit, DataSet dataSet, Period period )
-    {
-        Map<CalculatedDataElement, Integer> calculatedValueMap = new HashMap<CalculatedDataElement, Integer>();
-
-        CalculatedDataElement cde;
-
-        Map<String, Integer> factorMap;
-
-        DataValue dataValue;
-        int factor;
-        int value = 0;
-
-        Collection<String> operandIds = new ArrayList<String>();
-
-        for ( DataElement dataElement : dataSet.getDataElements() )
-        {
-            if ( !(dataElement instanceof CalculatedDataElement) )
-            {
-                continue;
-            }
-
-            cde = (CalculatedDataElement) dataElement;
-
-            if ( cde.isSaved() )
-            {
-                continue;
-            }
-
-            factorMap = dataElementService.getOperandFactors( cde );
-
-            operandIds = dataElementService.getOperandIds( cde );
-
-            for ( String operandId : operandIds )
-            {
-                factor = factorMap.get( operandId );
-
-                String dataElementIdString = operandId.substring( 0, operandId.indexOf( SEPARATOR ) );
-                String optionComboIdString = operandId.substring( operandId.indexOf( SEPARATOR ) + 1, operandId
-                    .length() );
-
-                DataElement element = dataElementService.getDataElement( Integer.parseInt( dataElementIdString ) );
-                DataElementCategoryOptionCombo optionCombo = categoryService.getDataElementCategoryOptionCombo( Integer
-                    .parseInt( optionComboIdString ) );
-
-                dataValue = dataValueService.getDataValue( organisationUnit, element, period, optionCombo );
-
-                if ( dataValue != null )
-                {
-                    value += Integer.parseInt( dataValue.getValue() ) * factor;
-                }
-            }
-
-            calculatedValueMap.put( cde, value );
-
-            value = 0;
-        }
-
-        return calculatedValueMap;
-    }
-
-    public String populateCustomDataEntryScreen( String dataEntryFormCode, Collection<DataValue> dataValues,
-        Map<CalculatedDataElement, Integer> calculatedValueMap, Map<Integer, MinMaxDataElement> minMaxMap,
-        String disabled, I18n i18n, DataSet dataSet )
-    {
-        // ---------------------------------------------------------------------
-        // Populating Custom Value data
-        // ---------------------------------------------------------------------
-
-        List<CustomValue> customValues = (List<CustomValue>) customValueService.getCustomValuesByDataSet( dataSet );
-
-        // ---------------------------------------------------------------------
-        // Inline Javascript to add to HTML before outputting
-        // ---------------------------------------------------------------------
-
-        final String jsCodeForInputs = " name=\"entryfield\" $DISABLED onchange=\"saveValue( $DATAELEMENTID, $OPTIONCOMBOID, '$DATAELEMENTNAME', $SAVEMODE )\" style=\"text-align:center\" onkeypress=\"return keyPress(event, this)\" ";
-        final String jsCodeForCombos = " name=\"entryfield\" $DISABLED onchange=\"saveBoolean( $DATAELEMENTID, $OPTIONCOMBOID, this )\" onkeypress=\"return keyPress(event, this)\" >";
-        final String historyCode = " ondblclick='javascript:viewHistory( $DATAELEMENTID, $OPTIONCOMBOID, true )' ";
-        final String calDataElementCode = " class=\"calculated\" disabled ";
-
-        // ---------------------------------------------------------------------
-        // Metadata code to add to HTML before outputting
-        // ---------------------------------------------------------------------
-
-        final String metaDataCode = "<span id=\"value[$DATAELEMENTID].name\" style=\"display:none\">$DATAELEMENTNAME</span>"
-            + "<span id=\"value[$DATAELEMENTID].type\" style=\"display:none\">$DATAELEMENTTYPE</span>"
-            + "<div id=\"value[$DATAELEMENTID:$OPTIONCOMBOID].min\" style=\"display:none\">$MIN</div>"
-            + "<div id=\"value[$DATAELEMENTID:$OPTIONCOMBOID].max\" style=\"display:none\">$MAX</div>";
-
-        StringBuffer sb = new StringBuffer();
-
-        // ---------------------------------------------------------------------
-        // Pattern to match data elements in the HTML code
-        // ---------------------------------------------------------------------
-
-        Pattern dataElementPattern = Pattern.compile( "(<input.*?)[/]?>", Pattern.DOTALL );
-        Matcher dataElementMatcher = dataElementPattern.matcher( dataEntryFormCode );
-
-        // ---------------------------------------------------------------------
-        // Pattern to extract data element ID from data element field
-        // ---------------------------------------------------------------------
-
-        Pattern identifierPattern = Pattern.compile( "value\\[(.*)\\].value:value\\[(.*)\\].value" );
-
-        // ---------------------------------------------------------------------
-        // Iterate through all matching data element fields
-        // ---------------------------------------------------------------------
-
-        while ( dataElementMatcher.find() )
-        {
-            // -----------------------------------------------------------------
-            // Get HTML input field code
-            // -----------------------------------------------------------------
-
-            String dataElementCode = dataElementMatcher.group( 1 );
-
-            Matcher identifierMatcher = identifierPattern.matcher( dataElementCode );
-
-            if ( identifierMatcher.find() && identifierMatcher.groupCount() > 0 )
-            {
-                // -------------------------------------------------------------
-                // Get data element ID of data element
-                // -------------------------------------------------------------
-
-                int dataElementId = Integer.parseInt( identifierMatcher.group( 1 ) );
-                int optionComboId = Integer.parseInt( identifierMatcher.group( 2 ) );
-
-                DataElement dataElement = dataElementService.getDataElement( dataElementId );
-
-                if ( dataElement == null )
-                {
-                    log.error( "Data Element does not exist in system : " + dataElementId );
-                    
-                    return "Data Element does not exist in system : " + dataElementId;
-                }
-
-                // -------------------------------------------------------------
-                // Find type of data element
-                // -------------------------------------------------------------
-
-                String dataElementType = dataElement.getDetailedNumberType();
-
-                // -------------------------------------------------------------
-                // Find existing value of data element in data set
-                // -------------------------------------------------------------
-
-                String dataElementValue = new String();
-
-                if ( (dataElement instanceof CalculatedDataElement) )
-                {
-                    CalculatedDataElement cde = (CalculatedDataElement) dataElement;
-
-                    if ( cde.isSaved() )
-                    {
-                        dataElementValue = getValue( dataValues, dataElementId );
-                    }
-                    else
-                    {
-                        dataElementValue = String.valueOf( calculatedValueMap.get( cde ) );
-                    }
-                }
-                else
-                {
-                    dataElementValue = getValue( dataValues, dataElementId );
-                }
-
-                // -------------------------------------------------------------
-                // Insert value of data element in output code
-                // -------------------------------------------------------------
-
-                boolean customValueExists = customValuesExists( customValues, dataElementId, optionComboId );
-
-                if ( dataElement.getType().equals( VALUE_TYPE_BOOL )
-                    || (dataElement.getType().equals( VALUE_TYPE_STRING ) && customValueExists) )
-                {
-                    dataElementCode = dataElementCode.replace( "input", "select" );
-                    dataElementCode = dataElementCode.replaceAll( "value=\".*?\"", "" );
-                    dataElementCode = dataElementCode.replace( "value\\[" + dataElementId + "\\].value:value\\["
-                        + optionComboId + "\\].value", "value\\[" + dataElementId + "]" );
-                    dataElementCode = dataElementCode.replaceAll( "view=\".*?\"", "" );
-                }
-                else
-                {
-                    if ( dataElementCode.contains( "value=\"\"" ) )
-                    {
-                        dataElementCode = dataElementCode.replace( "value=\"\"", "value=\"" + dataElementValue + "\"" );
-                    }
-                    else
-                    {
-                        dataElementCode += "value=\"" + dataElementValue + "\"";
-                    }
-                }
-
-                // -------------------------------------------------------------
-                // Min-max values
-                // -------------------------------------------------------------
-
-                MinMaxDataElement minMaxDataElement = minMaxMap.get( dataElement.getId() );
-                String minValue = "No Min";
-                String maxValue = "No Max";
-
-                if ( minMaxDataElement != null )
-                {
-                    minValue = String.valueOf( minMaxDataElement.getMin() );
-                    maxValue = String.valueOf( minMaxDataElement.getMax() );
-                }
-
-                // -------------------------------------------------------------
-                // Remove placeholder view attribute from input field
-                // -------------------------------------------------------------
-
-                dataElementCode = dataElementCode.replaceAll( "view=\".*?\"", "" );
-
-                // -------------------------------------------------------------
-                // Insert title information - Data element id, name, type, min,
-                // max
-                // -------------------------------------------------------------
-
-                if ( dataElementCode.contains( "title=\"\"" ) )
-                {
-                    dataElementCode = dataElementCode.replace( "title=\"\"", "title=\"-- ID:" + dataElement.getId()
-                        + " Name:" + dataElement.getShortName() + " Type:" + dataElement.getType() + " Min:" + minValue
-                        + " Max:" + maxValue + " --\"" );
-                }
-                else
-                {
-                    dataElementCode += "title=\"-- ID:" + dataElement.getId() + " Name:" + dataElement.getShortName()
-                        + " Type:" + dataElement.getType() + " Min:" + minValue + " Max:" + maxValue + " --\"";
-                }
-
-                // -------------------------------------------------------------
-                // Append Javascript code and meta data (type/min/max) for
-                // persisting to output code, and insert value and type for
-                // fields
-                // -------------------------------------------------------------
-
-                String appendCode = dataElementCode;
-
-                if ( dataElement.getType().equals( VALUE_TYPE_BOOL ) )
-                {
-                    appendCode += jsCodeForCombos;
-
-                    appendCode += "<option value=\"\">" + i18n.getString( "no_value" ) + "</option>";
-
-                    if ( dataElementValue.equalsIgnoreCase( "true" ) )
-                    {
-                        appendCode += "<option value=\"true\" selected>" + i18n.getString( "yes" ) + "</option>";
-                    }
-                    else
-                    {
-                        appendCode += "<option value=\"true\">" + i18n.getString( "yes" ) + "</option>";
-                    }
-
-                    if ( dataElementValue.equalsIgnoreCase( "false" ) )
-                    {
-                        appendCode += "<option value=\"false\" selected>" + i18n.getString( "no" ) + "</option>";
-                    }
-                    else
-                    {
-                        appendCode += "<option value=\"false\">" + i18n.getString( "no" ) + "</option>";
-                    }
-
-                    appendCode += "</select>";
-                }
-                else if ( dataElement.getType().equals( VALUE_TYPE_STRING ) && customValueExists )
-                {
-                    appendCode += jsCodeForCombos;
-
-                    appendCode += "<option value=\"\"></option>";
-
-                    for ( CustomValue customValue : customValues )
-                    {
-                        if ( dataElementId == customValue.getDataElement().getId()
-                            && optionComboId == customValue.getOptionCombo().getId() )
-                        {
-                            if ( dataElementValue.equalsIgnoreCase( customValue.getCustomValue() ) )
-                            {
-                                appendCode += "<option value=\"" + customValue.getCustomValue() + "\" selected >"
-                                    + customValue.getCustomValue() + "</option>";
-                            }
-                            else
-                            {
-                                appendCode += "<option value=\"" + customValue.getCustomValue() + "\">"
-                                    + customValue.getCustomValue() + "</option>";
-                            }
-                        }
-                    }
-
-                    appendCode += "</select>";
-                }
-                else
-                {
-                    appendCode += jsCodeForInputs;
-
-                    if ( dataElement.getType().equals( VALUE_TYPE_INT ) )
-                    {
-                        appendCode += historyCode;
-                    }
-
-                    if ( (dataElement instanceof CalculatedDataElement) )
-                    {
-                        appendCode += calDataElementCode;
-                    }
-
-                    appendCode += " />";
-                }
-
-                appendCode += metaDataCode;
-                appendCode = appendCode.replace( "$DATAELEMENTID", String.valueOf( dataElementId ) );
-                appendCode = appendCode.replace( "$OPTIONCOMBOID", String.valueOf( optionComboId ) );
-                appendCode = appendCode.replace( "$DATAELEMENTNAME", dataElement.getName() );
-                appendCode = appendCode.replace( "$DATAELEMENTTYPE", dataElementType );
-                appendCode = appendCode.replace( "$SAVEMODE", "false" ); // TODO backwards compatibility, save mode removed
-                appendCode = appendCode.replace( "$DISABLED", disabled );
-
-                if ( minMaxDataElement == null )
-                {
-                    appendCode = appendCode.replace( "$MIN", minValue );
-                    appendCode = appendCode.replace( "$MAX", maxValue );
-                }
-                else
-                {
-                    appendCode = appendCode.replace( "$MIN", String.valueOf( minMaxDataElement.getMin() ) );
-                    appendCode = appendCode.replace( "$MAX", String.valueOf( minMaxDataElement.getMax() ) );
-                }
-
-                dataElementMatcher.appendReplacement( sb, appendCode );
-            }
-        }
-
-        dataElementMatcher.appendTail( sb );
-
-        return sb.toString();
-
-    }
-
     public String populateCustomDataEntryScreenForMultiDimensional( String dataEntryFormCode,
-        Collection<DataValue> dataValues, Map<CalculatedDataElement, Integer> calculatedValueMap,
-        Map<String, MinMaxDataElement> minMaxMap, String disabled, I18n i18n, DataSet dataSet )
+        Collection<DataValue> dataValues, Map<String, MinMaxDataElement> minMaxMap, String disabled, I18n i18n, DataSet dataSet )
     {
         // ---------------------------------------------------------------------
         // Populating Custom Value data
@@ -499,8 +90,7 @@
         final String jsCodeForInputs = " name=\"entryfield\" $DISABLED onchange=\"saveValue( $DATAELEMENTID, $OPTIONCOMBOID, '$DATAELEMENTNAME', $SAVEMODE )\" style=\"text-align:center\" onkeypress=\"return keyPress(event, this)\" ";
         final String jsCodeForCombos = " name=\"entryfield\" $DISABLED onchange=\"saveBoolean( $DATAELEMENTID, $OPTIONCOMBOID, this )\" onkeypress=\"return keyPress(event, this)\" >";
         final String historyCode = " ondblclick='javascript:viewHistory( $DATAELEMENTID, $OPTIONCOMBOID, true )' ";
-        final String calDataElementCode = " class=\"calculated\" disabled ";
-
+        
         // ---------------------------------------------------------------------
         // Metadata code to add to HTML before outputting
         // ---------------------------------------------------------------------
@@ -571,25 +161,7 @@
                 // Find existing value of data element in data set
                 // -------------------------------------------------------------
 
-                String dataElementValue = new String();
-
-                if ( (dataElement instanceof CalculatedDataElement) )
-                {
-                    CalculatedDataElement cde = (CalculatedDataElement) dataElement;
-
-                    if ( cde.isSaved() )
-                    {
-                        dataElementValue = getValue( dataValues, dataElementId, optionComboId );
-                    }
-                    else
-                    {
-                        dataElementValue = String.valueOf( calculatedValueMap.get( cde ) );
-                    }
-                }
-                else
-                {
-                    dataElementValue = getValue( dataValues, dataElementId, optionComboId );
-                }
+                String dataElementValue = getValue( dataValues, dataElementId, optionComboId );
 
                 // -------------------------------------------------------------
                 // Insert value of data element in output code
@@ -722,11 +294,6 @@
                         appendCode += historyCode;
                     }
 
-                    if ( (dataElement instanceof CalculatedDataElement) )
-                    {
-                        appendCode += calDataElementCode;
-                    }
-
                     appendCode += " />";
                 }
 
@@ -800,23 +367,6 @@
     }
 
     /**
-     * Returns the value of the DataValue in the Collection of DataValues with
-     * the given data element identifier.
-     */
-    private String getValue( Collection<DataValue> dataValues, int dataElementId )
-    {
-        for ( DataValue dataValue : dataValues )
-        {
-            if ( dataValue.getDataElement().getId() == dataElementId )
-            {
-                return dataValue.getValue();
-            }
-        }
-
-        return EMPTY;
-    }
-
-    /**
      * Returns a Map of all DataElements in the given DataSet where the key is
      * the DataElement identifier and the value is the DataElement.
      */

=== removed file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultStatefulDataValueSaver.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultStatefulDataValueSaver.java	2010-11-11 21:55:05 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/DefaultStatefulDataValueSaver.java	1970-01-01 00:00:00 +0000
@@ -1,119 +0,0 @@
-package org.hisp.dhis.de.state;
-
-import java.util.Date;
-
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-import org.hisp.dhis.dataelement.DataElementCategoryService;
-import org.hisp.dhis.dataelement.DataElementService;
-import org.hisp.dhis.datavalue.DataValue;
-import org.hisp.dhis.datavalue.DataValueService;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.period.Period;
-import org.hisp.dhis.user.CurrentUserService;
-
-/**
- * This implementation uses the SelectedStateManager to retrieve the relevant
- * properties for the value being saved. It is basically a copy of the
- * functionality found in SaveValueAction, but not using CGI parameters.
- * 
- * @see SaveValueAction
- * @author Hans S. Toemmerholt
- * @version $Id$
- */
-public class DefaultStatefulDataValueSaver
-    implements StatefulDataValueSaver
-{
-    // -------------------------------------------------------------------------
-    // Dependencies
-    // -------------------------------------------------------------------------
-
-    private SelectedStateManager selectedStateManager;
-
-    public void setSelectedStateManager( SelectedStateManager selectedStateManager )
-    {
-        this.selectedStateManager = selectedStateManager;
-    }
-
-    private DataElementService dataElementService;
-
-    public void setDataElementService( DataElementService dataElementService )
-    {
-        this.dataElementService = dataElementService;
-    }
-
-    private DataElementCategoryService categoryService;
-    
-    public void setCategoryService( DataElementCategoryService categoryService )
-    {
-        this.categoryService = categoryService;
-    }
-
-    private DataValueService dataValueService;
-
-    public void setDataValueService( DataValueService dataValueService )
-    {
-        this.dataValueService = dataValueService;
-    }
-
-    private CurrentUserService currentUserService;
-
-    public void setCurrentUserService( CurrentUserService currentUserService )
-    {
-        this.currentUserService = currentUserService;
-    }
-
-    // -------------------------------------------------------------------------
-    // Interface implementation
-    // -------------------------------------------------------------------------
-    
-    public DataValue saveValue( int dataElementId, int optionComboId, String value )
-    {
-        OrganisationUnit organisationUnit = selectedStateManager.getSelectedOrganisationUnit();
-
-        Period period = selectedStateManager.getSelectedPeriod();
-
-        DataElement dataElement = dataElementService.getDataElement( dataElementId );
-        
-        DataElementCategoryOptionCombo optionCombo =  categoryService.getDataElementCategoryOptionCombo( optionComboId );
-
-        String storedBy = currentUserService.getCurrentUsername();
-
-        if ( storedBy == null )
-        {
-            storedBy = "[unknown]";
-        }
-
-        if ( value != null && value.trim().equals( "" ) )
-        {
-            value = null;
-        }
-
-        // ---------------------------------------------------------------------
-        // Update DB
-        // ---------------------------------------------------------------------
-
-        DataValue dataValue = dataValueService.getDataValue( organisationUnit, dataElement, period, optionCombo );
-
-        if ( dataValue == null )
-        {
-            if ( value != null )
-            {
-                dataValue = new DataValue( dataElement, period, organisationUnit, value, storedBy, new Date(), null, optionCombo );
-
-                dataValueService.addDataValue( dataValue );
-            }
-        }
-        else
-        {
-            dataValue.setValue( value );
-            dataValue.setTimestamp( new Date() );
-            dataValue.setStoredBy( storedBy );
-
-            dataValueService.updateDataValue( dataValue );
-        }
-
-        return dataValue;
-        
-    }
-}

=== removed file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/StatefulDataValueSaver.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/StatefulDataValueSaver.java	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/state/StatefulDataValueSaver.java	1970-01-01 00:00:00 +0000
@@ -1,29 +0,0 @@
-package org.hisp.dhis.de.state;
-
-import org.hisp.dhis.datavalue.DataValue;
-
-/**
- * Interface for how DataValues are saved in a stateful way.
- * Implementing classes must supply the remaining necessary properties in some
- * fashion, for example through a bean or some session storage.
- * 
- * The relevant properties are:
- * OrganisationUnit to store the DataValue for.
- * Period to store the DataValue for 
- * The storedBy property, who stored this DataValue
- * The timestamp property, when this DataValue was last updated
- *
- * @author Hans S. Toemmerholt
- * @version $Id$
- */
-public interface StatefulDataValueSaver
-{
-
-    /**
-     * Save a value for the given DataElement, and other relevant properties.
-     * @param dataElementId Id of the DataElement to save for.
-     * @param value String value to save.
-     */
-    DataValue saveValue( int dataElementId, int optionComboId, String value );
-
-}

=== 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-01-17 12:03:26 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml	2011-01-25 14:49:09 +0000
@@ -25,20 +25,9 @@
 	</bean>
 
 	<bean id="org.hisp.dhis.de.screen.DataEntryScreenManager" class="org.hisp.dhis.de.screen.DefaultDataEntryScreenManager">
-		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />		
-		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
-		<property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
 		<property name="customValueService" ref="org.hisp.dhis.customvalue.CustomValueService" />
 	</bean>
 
-	<bean id="org.hisp.dhis.de.state.StatefulDataValueSaver" class="org.hisp.dhis.de.state.DefaultStatefulDataValueSaver">
-		<property name="selectedStateManager" ref="org.hisp.dhis.de.state.SelectedStateManager" />
-		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
-		<property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" />
-		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
-		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
-	</bean>
-
 	<!-- Actions -->
 
 	<bean id="org.hisp.dhis.de.action.LoadOrganisationUnitAction" class="org.hisp.dhis.de.action.LoadOrganisationUnitAction" scope="prototype">
@@ -66,7 +55,6 @@
 		<property name="dataSetLockService" ref="org.hisp.dhis.datalock.DataSetLockService" />
 		<property name="selectedStateManager" ref="org.hisp.dhis.de.state.SelectedStateManager" />
 		<property name="registrationService" ref="org.hisp.dhis.dataset.CompleteDataSetRegistrationService" />
-		<property name="dataEntryScreenManager"	ref="org.hisp.dhis.de.screen.DataEntryScreenManager" />
 	</bean>
 
 	<bean id="org.hisp.dhis.de.action.FormAction" class="org.hisp.dhis.de.action.FormAction" scope="prototype">
@@ -83,7 +71,6 @@
 
 	<bean id="org.hisp.dhis.de.action.SectionFormAction" class="org.hisp.dhis.de.action.SectionFormAction" scope="prototype">
 		<property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService"/>
-		<property name="dataElementService"	ref="org.hisp.dhis.dataelement.DataElementService"/>
 		<property name="standardCommentsManager" ref="org.hisp.dhis.de.comments.StandardCommentsManager"/>
 		<property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService"/>
 		<property name="selectedStateManager" ref="org.hisp.dhis.de.state.SelectedStateManager"/>
@@ -123,14 +110,6 @@
 		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
 	</bean>
 
-	<bean id="org.hisp.dhis.de.action.CalculateCDEsAction" class="org.hisp.dhis.de.action.CalculateCDEsAction" scope="prototype">
-		<property name="expressionService" ref="org.hisp.dhis.expression.ExpressionService" />
-		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
-		<property name="selectedStateManager" ref="org.hisp.dhis.de.state.SelectedStateManager" />
-		<property name="statefulDataValueSaver"	ref="org.hisp.dhis.de.state.StatefulDataValueSaver" />
-		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
-	</bean>
-
 	<bean id="org.hisp.dhis.de.action.HistoryAction" class="org.hisp.dhis.de.action.HistoryAction" scope="prototype">
 		<property name="historyRetriever" ref="org.hisp.dhis.de.history.HistoryRetriever" />
 		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />

=== 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-01-24 16:42:11 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module.properties	2011-01-25 14:49:09 +0000
@@ -75,7 +75,6 @@
 operator							= Operator
 right_description					= Right Description
 left_description					= Left Description
-save_calculated						= Save Calculated Data
 no_organisationunit_selected		= No Organisation Unit Selected
 no_period_selected					= No Period Selected
 no_dataelement_selected				= No Data Element Selected
@@ -103,7 +102,6 @@
 no_outlier_values_found				= No outlier values found.
 specify_input_date					= Please specify an input date
 specify_valid_input_date			= Please enter a valid input date
-save_calculated_data_element_success = Saved calculated data elements
 register_complete_dataset_success   = Registered complete dataset
 register_complete_dataset_failed    = Register complete dataset failed
 undo_register_complete_dataset_success = Undo register complete dataset success

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_en_GB.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_en_GB.properties	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_en_GB.properties	2011-01-25 14:49:09 +0000
@@ -58,8 +58,7 @@
 yes_no=Yes/no
 import_export=Import/Export
 close=Close
-history_not_valid=History is not applied for this dataelement\! 
-save_calculated=Save Calculated Data
+history_not_valid=History is not applied for this dataelement
 value_date=Value Date
 type=Type
 interpolation=Interpolation

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_es_ES.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_es_ES.properties	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_es_ES.properties	2011-01-25 14:49:09 +0000
@@ -48,7 +48,6 @@
 import_export=Importar/Exportar
 close=Cerrar
 history_not_valid=Historia no valida para este Elemento de Dato
-save_calculated=Guardar valores Calculados
 type=Tipo
 no_organisationunit_selected=No se ha seleccionado Unidad Organizativa
 nr=\#

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_fr_FR.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_fr_FR.properties	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_fr_FR.properties	2011-01-25 14:49:09 +0000
@@ -389,7 +389,6 @@
 import_export=Import/Export
 close=Fermer
 history_not_valid=Historique non applicable pour ce \u00E9l\u00E9ment de donn\u00E9e
-save_calculated=Enregistrer les valeurs calcul\u00E9es
 generate_values=G\u00E9n\u00E9rer des valeurs
 type=Type
 interpolation=Interpolation
@@ -515,41 +514,4 @@
 yes_no=Oui/non
 import_export=Import/Export
 close=Fermer
-history_not_valid=Historique non applicable pour ce \u00E9l\u00E9ment de donn\u00E9e
-save_calculated=Enregistrer les valeurs calcul\u00E9es
-value_date=Date de la valeur
-generate_values=G\u00E9n\u00E9rer des valeurs
-type=Type
-interpolation=Interpolation
-no_organisationunit_selected=Pas d'unit\u00E9 d'organisation s\u00E9lectionn\u00E9e
-nr=Nr
-audit_value=Valeur de l'audit
-use_default_form=Utiliser le formulaire par defaut
-no=Non
-edit_min_max_for=Editer le min/max pour
-min_limit=Limite inf\u00E9rieure
-later_periods=Periodes suivantes
-custom_comment=Commentaire personnalis\u00E9
-period=P\u00E9riode
-no_outlier_values_found=Pas de valeurs ab\u00E9rrantes trouv\u00E9es
-name=Nom
-order_by_code=Classer par code
-complete=Finir
-timestamp=Timestamp
-generate_missing_values=G\u00E9n\u00E9rer les valeurs manquantes
-change=Changer
-less_than=<
-move=D\u00E9placer
-data_entry_is_not_possible=Saisi de donn\u00E9e impossible\! Ensemble de donn\u00E9es probablement vide
-dv_added=Ajout\u00E9
-no_option_selected=Pas d'option s\u00E9lectionn\u00E9e
-right_description=Description du c\u00F4t\u00E9 droit
-move_up=Monter
-reset_order_inherit=R\u00E9initialiser l'ordre/h\u00E9riter du parent
-no_value=Pas de valeur
-not_set=Non d\u00E9fini
-expression=Expression
-specify_input_date=Vauillez sp\u00E9cifier la date 
-average=Moyenne
-earlier_periods=P\u00E9riodes pr\u00E9c\u00E9dentes
-text=Texte
\ No newline at end of file
+history_not_valid=Historique non applicable pour ce \u00E9l\u00E9ment de donn\u00E9e
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_gu_IN.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_gu_IN.properties	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_gu_IN.properties	2011-01-25 14:49:09 +0000
@@ -1,5 +1,3 @@
-D:\scm2\dhiscode\trunk\dhis-2\dhis-web\dhis-web-dataentry\src\main\resources\org\hisp\dhis\de
-
 #DHIS2 resource - generated by I18n Resource Editor for locale "Gujarati (India)"
 #Wed Jun 28 23:35:21 CEST 2006
 change= &#2732;&#2726;&#2738;&#2765;&#2741;&#2753;

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_kn_IN.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_kn_IN.properties	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_kn_IN.properties	2011-01-25 14:49:09 +0000
@@ -72,8 +72,6 @@
 min=\u0C95\u0CA8\u0CBF\u0CB7\u0CCD\u0C9F
 minimum=\u0C97\u0CB0\u0CBF\u0CB7\u0CCD\u0C9F
 cancel=\u0CB0\u0CA6\u0CCD\u0CA6\u0CC1 \u0CAE\u0CBE\u0CA1\u0CBF
-calculated_data_elements=\u0CB2\u0CC6\u0C95\u0CCD\u0C95\u0CAE\u0CBE\u0CA1\u0CBF\u0CA6 \u0CA6\u0CA4\u0CCD\u0CA4\u0CBE\u0C82\u0CB6\u0C97\u0CB3\u0CC1
-save_calculated=\u0CB2\u0CC6\u0C95\u0CCD\u0C95\u0CAE\u0CBE\u0CA1\u0CBF\u0CA6 \u0CAE\u0CCA\u0CA4\u0CCD\u0CA4\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB0\u0C95\u0CCD\u0CB7\u0CBF\u0CB8\u0CC1
 no_organisationunit_selected=\u0CAF\u0CBE\u0CB5\u0CC1\u0CA6\u0CC7 \u0C98\u0C9F\u0C95\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0C86\u0CB0\u0CBF\u0CB8\u0CBF\u0C95\u0CCA\u0CA1\u0CBF\u0CB2\u0CCD\u0CB2 
 no_period_selected=\u0CAF\u0CBE\u0CB5\u0CC1\u0CA6\u0CC7 \u0C95\u0CBE\u0CB2\u0CBE\u0CB5\u0CA6\u0CBF \u0C86\u0CB0\u0CBF\u0CB8\u0CBF\u0C95\u0CCA\u0C82\u0CA1\u0CBF
 no_dataelement_selected=\u0CAF\u0CBE\u0CB5\u0CC1\u0CA6\u0CC7 \u0CA6\u0CA4\u0CCD\u0CA4\u0CBE\u0C82\u0CB6\u0CB5\u0CA8\u0CCD\u0CA8\u0CC1  \u0C86\u0CB0\u0CBF\u0CB8\u0CBF\u0C95\u0CCA\u0C82\u0CA1\u0CBF

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_no_NO.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_no_NO.properties	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_no_NO.properties	2011-01-25 14:49:09 +0000
@@ -43,7 +43,6 @@
 minimum_value_must_integer=Minimumsverdien m\u00E5 v\u00E6re et heltall
 yes_no=Ja/nei
 close=Lukk
-save_calculated=Lagre beregnede verdier
 generate_values=Generer verdier
 type=Type
 no_organisationunit_selected=Ingen organisasjonsenhet er valgt
@@ -54,7 +53,6 @@
 later_periods=Senere perioder
 custom_comment=Egendefinert kommentar
 period=Periode
-calculated_data_elements=Beregnede dataelementer
 order_by_code=Sorter etter kode
 name=Navn
 generate_missing_values=Generer manglende verdier

=== removed file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_pt_PT.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_pt_PT.properties	2009-04-20 15:12:34 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_pt_PT.properties	1970-01-01 00:00:00 +0000
@@ -1,1058 +0,0 @@
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:01 CAT 2009
-average=M\u00E9dia
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:10 CAT 2009
-average=M\u00E9dia
-cancel=Cancelar
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:17 CAT 2009
-average=M\u00E9dia
-cancel=Cancelar
-change_order=Mudar ordem
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:22 CAT 2009
-average=M\u00E9dia
-cancel=Cancelar
-close=Fechar
-change_order=Mudar ordem
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:31 CAT 2009
-average=M\u00E9dia
-cancel=Cancelar
-code=C\u00F3digo
-close=Fechar
-change_order=Mudar ordem
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:41 CAT 2009
-average=M\u00E9dia
-cancel=Cancelar
-code=C\u00F3digo
-close=Fechar
-change_order=Mudar ordem
-comment=Coment\u00E1rio
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:47:50 CAT 2009
-complete=Completo
-average=M\u00E9dia
-cancel=Cancelar
-code=C\u00F3digo
-close=Fechar
-change_order=Mudar ordem
-comment=Coment\u00E1rio
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:48:07 CAT 2009
-complete=Completo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-average=M\u00E9dia
-cancel=Cancelar
-code=C\u00F3digo
-close=Fechar
-change_order=Mudar ordem
-comment=Coment\u00E1rio
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:48:32 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-cancel=Cancelar
-close=Fechar
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:49:15 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:49:26 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:49:52 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:49:59 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-data_set=Set de dados
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:50:13 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-dataelement_history=Hist\u00F3ria dos elementos de dados
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-data_set=Set de dados
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:50:25 CAT 2009
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-dataelement_history=Hist\u00F3ria dos elementos de dados
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-delete_min_max_values=Apagar valores de min e max
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-data_set=Set de dados
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:50:33 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-dataelement_history=Hist\u00F3ria dos elementos de dados
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-delete_min_max_values=Apagar valores de min e max
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-data_set=Set de dados
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:50:50 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-average=M\u00E9dia
-code=C\u00F3digo
-confirm_complete=Tem a certeza que o set de dados esta completo?
-complete=Completo
-dataelement_history=Hist\u00F3ria dos elementos de dados
-edit_min_max=Editar Min/Max
-comment=Coment\u00E1rio
-change_order=Mudar ordem
-delete_min_max_values=Apagar valores de min e max
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-data_set=Set de dados
-custom_comment=Coment\u00E1rio ajustado
-cancel=Cancelar
-close=Fechar
-data_element=Elemento de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:51:01 CAT 2009
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:51:10 CAT 2009
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:51:38 CAT 2009
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:51:45 CAT 2009
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-dataelement_history=Hist\u00F3ria dos elementos de dados
-expression=Express\u00E3o
-complete=Completo
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:51:45 CAT 2009
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-dataelement_history=Hist\u00F3ria dos elementos de dados
-expression=Express\u00E3o
-complete=Completo
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:51:52 CAT 2009
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:52:45 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:52:54 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:53:24 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:53:36 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:53:48 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:53:56 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-less_than=
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-max=Max
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:54:05 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-less_than=
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-max_limit=Limite Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-max=Max
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:54:11 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-less_than=
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-max_limit=Limite Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-max=Max
-maximum=M\u00E1ximo
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:54:17 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-less_than=
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-max_limit=Limite Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-max=Max
-maximum=M\u00E1ximo
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:54:41 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-less_than=
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-max_limit=Limite Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-max=Max
-maximum=M\u00E1ximo
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:54:50 CAT 2009
-greater_than=
-code=C\u00F3digo
-comment=Coment\u00E1rio
-delete_min_max_values=Apagar valores de min e max
-entry=Entrada
-equal_to=
-data_element=Elemento de dados
-average=M\u00E9dia
-import_export=Importar/Exportar
-cancel=Cancelar
-less_than=
-custom_comment=Coment\u00E1rio ajustado
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-export_entry_template=Exportar janela de entrada como Excel
-generate_min_max=Gerar min/max
-change_order=Mudar ordem
-edit_min_max_for=Editar min/max para
-import_from_excel=Importar do Excel (Template Exportado)
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-complete=Completo
-expression=Express\u00E3o
-close=Fechar
-max_limit=Limite Max
-min=Min
-confirm_complete=Tem a certeza que o set de dados esta completo?
-earlier_periods=Per\u00EDodos anteriores
-later_periods=Per\u00EDodos posteriores
-max=Max
-maximum=M\u00E1ximo
-left_description=Descri\u00E7\u00E3o da esquerda
-edit_min_max=Editar Min/Max
-data_set=Set de dados
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:55:00 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-max_limit=Limite Max
-close=Fechar
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:55:12 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-max_limit=Limite Max
-close=Fechar
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:55:34 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-max_limit=Limite Max
-close=Fechar
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:55:56 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-minimum_value_must_integer=O valor m\u00EDnimo deve ser uma integer
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-max_limit=Limite Max
-close=Fechar
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:56:05 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-move=Mover
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-minimum_value_must_integer=O valor m\u00EDnimo deve ser uma integer
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-max_limit=Limite Max
-close=Fechar
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:56:13 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-move=Mover
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-minimum_value_must_integer=O valor m\u00EDnimo deve ser uma integer
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-move_down=Mover para baixo
-max_limit=Limite Max
-close=Fechar
-change_order=Mudar ordem
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:56:20 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-move=Mover
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-move_up=Mover para cima
-minimum_value_must_integer=O valor m\u00EDnimo deve ser uma integer
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-move_down=Mover para baixo
-max_limit=Limite Max
-change_order=Mudar ordem
-close=Fechar
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:56:37 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-multidimensional_data_entry=Entrada de dados Multi-Dimensional
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-move=Mover
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-move_up=Mover para cima
-minimum_value_must_integer=O valor m\u00EDnimo deve ser uma integer
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-move_down=Mover para baixo
-max_limit=Limite Max
-change_order=Mudar ordem
-close=Fechar
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor
-#Fri Jan 09 16:56:44 CAT 2009
-earlier_periods=Per\u00EDodos anteriores
-multidimensional_data_entry=Entrada de dados Multi-Dimensional
-code=C\u00F3digo
-cancel=Cancelar
-import_export=Importar/Exportar
-history_not_valid=Hist\u00F3ria n\u00E3o se aplica ao elemento de dados\!
-later_periods=Per\u00EDodos posteriores
-edit_min_max_for=Editar min/max para
-name=Nome
-move=Mover
-less_than=
-complete=Completo
-confirm_undo=Tem a certeza que quer voltar atr\u00E1s com o registo?
-equal_to=
-data_element=Elemento de dados
-move_up=Mover para cima
-minimum_value_must_integer=O valor m\u00EDnimo deve ser uma integer
-delete_min_max_values=Apagar valores de min e max
-average=M\u00E9dia
-min_limit=Limite Min
-custom_comment=Coment\u00E1rio ajustado
-max=Max
-expression=Express\u00E3o
-minimum_must_less_than_maximum=O valor m\u00EDnimo deve ser menor do que o valor m\u00E1ximo
-minimum=M\u00EDnimo
-greater_than=
-edit_min_max=Editar Min/Max
-confirm_complete=Tem a certeza que o set de dados esta completo?
-entry=Entrada
-comment=Coment\u00E1rio
-maximum=M\u00E1ximo
-import_from_excel=Importar do Excel (Template Exportado)
-export_entry_template=Exportar janela de entrada como Excel
-left_description=Descri\u00E7\u00E3o da esquerda
-move_down=Mover para baixo
-max_limit=Limite Max
-change_order=Mudar ordem
-close=Fechar
-data_entry_is_not_possible=Entrada de dados n\u00E3o \u00E9 poss\u00EDvel\! Provavelmente set de dados vazio.
-data_set=Set de dados
-generate_min_max=Gerar min/max
-min=Min
-dataelement_history=Hist\u00F3ria dos elementos de dados
-maximum_value_must_integer=O valor m\u00E1ximo deve ser uma integer
-#Resource generated by I18n Resource Editor

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_ru_RU.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_ru_RU.properties	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_ru_RU.properties	2011-01-25 14:49:09 +0000
@@ -37,7 +37,6 @@
 minimum_value_must_integer=\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0446\u0435\u043B\u043E\u0435
 yes_no=\u0414\u0430/\u043D\u0435\u0442
 close=\u0417\u0430\u043A\u0440\u044B\u0442\u044C
-save_calculated=\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
 type=\u0422\u0438\u043F
 no_organisationunit_selected=\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E \u043F\u043E\u0434\u0440\u0430\u0437\u0434\u0435\u043B\u0435\u043D\u0438\u0435
 nr=\u2116

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_tg_TJ.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_tg_TJ.properties	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_tg_TJ.properties	2011-01-25 14:49:09 +0000
@@ -37,7 +37,6 @@
 minimum_value_must_integer=\u049A\u0438\u043C\u0430\u0442\u0438 \u043C\u0438\u043D\u0438\u043C\u0430\u043B\u04E3 \u0431\u043E\u044F\u0434 \u0431\u0443\u0442\u0443\u043D \u0431\u043E\u0448\u0430\u0434
 yes_no=\u0411\u0430\u043B\u0435/\u043D\u0435
 close=\u0411\u0430\u0441\u0442\u0430\u043D
-save_calculated=\u0421\u0430\u0431\u0442\u0438 \u0414\u043E\u0434\u0430\u04B3\u043E\u0438 \u04B2\u0438\u0441\u043E\u0431\u043A\u0430\u0440\u0434\u0430\u0448\u0443\u0434\u0430
 type=\u041D\u0430\u0432\u044A
 no_organisationunit_selected=\u042F\u0433\u043E\u043D \u0412\u043E\u04B3\u0438\u0434\u0438 \u0421\u043E\u0445\u0442\u043E\u0440 \u0418\u043D\u0442\u0438\u0445\u043E\u0431 \u041D\u0430\u0448\u0443\u0434\u0430\u0430\u0441\u0442
 nr=\u2116
@@ -47,7 +46,6 @@
 later_periods=\u0414\u0430\u0432\u0440\u0430\u04B3\u043E\u0438 \u043E\u044F\u043D\u0434\u0430
 custom_comment=\u042D\u0437\u043E\u04B3\u0438 \u041C\u0430\u044A\u043C\u0443\u043B\u04E3
 period=\u0414\u0430\u0432\u0440\u0430
-calculated_data_elements=
 order_by_code=\u041C\u0443\u0440\u0430\u0442\u0442\u0430\u0431\u0441\u043E\u0437\u04E3 \u043C\u0443\u0432\u043E\u0444\u0438\u049B\u0438 \u0440\u0430\u043C\u0437
 name=\u041D\u043E\u043C
 format.date=yyyy-MM-dd

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_vi_VN.properties'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_vi_VN.properties	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/org/hisp/dhis/de/i18n_module_vi_VN.properties	2011-01-25 14:49:09 +0000
@@ -35,7 +35,6 @@
 data_element_order=Th\u1ee9 t\u1ef1 th\u00e0nh ph\u1ea7n d\u1eef li\u1ec7u
 up=L\u00ean
 minimum_value_must_integer=Gi\u00e1 tr\u1ecb nh\u1ecf nh\u1ea5t ph\u1ea3i l\u00e0 m\u1ed9t s\u1ed1 nguy\u00ean
-save_calculated=L\u01b0u c\u00e1c gi\u00e1 tr\u1ecb \u0111\u00e3 \u0111\u01b0\u1ee3c t\u00ednh to\u00e1n
 generate_values=Ph\u00e1t sinh gi\u00e1 tr\u1ecb
 type=Ki\u1ec3u d\u1eef li\u1ec7u
 no_organisationunit_selected=Kh\u00f4ng \u0111\u01a1n v\u1ecb n\u00e0o \u0111\u01b0\u1ee3c ch\u1ecdn
@@ -43,7 +42,6 @@
 min_limit=Gi\u1edbi h\u1ea1n th\u1ea5p nh\u1ea5t
 custom_comment=Ch\u00fa th\u00edch ng\u1eabu nhi\u00ean
 period=Th\u1eddi \u0111i\u1ec3m
-calculated_data_elements=C\u00e1c th\u00e0nh ph\u1ea7n d\u1eef li\u1ec7u \u0111\u00e3 \u0111\u01b0\u1ee3c t\u00ednh to\u00e1n
 order_by_code=Th\u1ee9 t\u1ef1 theo m\u00e3
 generate_missing_values=Ph\u00e1t sinh nh\u1eefng gi\u00e1 tr\u1ecb ch\u01b0a c\u00f3
 timestamp=Th\u1eddi \u0111i\u1ec3m

=== 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-01-17 12:03:26 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml	2011-01-25 14:49:09 +0000
@@ -90,13 +90,6 @@
 			<param name="requiredAuthorities">F_DATAELEMENT_MINMAX_DELETE</param>
 		</action>
 
-		<action name="calculateCDEs" class="org.hisp.dhis.de.action.CalculateCDEsAction">
-			<result name="success" type="velocity-xml">responseCalculateCDEs.vm
-			</result>
-			<param name="onExceptionReturn">plainTextError</param>
-			<param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_UPDATE,F_DATAVALUE_DELETE</param>
-		</action>
-
 		<action name="viewHistory" class="org.hisp.dhis.de.action.HistoryAction">
 			<result name="success" type="velocity">/popup.vm</result>
 			<param name="page">/dhis-web-dataentry/history.vm</param>

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm	2010-11-26 21:48:38 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/completeRegistration.vm	2011-01-25 14:49:09 +0000
@@ -15,19 +15,3 @@
    });
 </script>
 
-<script type="text/javascript">
-    var calculatedDataElementMap = {
-		#set( $count = 1 )
-		#foreach( $cde in $calculatedDataElementMap.keySet() )
-		  #set( $innerCount = 1 )
-		  #set( $factorMap = $calculatedDataElementMap.get($cde) )
-		  $cde.id : {
-		  #foreach ( $de in $factorMap.keySet() )
-			$de.id : $factorMap.get($de) #if ( $innerCount < $factorMap.size() ),#end
-			#set( $innerCount = $innerCount + 1 )
-		  #end
-		  } #if ( $count < $calculatedDataElementMap.size() ),#end
-		  #set( $count = $count + 1 )
-		#end
-    }
-</script>

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/defaultForm.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/defaultForm.vm	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/defaultForm.vm	2011-01-25 14:49:09 +0000
@@ -38,10 +38,6 @@
   #end
 
   #set( $count = $count + 1 )
-  #set( $calculatedValue = false )
-  #set( $calculatedValue = $calculatedValueMap.get( $dataElement ) )                        
-  #set( $calculated = false )
-  #set( $calculated = ($calculatedDataElementIds.contains($dataElement.id) ) )
   <tr>
     <td #if( $mark == 1 ) style="background-color:#dddddd" #end>
       <span id="value[$dataElement.id].name" title="$!encoder.htmlEncode( $dataElement.description )">$encoder.htmlEncode( $dataElement.name )</span><span id="value[$dataElement.id].type" class="hidden">$dataElement.getDetailedNumberType()</span>

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/entry.js'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/entry.js	2011-01-25 09:03:44 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/entry.js	2011-01-25 14:49:09 +0000
@@ -90,11 +90,6 @@
 
     var valueSaver = new ValueSaver( dataElementId, optionComboId, organisationUnitId, field.value, COLOR_GREEN, '' );
     valueSaver.save();
-
-    if ( type == 'int')
-    {
-    	calculateCDE(dataElementId);
-    }
 }
 
 function saveBoolean( dataElementId, optionComboId, selectedOption  )
@@ -235,82 +230,3 @@
 		sectionLabel.style.textAlign = 'left';
 	}
 }
-
-// -----------------------------------------------------------------------------
-// CalculatedDataElements
-// -----------------------------------------------------------------------------
-
-/**
- * Calculate and display the value of any CDE the given data element is a part of.
- * @param dataElementId  id of the data element to calculate a CDE for
- */
-function calculateCDE( dataElementId )
-{
-    var cdeId = getCalculatedDataElement(dataElementId);
-  
-    if ( ! cdeId )
-    {
-  	    return;
-    }
-    
-    var factorMap = calculatedDataElementMap[cdeId];
-    var value = 0;
-    var dataElementValue;
-    
-    for ( dataElementId in factorMap )
-    {
-    	dataElementValue = document.getElementById( 'value[' + dataElementId + '].value' ).value;
-    	value += ( dataElementValue * factorMap[dataElementId] );
-    }
-    
-    document.getElementById( 'value[' + cdeId + '].value' ).value = value;
-}
-
-/**
- * Returns the id of the CalculatedDataElement this DataElement id is a part of.
- * @param dataElementId id of the DataElement
- * @return id of the CalculatedDataElement this DataElement id is a part of,
- *     or null if the DataElement id is not part of any CalculatedDataElement
- */
-function getCalculatedDataElement( dataElementId )
-{
-    for ( cdeId in calculatedDataElementMap )
-    {
-  	    var factorMap = calculatedDataElementMap[cdeId];
-
-  	    if ( deId in factorMap )
-  	    {
-  	    	return cdeId;
-  	    }
-    }
-
-    return null;
-}
-
-function calculateAndSaveCDEs()
-{
-	lockScreen();
-
-    var request = new Request();
-    request.setCallbackSuccess( dataValuesReceived );
-    request.setResponseTypeXML( 'dataValues' );
-    request.send( 'calculateCDEs.action' );
-}
-
-function dataValuesReceived( node )
-{
-	var values = node.getElementsByTagName('dataValue');
-    var dataElementId;
-    var value;
-
-	for ( var i = 0, value; value = values[i]; i++ )
-	{
-		dataElementId = value.getAttribute('dataElementId');
-		value = value.firstChild.nodeValue;		
-		document.getElementById( 'value[' + dataElementId + '].value' ).value = value;
-	}
-	
-	unLockScreen();
-	
-	setHeaderDelayMessage(i18n_save_calculated_data_element_success);
-}

=== removed file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseCalculateCDEs.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseCalculateCDEs.vm	2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseCalculateCDEs.vm	1970-01-01 00:00:00 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dataValues>
-#foreach ( $dataElementId in $cdeValueMap.keySet() )
-  <dataValue dataElementId="$dataElementId">$cdeValueMap.get($dataElementId)</dataValue>
-#end
-</dataValues>
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.vm	2011-01-06 16:37:59 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.vm	2011-01-25 14:49:09 +0000
@@ -56,10 +56,6 @@
       #set( $mark = 1 )
       #end
       #set( $count = $count + 1 )
-      #set( $calculatedValue = false )
-      #set( $calculatedValue = $calculatedValueMap.get( $dataElement ) )
-      #set( $calculated = false )
-      #set( $calculated = ($calculatedDataElementIds.contains($dataElement.id)) )
       <tr>
         <td #if( $mark == 1 ) style="background-color: #dddddd" #end>
           <span id="value[$dataElement.id].name" title="$!encoder.htmlEncode( $dataElement.description )">$encoder.htmlEncode( $dataElement.name )</span><span id="value[$dataElement.id].type" class="hidden">$dataElement.getDetailedNumberType()</span>

=== 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-01-24 17:14:24 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/select.vm	2011-01-25 14:49:09 +0000
@@ -9,8 +9,7 @@
 </div>
 
 <div id="actions" style="">	
-    <input type="button" value="$i18n.getString( 'run_validation' )" onclick="javascript:validate()" style="width:150px"/><br/>
-    <input type="button" id="calculateCDEs" value="$i18n.getString( 'save_calculated' )" name="calculateCDEs" onclick="calculateAndSaveCDEs()" style="width:150px"/><br/><br/>
+    <input type="button" value="$i18n.getString( 'run_validation' )" onclick="javascript:validate()" style="width:150px"/><br/><br/>
 
 	<input type="radio" id="displayModeCustom" name="displayMode" value="customform" disabled="disabled" onclick="displayModeSelected()">
     <label for="displayModeCustom">$i18n.getString( "use_custom_form" )</label><br/>
@@ -47,7 +46,6 @@
 <div id="contentDiv"></div>
 
 <script type="text/javascript">
-	var i18n_save_calculated_data_element_success = '$encoder.jsEscape( $i18n.getString( "save_calculated_data_element_success" ) , "'")';
 	var i18n_register_complete_dataset_success = '$encoder.jsEscape( $i18n.getString( "register_complete_dataset_success" ) , "'")';
 	var i18n_register_complete_dataset_failed = '$encoder.jsEscape( $i18n.getString( "register_complete_dataset_failed" ) , "'")';
 	var i18n_undo_register_complete_dataset_success = '$encoder.jsEscape( $i18n.getString( "undo_register_complete_dataset_success" ) , "'")';