=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/Attribute.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/Attribute.java 2015-12-17 12:56:47 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/Attribute.java 2015-12-17 13:36:30 +0000 @@ -109,6 +109,8 @@ private boolean optionAttribute; + private boolean optionSetAttribute; + private boolean mandatory; private boolean unique; @@ -452,6 +454,19 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + public boolean isOptionSetAttribute() + { + return optionSetAttribute; + } + + public void setOptionSetAttribute( boolean optionSetAttribute ) + { + this.optionSetAttribute = optionSetAttribute; + } + + @JsonProperty + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public OptionSet getOptionSet() { return optionSet; @@ -497,6 +512,7 @@ if ( trackedEntityAttributeAttribute ) klasses.add( TrackedEntityAttribute.class ); if ( documentAttribute ) klasses.add( Document.class ); if ( optionAttribute ) klasses.add( Option.class ); + if ( optionSetAttribute ) klasses.add( OptionSet.class ); return klasses; } @@ -527,6 +543,9 @@ trackedEntityAttributeAttribute = attribute.isTrackedEntityAttributeAttribute(); categoryOptionAttribute = attribute.isCategoryOptionAttribute(); categoryOptionGroupAttribute = attribute.isCategoryOptionGroupAttribute(); + documentAttribute = attribute.isDocumentAttribute(); + optionAttribute = attribute.isOptionAttribute(); + optionSetAttribute = attribute.isOptionSetAttribute(); mandatory = attribute.isMandatory(); if ( strategy.isReplace() ) === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/AttributeStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/AttributeStore.java 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/AttributeStore.java 2015-12-17 13:36:30 +0000 @@ -39,6 +39,7 @@ import org.hisp.dhis.indicator.Indicator; import org.hisp.dhis.indicator.IndicatorGroup; import org.hisp.dhis.option.Option; +import org.hisp.dhis.option.OptionSet; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitGroup; import org.hisp.dhis.organisationunit.OrganisationUnitGroupSet; @@ -78,6 +79,7 @@ .put( CategoryOptionGroup.class, "categoryOptionGroupAttribute" ) .put( Document.class, "documentAttribute" ) .put( Option.class, "optionAttribute" ) + .put( OptionSet.class, "optionSetAttribute" ) .build(); /** === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2015-12-17 13:36:30 +0000 @@ -767,6 +767,7 @@ executeSql( "UPDATE attribute SET categoryoptiongroupattribute=false WHERE categoryoptiongroupattribute IS NULL" ); executeSql( "UPDATE attribute SET documentattribute=false WHERE documentattribute IS NULL" ); executeSql( "UPDATE attribute SET optionattribute=false WHERE optionattribute IS NULL" ); + executeSql( "UPDATE attribute SET optionsetattribute=false WHERE optionsetattribute IS NULL" ); executeSql( "ALTER TABLE trackedentityattributedimension DROP COLUMN operator" ); executeSql( "ALTER TABLE trackedentitydataelementdimension DROP COLUMN operator" ); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/attribute/hibernate/Attribute.hbm.xml' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/attribute/hibernate/Attribute.hbm.xml 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/attribute/hibernate/Attribute.hbm.xml 2015-12-17 13:36:30 +0000 @@ -65,6 +65,8 @@ + + === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/option/hibernate/OptionSet.hbm.xml' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/option/hibernate/OptionSet.hbm.xml 2015-09-09 09:01:21 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/option/hibernate/OptionSet.hbm.xml 2015-12-17 13:36:30 +0000 @@ -34,6 +34,13 @@ + + + + + + + === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/attribute/AddAttributeAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/attribute/AddAttributeAction.java 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/attribute/AddAttributeAction.java 2015-12-17 13:36:30 +0000 @@ -218,6 +218,13 @@ this.optionAttribute = optionAttribute; } + private boolean optionSetAttribute; + + public void setOptionSetAttribute( boolean optionSetAttribute ) + { + this.optionSetAttribute = optionSetAttribute; + } + private String optionSetUid; public void setOptionSetUid( String optionSetUid ) @@ -258,6 +265,7 @@ attribute.setCategoryOptionGroupAttribute( categoryOptionGroupAttribute ); attribute.setDocumentAttribute( documentAttribute ); attribute.setOptionAttribute( optionAttribute ); + attribute.setOptionSetAttribute( optionSetAttribute ); attributeService.addAttribute( attribute ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/attribute/UpdateAttributeAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/attribute/UpdateAttributeAction.java 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/attribute/UpdateAttributeAction.java 2015-12-17 13:36:30 +0000 @@ -225,6 +225,13 @@ this.optionAttribute = optionAttribute; } + private boolean optionSetAttribute; + + public void setOptionSetAttribute( boolean optionSetAttribute ) + { + this.optionSetAttribute = optionSetAttribute; + } + private String optionSetUid; public void setOptionSetUid( String optionSetUid ) @@ -270,6 +277,7 @@ attribute.setCategoryOptionGroupAttribute( categoryOptionGroupAttribute ); attribute.setDocumentAttribute( documentAttribute ); attribute.setOptionAttribute( optionAttribute ); + attribute.setOptionSetAttribute( optionSetAttribute ); attributeService.updateAttribute( attribute ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/AddOptionSetAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/AddOptionSetAction.java 2015-09-09 09:01:21 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/AddOptionSetAction.java 2015-12-17 13:36:30 +0000 @@ -30,9 +30,13 @@ import com.opensymphony.xwork2.Action; import org.apache.commons.lang3.StringUtils; +import org.hisp.dhis.attribute.AttributeService; import org.hisp.dhis.common.ValueType; import org.hisp.dhis.option.OptionService; import org.hisp.dhis.option.OptionSet; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; /** * @author Chau Thu Tran @@ -51,6 +55,9 @@ this.optionService = optionService; } + @Autowired + private AttributeService attributeService; + // ------------------------------------------------------------------------------------------------- // Input // ------------------------------------------------------------------------------------------------- @@ -76,6 +83,13 @@ this.valueType = valueType; } + private List jsonAttributeValues; + + public void setJsonAttributeValues( List jsonAttributeValues ) + { + this.jsonAttributeValues = jsonAttributeValues; + } + // ------------------------------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------------------------------- @@ -89,6 +103,11 @@ optionSet.setValueType( ValueType.valueOf( valueType ) ); optionSet.setVersion( 1 ); + if ( jsonAttributeValues != null ) + { + attributeService.updateAttributeValues( optionSet, jsonAttributeValues ); + } + optionService.saveOptionSet( optionSet ); return SUCCESS; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/GetOptionSetAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/GetOptionSetAction.java 2015-12-17 12:56:47 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/GetOptionSetAction.java 2015-12-17 13:36:30 +0000 @@ -32,9 +32,9 @@ import org.hisp.dhis.attribute.Attribute; import org.hisp.dhis.attribute.AttributeService; import org.hisp.dhis.attribute.comparator.AttributeSortOrderComparator; -import org.hisp.dhis.option.Option; import org.hisp.dhis.option.OptionService; import org.hisp.dhis.option.OptionSet; +import org.hisp.dhis.system.util.AttributeUtils; import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; @@ -109,7 +109,9 @@ { optionSet = optionService.getOptionSet( id ); - attributes = new ArrayList<>( attributeService.getAttributes( Option.class ) ); + attributeValues = AttributeUtils.getAttributeValueMap( optionSet.getAttributeValues() ); + + attributes = new ArrayList<>( attributeService.getAttributes( OptionSet.class ) ); Collections.sort( attributes, AttributeSortOrderComparator.INSTANCE ); return SUCCESS; === added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/ShowAddOptionAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/ShowAddOptionAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/ShowAddOptionAction.java 2015-12-17 13:36:30 +0000 @@ -0,0 +1,112 @@ +package org.hisp.dhis.dataadmin.action.option; + +/* + * Copyright (c) 2004-2015, University of Oslo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of the HISP project nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import com.opensymphony.xwork2.Action; +import org.hisp.dhis.attribute.Attribute; +import org.hisp.dhis.attribute.AttributeService; +import org.hisp.dhis.attribute.comparator.AttributeSortOrderComparator; +import org.hisp.dhis.option.Option; +import org.hisp.dhis.option.OptionService; +import org.hisp.dhis.option.OptionSet; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Morten Olav Hansen + */ +public class ShowAddOptionAction + implements Action +{ + // ------------------------------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------------------------------- + + private OptionService optionService; + + @Autowired + private AttributeService attributeService; + + // ------------------------------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------------------------------- + + private Integer id; + + private OptionSet optionSet; + + private List attributes; + + private Map attributeValues = new HashMap<>(); + + // ------------------------------------------------------------------------------------------------- + // Getters && Setters + // ------------------------------------------------------------------------------------------------- + + public void setOptionService( OptionService optionService ) + { + this.optionService = optionService; + } + + public OptionSet getOptionSet() + { + return optionSet; + } + + public void setId( Integer id ) + { + this.id = id; + } + + public List getAttributes() + { + return attributes; + } + + // ------------------------------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------------------------------- + + @Override + public String execute() + throws Exception + { + optionSet = optionService.getOptionSet( id ); + + attributes = new ArrayList<>( attributeService.getAttributes( Option.class ) ); + Collections.sort( attributes, AttributeSortOrderComparator.INSTANCE ); + + return SUCCESS; + } +} === added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/ShowAddOptionSetAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/ShowAddOptionSetAction.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/ShowAddOptionSetAction.java 2015-12-17 13:36:30 +0000 @@ -0,0 +1,79 @@ +package org.hisp.dhis.dataadmin.action.option; + +/* + * Copyright (c) 2004-2015, University of Oslo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of the HISP project nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import com.opensymphony.xwork2.Action; +import org.hisp.dhis.attribute.Attribute; +import org.hisp.dhis.attribute.AttributeService; +import org.hisp.dhis.attribute.comparator.AttributeSortOrderComparator; +import org.hisp.dhis.option.OptionSet; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author Morten Olav Hansen + */ +public class ShowAddOptionSetAction + implements Action +{ + // ------------------------------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------------------------------- + + @Autowired + private AttributeService attributeService; + + // ------------------------------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------------------------------- + + private List attributes; + + public List getAttributes() + { + return attributes; + } + + // ------------------------------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------------------------------- + + @Override + public String execute() + throws Exception + { + attributes = new ArrayList<>( attributeService.getAttributes( OptionSet.class ) ); + Collections.sort( attributes, AttributeSortOrderComparator.INSTANCE ); + + return SUCCESS; + } +} === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/UpdateOptionSetAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/UpdateOptionSetAction.java 2015-09-10 07:57:00 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/UpdateOptionSetAction.java 2015-12-17 13:36:30 +0000 @@ -30,8 +30,12 @@ import com.opensymphony.xwork2.Action; import org.apache.commons.lang3.StringUtils; +import org.hisp.dhis.attribute.AttributeService; import org.hisp.dhis.option.OptionService; import org.hisp.dhis.option.OptionSet; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; /** * @author Chau Thu Tran @@ -51,6 +55,9 @@ this.optionService = optionService; } + @Autowired + private AttributeService attributeService; + // ------------------------------------------------------------------------------------------------- // Input // ------------------------------------------------------------------------------------------------- @@ -76,6 +83,13 @@ this.code = code; } + private List jsonAttributeValues; + + public void setJsonAttributeValues( List jsonAttributeValues ) + { + this.jsonAttributeValues = jsonAttributeValues; + } + // ------------------------------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------------------------------- @@ -88,6 +102,11 @@ optionSet.setName( StringUtils.trimToNull( name ) ); optionSet.setCode( StringUtils.trimToNull( code ) ); + if ( jsonAttributeValues != null ) + { + attributeService.updateAttributeValues( optionSet, jsonAttributeValues ); + } + optionService.updateOptionSet( optionSet ); return SUCCESS; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2015-10-03 11:12:19 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2015-12-17 13:36:30 +0000 @@ -315,6 +315,9 @@ + + @@ -353,6 +356,10 @@ + + + + === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml 2015-09-24 07:35:03 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml 2015-12-17 13:36:30 +0000 @@ -522,7 +522,7 @@ F_OPTIONSET_MANAGEMENT - + /main.vm /dhis-web-maintenance-dataadmin/addOptionSetForm.vm javascript/optionSet.js @@ -573,7 +573,7 @@ F_OPTIONSET_MANAGEMENT - + /main.vm /dhis-web-maintenance-dataadmin/addOptionForm.vm javascript/option.js === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addAttributeForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addAttributeForm.vm 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addAttributeForm.vm 2015-12-17 13:36:30 +0000 @@ -72,6 +72,7 @@


+
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addOptionSetForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addOptionSetForm.vm 2015-09-14 11:09:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addOptionSetForm.vm 2015-12-17 13:36:30 +0000 @@ -1,14 +1,15 @@

$i18n.getString( "add_option_set" )

@@ -17,14 +18,14 @@
- - - - - + + + + + - + @@ -35,32 +36,37 @@ - - - - - - - + + + +
$i18n.getString( "details" )$i18n.getString( "details" )
- -
- -

-
+ +
+ + #tblDynamicAttributes( { "attributes": $attributes, "attributeValues": $attributeValues } ) + + + + + +
+ +

+
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateAttributeForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateAttributeForm.vm 2015-12-17 11:44:56 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateAttributeForm.vm 2015-12-17 13:36:30 +0000 @@ -73,6 +73,7 @@