dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #23350
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 11358: implemented rendering of default/section forms as tabs, option is set on dataset (some minor css ...
------------------------------------------------------------
revno: 11358
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-07-08 11:59:58 +0700
message:
implemented rendering of default/section forms as tabs, option is set on dataset (some minor css fixes might still be needed)
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java
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/resources/org/hisp/dhis/dataset/hibernate/DataSet.hbm.xml
dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java
dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js
dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm
dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UpdateDataSetAction.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/org/hisp/dhis/dataset/i18n_module.properties
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/editDataSet.vm
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2013-06-11 19:20:08 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2013-07-08 04:59:58 +0000
@@ -61,7 +61,7 @@
*
* @author Kristian Nordal
*/
-@JacksonXmlRootElement( localName = "dataSet", namespace = DxfNamespaces.DXF_2_0 )
+@JacksonXmlRootElement(localName = "dataSet", namespace = DxfNamespaces.DXF_2_0)
public class DataSet
extends BaseNameableObject
{
@@ -71,7 +71,7 @@
public static final String TYPE_SECTION_MULTIORG = "multiorg_section";
public static final int NO_EXPIRY = 0;
-
+
/**
* Determines if a de-serialized file is compatible with this class.
*/
@@ -187,6 +187,11 @@
*/
private boolean skipOffline;
+ /**
+ * Render default and section forms with tabs instead of multiple sections in one page
+ */
+ private boolean renderAsTabs;
+
// -------------------------------------------------------------------------
// Contructors
// -------------------------------------------------------------------------
@@ -420,10 +425,10 @@
}
@JsonProperty
- @JsonSerialize( using = JacksonPeriodTypeSerializer.class )
- @JsonDeserialize( using = JacksonPeriodTypeDeserializer.class )
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonSerialize(using = JacksonPeriodTypeSerializer.class)
+ @JsonDeserialize(using = JacksonPeriodTypeDeserializer.class)
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public PeriodType getPeriodType()
{
return periodType;
@@ -435,8 +440,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public DataEntryForm getDataEntryForm()
{
return dataEntryForm;
@@ -448,10 +453,10 @@
}
@JsonProperty
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "dataElements", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "dataElement", namespace = DxfNamespaces.DXF_2_0 )
+ @JsonSerialize(contentAs = BaseIdentifiableObject.class)
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlElementWrapper(localName = "dataElements", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "dataElement", namespace = DxfNamespaces.DXF_2_0)
public Set<DataElement> getDataElements()
{
return dataElements;
@@ -463,10 +468,10 @@
}
@JsonProperty
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "indicators", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "indicator", namespace = DxfNamespaces.DXF_2_0 )
+ @JsonSerialize(contentAs = BaseIdentifiableObject.class)
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlElementWrapper(localName = "indicators", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "indicator", namespace = DxfNamespaces.DXF_2_0)
public Set<Indicator> getIndicators()
{
return indicators;
@@ -478,9 +483,9 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "compulsoryDataElementOperands", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "compulsoryDataElementOperand", namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlElementWrapper(localName = "compulsoryDataElementOperands", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "compulsoryDataElementOperand", namespace = DxfNamespaces.DXF_2_0)
public Set<DataElementOperand> getCompulsoryDataElementOperands()
{
return compulsoryDataElementOperands;
@@ -491,11 +496,11 @@
this.compulsoryDataElementOperands = compulsoryDataElementOperands;
}
- @JsonProperty( value = "organisationUnits" )
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "organisationUnits", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "organisationUnit", namespace = DxfNamespaces.DXF_2_0 )
+ @JsonProperty(value = "organisationUnits")
+ @JsonSerialize(contentAs = BaseIdentifiableObject.class)
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlElementWrapper(localName = "organisationUnits", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "organisationUnit", namespace = DxfNamespaces.DXF_2_0)
public Set<OrganisationUnit> getSources()
{
return sources;
@@ -506,11 +511,11 @@
this.sources = sources;
}
- @JsonProperty( value = "organisationUnitGroups" )
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "organisationUnitGroups", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "organisationUnitGroup", namespace = DxfNamespaces.DXF_2_0 )
+ @JsonProperty(value = "organisationUnitGroups")
+ @JsonSerialize(contentAs = BaseIdentifiableObject.class)
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlElementWrapper(localName = "organisationUnitGroups", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "organisationUnitGroup", namespace = DxfNamespaces.DXF_2_0)
public Set<OrganisationUnitGroup> getOrganisationUnitGroups()
{
return organisationUnitGroups;
@@ -532,10 +537,10 @@
}
@JsonProperty
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class } )
- @JacksonXmlElementWrapper( localName = "sections", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "section", namespace = DxfNamespaces.DXF_2_0 )
+ @JsonSerialize(contentAs = BaseIdentifiableObject.class)
+ @JsonView({ DetailedView.class })
+ @JacksonXmlElementWrapper(localName = "sections", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "section", namespace = DxfNamespaces.DXF_2_0)
public Set<Section> getSections()
{
return sections;
@@ -547,8 +552,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isMobile()
{
return mobile;
@@ -560,8 +565,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public Integer getVersion()
{
return version;
@@ -573,8 +578,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public int getExpiryDays()
{
return expiryDays;
@@ -586,8 +591,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isSkipAggregation()
{
return skipAggregation;
@@ -599,8 +604,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public UserGroup getNotificationRecipients()
{
return notificationRecipients;
@@ -612,8 +617,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isNotifyCompletingUser()
{
return notifyCompletingUser;
@@ -625,8 +630,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isAllowFuturePeriods()
{
return allowFuturePeriods;
@@ -638,8 +643,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isFieldCombinationRequired()
{
return fieldCombinationRequired;
@@ -651,8 +656,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isValidCompleteOnly()
{
return validCompleteOnly;
@@ -664,8 +669,8 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ @JsonView({ DetailedView.class, ExportView.class })
+ @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
public boolean isSkipOffline()
{
return skipOffline;
@@ -676,6 +681,19 @@
this.skipOffline = skipOffline;
}
+ @JsonProperty
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ public boolean isRenderAsTabs()
+ {
+ return renderAsTabs;
+ }
+
+ public void setRenderAsTabs( boolean renderAsTabs )
+ {
+ this.renderAsTabs = renderAsTabs;
+ }
+
@Override
public void mergeWith( IdentifiableObject other )
{
@@ -696,6 +714,7 @@
fieldCombinationRequired = dataSet.isFieldCombinationRequired();
validCompleteOnly = dataSet.isValidCompleteOnly();
skipOffline = dataSet.isSkipOffline();
+ renderAsTabs = dataSet.isRenderAsTabs();
removeAllDataElements();
=== 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 2013-06-19 12:24:58 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2013-07-08 04:59:58 +0000
@@ -503,6 +503,7 @@
executeSql( "UPDATE dataset SET skipaggregation = false WHERE skipaggregation IS NULL" );
executeSql( "UPDATE dataset SET skipoffline = false WHERE skipoffline IS NULL" );
+ executeSql( "UPDATE dataset SET renderastabs = false WHERE renderastabs IS NULL" );
executeSql( "UPDATE categorycombo SET skiptotal = false WHERE skiptotal IS NULL" );
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/DataSet.hbm.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/DataSet.hbm.xml 2013-02-28 05:58:17 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/dataset/hibernate/DataSet.hbm.xml 2013-07-08 04:59:58 +0000
@@ -90,6 +90,8 @@
<property name="skipOffline" />
+ <property name="renderAsTabs" />
+
<!-- Access properties -->
<many-to-one name="user" class="org.hisp.dhis.user.User" column="userid" foreign-key="fk_dataset_userid" />
=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java 2013-06-25 12:38:01 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java 2013-07-08 04:59:58 +0000
@@ -219,6 +219,13 @@
return dataElementsNotInForm;
}
+ private DataSet dataSet;
+
+ public DataSet getDataSet()
+ {
+ return dataSet;
+ }
+
// -------------------------------------------------------------------------
// Action implementation
// -------------------------------------------------------------------------
@@ -226,7 +233,7 @@
public String execute()
throws Exception
{
- DataSet dataSet = dataSetService.getDataSet( dataSetId, true, false, false, true );
+ dataSet = dataSetService.getDataSet( dataSetId, true, false, false, true );
List<DataElement> dataElements = new ArrayList<DataElement>( dataElementService.getDataElements( dataSet, null,
null ) );
=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js 2013-06-11 21:03:10 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/javascript/form.js 2013-07-08 04:59:58 +0000
@@ -564,6 +564,10 @@
if ( !multiOrganisationUnit )
{
+ if ( dataSets[dataSetId].renderAsTabs ) {
+ $( "#tabs" ).tabs();
+ }
+
enableSectionFilter();
insertDynamicOptions();
}
@@ -586,6 +590,10 @@
if( !multiOrganisationUnit )
{
+ if ( dataSets[dataSetId].renderAsTabs ) {
+ $( "#tabs" ).tabs();
+ }
+
enableSectionFilter();
insertDynamicOptions();
}
=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm 2013-05-21 06:03:05 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm 2013-07-08 04:59:58 +0000
@@ -32,7 +32,7 @@
#foreach( $dataSet in $dataSets )
"${dataSet.id}":{"name":"$encoder.jsonEncode( ${dataSet.displayName} )","periodType":"$encoder.jsonEncode( ${dataSet.periodType.name} )",
"version":"${dataSet.version}","type":"${dataSet.getDataSetType()}","expiryDays":"${dataSet.expiryDays}",
-"allowFuturePeriods":${dataSet.allowFuturePeriods},"fieldCombinationRequired":${dataSet.fieldCombinationRequired},"validCompleteOnly":${dataSet.validCompleteOnly}, "skipOffline":${dataSet.skipOffline}
+"allowFuturePeriods":${dataSet.allowFuturePeriods},"fieldCombinationRequired":${dataSet.fieldCombinationRequired},"validCompleteOnly":${dataSet.validCompleteOnly}, "skipOffline":${dataSet.skipOffline}, "renderAsTabs":${dataSet.renderAsTabs}
}#if( $velocityCount < $size ),#end
#end },
=== 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-06-25 09:01:34 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/sectionForm.vm 2013-07-08 04:59:58 +0000
@@ -2,9 +2,29 @@
#set( $tabIndex = 1 )
#set( $hasAccess = $auth.hasAccess( "dhis-web-dataentry", "saveValue" ) )
-#foreach( $section in $sections )
- #set( $categoryComboId = $sectionCombos.get( $section.id ) )
- #renderSection( $categoryComboId, $section.dataElements, $section.displayName )
+#if( $dataSet.renderAsTabs )
+ <div id="tabs">
+ <ul>
+ #foreach( $section in $sections )
+ #if( $section.displayName )
+ <li><a href="#tab-${section.uid}">$encoder.htmlEncode( $section.displayName )</a></li>
+ #else
+ <li><a href="#tab-${section.uid}">$i18n.getString("section") $velocityCount</a></li>
+ #end
+ #end
+ </ul>
+ #foreach( $section in $sections )
+ <div id="tab-${section.uid}">
+ #set( $categoryComboId = $sectionCombos.get( $section.id ) )
+ #renderSection( $categoryComboId, $section.dataElements )
+ </div>
+ #end
+ </div>
+#else
+ #foreach( $section in $sections )
+ #set( $categoryComboId = $sectionCombos.get( $section.id ) )
+ #renderSection( $categoryComboId, $section.dataElements, $section.displayName )
+ #end
#end
#*
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java 2012-12-04 15:27:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/AddDataSetAction.java 2013-07-08 04:59:58 +0000
@@ -27,12 +27,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import static org.hisp.dhis.system.util.TextUtils.nullIfEmpty;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
+import com.opensymphony.xwork2.Action;
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.dataset.DataSetService;
@@ -42,7 +37,11 @@
import org.hisp.dhis.user.UserGroupService;
import org.hisp.dhis.user.UserService;
-import com.opensymphony.xwork2.Action;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import static org.hisp.dhis.system.util.TextUtils.nullIfEmpty;
/**
* @author Kristian
@@ -128,14 +127,14 @@
{
this.expiryDays = expiryDays;
}
-
+
private int notificationRecipients;
-
+
public void setNotificationRecipients( int notificationRecipients )
{
this.notificationRecipients = notificationRecipients;
}
-
+
private boolean notifyCompletingUser;
public void setNotifyCompletingUser( boolean notifyCompletingUser )
@@ -165,12 +164,12 @@
}
private boolean fieldCombinationRequired;
-
+
public void setFieldCombinationRequired( boolean fieldCombinationRequired )
{
this.fieldCombinationRequired = fieldCombinationRequired;
}
-
+
private boolean validCompleteOnly;
public void setValidCompleteOnly( boolean validCompleteOnly )
@@ -185,6 +184,13 @@
this.skipOffline = skipOffline;
}
+ private boolean renderAsTabs;
+
+ public void setRenderAsTabs( boolean renderAsTabs )
+ {
+ this.renderAsTabs = renderAsTabs;
+ }
+
private Collection<String> dataElementsSelectedList = new HashSet<String>();
public void setDataElementsSelectedList( Collection<String> dataElementsSelectedList )
@@ -209,7 +215,7 @@
// ---------------------------------------------------------------------
// Prepare values
// ---------------------------------------------------------------------
-
+
code = nullIfEmpty( code );
shortName = nullIfEmpty( shortName );
description = nullIfEmpty( description );
@@ -232,7 +238,7 @@
{
indicators.add( indicatorService.getIndicator( Integer.parseInt( id ) ) );
}
-
+
dataSet.setDescription( description );
dataSet.setVersion( 1 );
dataSet.setMobile( false );
@@ -243,7 +249,8 @@
dataSet.setValidCompleteOnly( validCompleteOnly );
dataSet.setNotifyCompletingUser( notifyCompletingUser );
dataSet.setSkipOffline( skipOffline );
-
+ dataSet.setRenderAsTabs( renderAsTabs );
+
dataSetService.addDataSet( dataSet );
userService.assignDataSetToUserRole( dataSet );
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UpdateDataSetAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UpdateDataSetAction.java 2012-12-04 15:27:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UpdateDataSetAction.java 2013-07-08 04:59:58 +0000
@@ -27,10 +27,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
+import com.opensymphony.xwork2.Action;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.dataset.DataSet;
@@ -43,7 +40,9 @@
import org.hisp.dhis.period.PeriodType;
import org.hisp.dhis.user.UserGroupService;
-import com.opensymphony.xwork2.Action;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import static org.hisp.dhis.system.util.TextUtils.equalsNullSafe;
import static org.hisp.dhis.system.util.TextUtils.nullIfEmpty;
@@ -79,14 +78,14 @@
{
this.dataElementService = dataElementService;
}
-
+
private IndicatorService indicatorService;
public void setIndicatorService( IndicatorService indicatorService )
{
this.indicatorService = indicatorService;
}
-
+
private SectionService sectionService;
public void setSectionService( SectionService sectionService )
@@ -141,7 +140,7 @@
}
private int notificationRecipients;
-
+
public void setNotificationRecipients( int notificationRecipients )
{
this.notificationRecipients = notificationRecipients;
@@ -181,9 +180,9 @@
{
this.allowFuturePeriods = allowFuturePeriods;
}
-
+
private boolean fieldCombinationRequired;
-
+
public void setFieldCombinationRequired( boolean fieldCombinationRequired )
{
this.fieldCombinationRequired = fieldCombinationRequired;
@@ -203,6 +202,13 @@
this.skipOffline = skipOffline;
}
+ private boolean renderAsTabs;
+
+ public void setRenderAsTabs( boolean renderAsTabs )
+ {
+ this.renderAsTabs = renderAsTabs;
+ }
+
private Collection<String> dataElementsSelectedList = new HashSet<String>();
public void setDataElementsSelectedList( Collection<String> dataElementsSelectedList )
@@ -252,7 +258,7 @@
dataSet.setExpiryDays( expiryDays );
dataSet.setSkipAggregation( skipAggregation );
-
+
if ( !(equalsNullSafe( name, dataSet.getName() ) && periodType.equals( dataSet.getPeriodType() )
&& dataElements.equals( dataSet.getDataElements() ) && indicators.equals( dataSet.getIndicators() )) )
{
@@ -271,6 +277,7 @@
dataSet.setValidCompleteOnly( validCompleteOnly );
dataSet.setNotifyCompletingUser( notifyCompletingUser );
dataSet.setSkipOffline( skipOffline );
+ dataSet.setRenderAsTabs( renderAsTabs );
dataSet.setNotificationRecipients( userGroupService.getUserGroup( notificationRecipients ) );
dataSetService.updateDataSet( dataSet );
@@ -286,7 +293,7 @@
sectionService.updateSection( section );
}
}
-
+
return SUCCESS;
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/org/hisp/dhis/dataset/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/org/hisp/dhis/dataset/i18n_module.properties 2013-06-11 17:14:11 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/org/hisp/dhis/dataset/i18n_module.properties 2013-07-08 04:59:58 +0000
@@ -105,6 +105,7 @@
complete_allowed_only_if_validation_passes=Complete allowed only if validation passes
notification_recipients=Complete notification recipients
skip_offline=Skip offline
+render_as_tabs=Render as tabs
object_not_deleted_associated_by_objects=Object not deleted because it is associated by objects of type
auto_save_data_entry_forms=Auto-save data entry forms
notify_completing_user=Send notification to completing user
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm 2013-03-16 05:57:01 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/addDataSet.vm 2013-07-08 04:59:58 +0000
@@ -163,6 +163,15 @@
</select>
</td>
</tr>
+ <tr>
+ <td><label>$i18n.getString( "render_as_tabs" )</label></td>
+ <td>
+ <select id="renderAsTabs" name="renderAsTabs">
+ <option value="false">$i18n.getString( "no" )</option>
+ <option value="true">$i18n.getString( "yes" )</option>
+ </select>
+ </td>
+ </tr>
</tbody>
</table>
<br/>
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/editDataSet.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/editDataSet.vm 2012-12-04 15:27:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/dhis-web-maintenance-dataset/editDataSet.vm 2013-07-08 04:59:58 +0000
@@ -161,6 +161,15 @@
</select>
</td>
</tr>
+ <tr>
+ <td><label for="renderAsTabs">$i18n.getString( "render_as_tabs" )</label></td>
+ <td>
+ <select id="renderAsTabs" name="renderAsTabs">
+ <option value="false">$i18n.getString( "no" )</option>
+ <option value="true"#if( $dataSet.renderAsTabs == true ) selected="selected"#end>$i18n.getString( "yes" )</option>
+ </select>
+ </td>
+ </tr>
<tr><td> </td><td> </td></tr>
</tbody>
</table>