=== removed file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SaveValueAction.java' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SaveValueAction.java 2013-12-09 21:32:59 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SaveValueAction.java 1970-01-01 00:00:00 +0000 @@ -1,264 +0,0 @@ -package org.hisp.dhis.de.action; - -/* - * Copyright (c) 2004-2013, University of Oslo - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of the HISP project nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -import com.opensymphony.xwork2.Action; -import org.apache.commons.lang.StringEscapeUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -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.DataSetService; -import org.hisp.dhis.datavalue.DataValue; -import org.hisp.dhis.datavalue.DataValueService; -import org.hisp.dhis.organisationunit.OrganisationUnit; -import org.hisp.dhis.organisationunit.OrganisationUnitService; -import org.hisp.dhis.period.Period; -import org.hisp.dhis.period.PeriodType; -import org.hisp.dhis.system.util.ValidationUtils; -import org.hisp.dhis.user.CurrentUserService; - -import java.util.Date; - -/** - * @author Abyot Asalefew - */ -public class SaveValueAction - implements Action -{ - private static final Log log = LogFactory.getLog( SaveValueAction.class ); - - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - private CurrentUserService currentUserService; - - public void setCurrentUserService( CurrentUserService currentUserService ) - { - this.currentUserService = currentUserService; - } - - private DataElementService dataElementService; - - public void setDataElementService( DataElementService dataElementService ) - { - this.dataElementService = dataElementService; - } - - private DataValueService dataValueService; - - public void setDataValueService( DataValueService dataValueService ) - { - this.dataValueService = dataValueService; - } - - private DataElementCategoryService categoryService; - - public void setCategoryService( DataElementCategoryService categoryService ) - { - this.categoryService = categoryService; - } - - private OrganisationUnitService organisationUnitService; - - public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) - { - this.organisationUnitService = organisationUnitService; - } - - private DataSetService dataSetService; - - public void setDataSetService( DataSetService dataSetService ) - { - this.dataSetService = dataSetService; - } - - // ------------------------------------------------------------------------- - // Input - // ------------------------------------------------------------------------- - - private String value; - - public void setValue( String value ) - { - this.value = value; - } - - private String dataElementId; - - public void setDataElementId( String dataElementId ) - { - this.dataElementId = dataElementId; - } - - private String organisationUnitId; - - public void setOrganisationUnitId( String organisationUnitId ) - { - this.organisationUnitId = organisationUnitId; - } - - private String optionComboId; - - public void setOptionComboId( String optionComboId ) - { - this.optionComboId = optionComboId; - } - - private String periodId; - - public void setPeriodId( String periodId ) - { - this.periodId = periodId; - } - - // ------------------------------------------------------------------------- - // Output - // ------------------------------------------------------------------------- - - private int statusCode = 0; - - public int getStatusCode() - { - return statusCode; - } - - // ------------------------------------------------------------------------- - // Action implementation - // ------------------------------------------------------------------------- - - public String execute() - { - Period period = PeriodType.getPeriodFromIsoString( periodId ); - - if ( period == null ) - { - return logError( "Illegal period identifier: " + periodId ); - } - - OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId ); - - if ( organisationUnit == null ) - { - return logError( "Invalid organisation unit identifier: " + organisationUnitId ); - } - - DataElement dataElement = dataElementService.getDataElement( dataElementId ); - - if ( dataElement == null ) - { - return logError( "Invalid data element identifier: " + dataElementId ); - } - - DataElementCategoryOptionCombo optionCombo = categoryService.getDataElementCategoryOptionCombo( optionComboId ); - - if ( optionCombo == null ) - { - return logError( "Invalid category option combo identifier: " + optionComboId ); - } - - String storedBy = currentUserService.getCurrentUsername(); - - Date now = new Date(); - - value = StringUtils.trimToNull( value ); - - // --------------------------------------------------------------------- - // Validate value according to type from data element - // --------------------------------------------------------------------- - - String valid = ValidationUtils.dataValueIsValid( value, dataElement ); - - if ( valid != null ) - { - return logError( valid, 3 ); - } - - // --------------------------------------------------------------------- - // Check locked status - // --------------------------------------------------------------------- - - if ( dataSetService.isLocked( dataElement, period, organisationUnit, null ) ) - { - return logError( "Entry locked for combination: " + dataElement + ", " + period + ", " + organisationUnit, 2 ); - } - - // --------------------------------------------------------------------- - // Update data - // --------------------------------------------------------------------- - - DataValue dataValue = dataValueService.getDataValue( organisationUnit, dataElement, period, optionCombo ); - - if ( DataElement.VALUE_TYPE_STRING.equals( dataElement.getType() ) ) - { - value = StringEscapeUtils.escapeJavaScript( value ); - } - - if ( dataValue == null ) - { - if ( value != null ) - { - dataValue = new DataValue( dataElement, period, organisationUnit, value, storedBy, now, null, optionCombo ); - dataValueService.addDataValue( dataValue ); - } - } - else - { - dataValue.setValue( value ); - dataValue.setTimestamp( now ); - dataValue.setStoredBy( storedBy ); - - dataValueService.updateDataValue( dataValue ); - } - - return SUCCESS; - } - - // ------------------------------------------------------------------------- - // Supportive methods - // ------------------------------------------------------------------------- - - private String logError( String message ) - { - return logError( message, 1 ); - } - - private String logError( String message, int statusCode ) - { - log.info( message ); - - this.statusCode = statusCode; - - return SUCCESS; - } -} === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml 2012-12-14 13:46:47 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/META-INF/dhis/beans.xml 2013-12-13 18:42:05 +0000 @@ -43,15 +43,6 @@ - - - - - - - - - === 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 2013-07-25 09:37:43 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/resources/struts.xml 2013-12-13 18:42:05 +0000 @@ -38,12 +38,6 @@ /dhis-web-dataentry/responseVoid.vm - - /dhis-web-dataentry/status.vm - plainTextError - F_DATAVALUE_ADD,F_DATAVALUE_DELETE - - /dhis-web-dataentry/status.vm plainTextError === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/multiOrgSectionForm.vm' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/multiOrgSectionForm.vm 2013-08-07 14:18:03 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/multiOrgSectionForm.vm 2013-12-13 18:42:05 +0000 @@ -1,6 +1,6 @@ #set( $marker = 0 ) #set( $tabIndex = 1 ) -#set( $hasAccess = $auth.hasAccess( "dhis-web-dataentry", "saveValue" ) ) +#set( $hasAccess = $auth.hasAccess( "dhis-web-dataentry", "saveComment" ) ) #foreach( $section in $sections ) === 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 2013-10-08 13:40:12 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.vm 2013-12-13 18:42:05 +0000 @@ -1,6 +1,6 @@ #set( $tabIndex = 1 ) -#set( $hasAccess = $auth.hasAccess( "dhis-web-dataentry", "saveValue" ) ) +#set( $hasAccess = $auth.hasAccess( "dhis-web-dataentry", "saveComment" ) ) #set( $decoration = $dataSet.dataElementDecoration ) #if( $dataSet.renderAsTabs )