=== modified file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateDataStatusResultAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateDataStatusResultAction.java 2011-05-24 08:25:51 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/ds/action/GenerateDataStatusResultAction.java 2011-06-07 05:58:08 +0000 @@ -35,7 +35,7 @@ // --------------------------------------------------------------- // Dependencies // --------------------------------------------------------------- - + private JdbcTemplate jdbcTemplate; public void setJdbcTemplate( JdbcTemplate jdbcTemplate ) @@ -95,14 +95,15 @@ { this.displayPropertyHandler = displayPropertyHandler; } - - @SuppressWarnings("unused") + + @SuppressWarnings( "unused" ) private Comparator orgUnitComparator; public void setOrgUnitComparator( Comparator orgUnitComparator ) { this.orgUnitComparator = orgUnitComparator; } + // --------------------------------------------------------------- // Output Parameters // --------------------------------------------------------------- @@ -115,7 +116,7 @@ } private Map> ouMapDataElementCount; - + public Map> getOuMapDataElementCount() { return ouMapDataElementCount; @@ -155,8 +156,6 @@ { return dataStatusResult; } - - private Map> dataSetPeriods; @@ -185,7 +184,7 @@ { return maxOULevel; } - + // --------------------------------------------------------------- // Input Parameters // --------------------------------------------------------------- @@ -203,7 +202,7 @@ { this.includeZeros = includeZeros; } - + public String getIncludeZeros() { return includeZeros; @@ -322,17 +321,16 @@ int orgUnitCount; private String dataViewName; - + private int dataSetMemberCount1; - + public int getDataSetMemberCount1() { return dataSetMemberCount1; } - - + private Integer dataElementCount; - + public Integer getDataElementCount() { return dataElementCount; @@ -341,18 +339,14 @@ // --------------------------------------------------------------- // Action Implementation // --------------------------------------------------------------- - // @SuppressWarnings( { "deprecation", "unchecked" } ) + // @SuppressWarnings( { "deprecation", "unchecked" } ) public String execute() throws Exception { - System.out.println("Inside Normal DtaaStatus Reult Action"); orgUnitCount = 0; dataViewName = ""; - - ouMapDataElementCount = new HashMap>();//Map for DataElement count - - - // Intialization + + ouMapDataElementCount = new HashMap>();// Map for DataElement count Intialization periodNameList = new ArrayList(); ouMapDataStatusResult = new HashMap>(); results = new ArrayList(); @@ -381,7 +375,7 @@ } else { - //System.out.println( "slectedDataSets is not empty" ); + // System.out.println( "slectedDataSets is not empty" ); } for ( String ds : selectedDataSets ) { @@ -397,7 +391,7 @@ if ( facilityLB.equals( "children" ) ) { selectedOrgUnit = organisationUnitService.getOrganisationUnit( Integer.parseInt( orgUnitListCB.get( 0 ) ) ); - orgUnitList = getChildOrgUnitTree( selectedOrgUnit ); + orgUnitList = getChildOrgUnitTree( selectedOrgUnit ); } else if ( facilityLB.equals( "immChildren" ) ) { @@ -416,7 +410,7 @@ orgUnitList.add( o ); List organisationUnits = new ArrayList( o.getChildren() ); Collections.sort( organisationUnits, new OrganisationUnitShortNameComparator() ); - orgUnitList.addAll( organisationUnits ); + orgUnitList.addAll( organisationUnits ); } } else @@ -426,14 +420,14 @@ while ( orgUnitIterator.hasNext() ) { o = organisationUnitService.getOrganisationUnit( Integer.parseInt( orgUnitIterator.next() ) ); - orgUnitList.add( o ); - Collections.sort( orgUnitList, new OrganisationUnitShortNameComparator() ); + orgUnitList.add( o ); + Collections.sort( orgUnitList, new OrganisationUnitShortNameComparator() ); displayPropertyHandler.handle( orgUnitList ); } } - //Set dSetSource = selDataSet.getSources(); - List dSetSource = new ArrayList( selDataSet.getSources()); + // Set dSetSource = selDataSet.getSources(); + List dSetSource = new ArrayList( selDataSet.getSources() ); orgUnitInfo = "-1"; Iterator ouIt = orgUnitList.iterator(); while ( ouIt.hasNext() ) @@ -460,24 +454,25 @@ orgUnitInfo += "," + ou.getId(); } } - + // Period Related Info Period startPeriod = periodService.getPeriod( sDateLB ); Period endPeriod = periodService.getPeriod( eDateLB ); - PeriodType dataSetPeriodType = selDataSet.getPeriodType(); - periodList = new ArrayList(periodService.getPeriodsBetweenDates( dataSetPeriodType, - startPeriod.getStartDate(), endPeriod.getEndDate() )); - + PeriodType dataSetPeriodType = selDataSet.getPeriodType(); + periodList = new ArrayList( periodService.getPeriodsBetweenDates( dataSetPeriodType, startPeriod + .getStartDate(), endPeriod.getEndDate() ) ); + periodInfo = "-1"; for ( Period p : periodList ) periodInfo += "," + p.getId(); - + dataViewName = createDataView( orgUnitInfo, deInfo, periodInfo ); - + String query = ""; - query = "SELECT COUNT(*) FROM " + dataViewName + " WHERE dataelementid IN (?) AND sourceid IN (?) AND periodid IN (?)"; - + query = "SELECT COUNT(*) FROM " + dataViewName + + " WHERE dataelementid IN (?) AND sourceid IN (?) AND periodid IN (?)"; + Collection dataElements = new ArrayList(); dataElements = selDataSet.getDataElements(); @@ -486,17 +481,17 @@ { dataSetMemberCount1 += de1.getCategoryCombo().getOptionCombos().size(); } - - //System.out.println( "DataSet Member Count :" + dataSetMemberCount1 ); - + + // System.out.println( "DataSet Member Count :" + dataSetMemberCount1 ); + deInfo = getDEInfo( dataElements ); Iterator orgUnitListIterator = orgUnitList.iterator(); OrganisationUnit o; - //Set dso = new HashSet(); - List dso = new ArrayList( selDataSet.getSources()); + // Set dso = new HashSet(); + List dso = new ArrayList( selDataSet.getSources() ); Iterator periodIterator; - //dso = selDataSet.getSources(); + // dso = selDataSet.getSources(); while ( orgUnitListIterator.hasNext() ) { @@ -508,26 +503,25 @@ if ( minOULevel > organisationUnitService.getLevelOfOrganisationUnit( o ) ) minOULevel = organisationUnitService.getLevelOfOrganisationUnit( o ); -/* - List childOrgUnits = new ArrayList(); - - if ( !dso.contains( o ) ) - { - childOrgUnits = filterChildOrgUnitsByDataSet( o, dso ); - } - System.out.println( "Size of Child OrgUnit: " + childOrgUnits.size() ); -*/ + /* + * List childOrgUnits = new + * ArrayList(); + * + * if ( !dso.contains( o ) ) { childOrgUnits = + * filterChildOrgUnitsByDataSet( o, dso ); } System.out.println( + * "Size of Child OrgUnit: " + childOrgUnits.size() ); + */ periodIterator = periodList.iterator(); Period p; double dataStatusPercentatge; - + List dsResults = new ArrayList(); List deCounts = new ArrayList(); while ( periodIterator.hasNext() ) { - System.out.println("Inside period Iterator Loop"); + System.out.println( "Inside period Iterator Loop" ); p = (Period) periodIterator.next(); periodInfo = "" + p.getId(); dataElementCount = 0; @@ -539,63 +533,53 @@ } else if ( !dso.contains( o ) ) { - System.out.println("Dataset : " + selDataSet.getName() + " not assign to " + o.getName() ); - /* - if( childOrgUnits == null || childOrgUnits.size() <= 0 ) - { - dsResults.add( -2 ); - continue; - } - - else*/ - //{ - /*orgUnitInfo = "-1"; - orgUnitCount = 0; - getOrgUnitInfo( o, dso ); - - if ( includeZeros == null ) - { - query = "SELECT COUNT(*) FROM " + dataViewName + " WHERE dataelementid IN (" + deInfo - + ") AND sourceid IN (" + orgUnitInfo + ") AND periodid IN (" + periodInfo - + ") and value <> 0"; - - } - else - { - query = "SELECT COUNT(*) FROM " + dataViewName + " WHERE dataelementid IN (" + deInfo - + ") AND sourceid IN (" + orgUnitInfo + ") AND periodid IN (" + periodInfo + ")"; - } - - System.out.println("Used Query is :::::::" + query ); - SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query ); - - if ( sqlResultSet.next() ) - { - try - { - //System.out.println( "Result is : \t" + sqlResultSet.getLong( 1 ) ); - dataStatusPercentatge = ((double) sqlResultSet.getInt( 1 ) / (double) (dataSetMemberCount1 * orgUnitCount)) * 100.0; - - } - catch ( Exception e ) - { - dataStatusPercentatge = 0.0; - } - } - else - dataStatusPercentatge = 0.0; - - if ( dataStatusPercentatge > 100.0 ) - dataStatusPercentatge = 100; - - dataStatusPercentatge = Math.round( dataStatusPercentatge * Math.pow( 10, 0 ) ) / Math.pow( 10, 0 ); - */ - //dsResults.add( (int) dataStatusPercentatge ); - dsResults.add( -1 ); - //dataElementCount = sqlResultSet.getInt( 1 ); - deCounts.add( -1 ); - continue; - //} + System.out.println( "Dataset : " + selDataSet.getName() + " not assign to " + o.getName() ); + /* + * if( childOrgUnits == null || childOrgUnits.size() <= 0 ) + * { dsResults.add( -2 ); continue; } + * + * else + */ + // { + /* + * orgUnitInfo = "-1"; orgUnitCount = 0; getOrgUnitInfo( o, + * dso ); + * + * if ( includeZeros == null ) { query = + * "SELECT COUNT(*) FROM " + dataViewName + + * " WHERE dataelementid IN (" + deInfo + + * ") AND sourceid IN (" + orgUnitInfo + + * ") AND periodid IN (" + periodInfo + ") and value <> 0"; + * + * } else { query = "SELECT COUNT(*) FROM " + dataViewName + + * " WHERE dataelementid IN (" + deInfo + + * ") AND sourceid IN (" + orgUnitInfo + + * ") AND periodid IN (" + periodInfo + ")"; } + * + * System.out.println("Used Query is :::::::" + query ); + * SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( + * query ); + * + * if ( sqlResultSet.next() ) { try { //System.out.println( + * "Result is : \t" + sqlResultSet.getLong( 1 ) ); + * dataStatusPercentatge = ((double) sqlResultSet.getInt( 1 + * ) / (double) (dataSetMemberCount1 orgUnitCount)) 100.0; + * + * } catch ( Exception e ) { dataStatusPercentatge = 0.0; } + * } else dataStatusPercentatge = 0.0; + * + * if ( dataStatusPercentatge > 100.0 ) + * dataStatusPercentatge = 100; + * + * dataStatusPercentatge = Math.round( dataStatusPercentatge + * Math.pow( 10, 0 ) ) / Math.pow( 10, 0 ); + */ + // dsResults.add( (int) dataStatusPercentatge ); + dsResults.add( -1 ); + // dataElementCount = sqlResultSet.getInt( 1 ); + deCounts.add( -1 ); + continue; + // } } orgUnitInfo = "" + o.getId(); @@ -631,12 +615,12 @@ dataStatusPercentatge = 0.0; dataElementCount = -1; } - + if ( dataStatusPercentatge > 100.0 ) dataStatusPercentatge = 100; - dataStatusPercentatge = Math.round( dataStatusPercentatge * Math.pow( 10, 0 ) ) / Math.pow( 10, 0 ); - + dataStatusPercentatge = Math.round( dataStatusPercentatge * Math.pow( 10, 0 ) ) / Math.pow( 10, 0 ); + dsResults.add( (int) dataStatusPercentatge ); deCounts.add( dataElementCount ); } @@ -652,7 +636,8 @@ ouLevelNames[i] = "Level" + i; } - List ouLevels = new ArrayList( organisationUnitService.getFilledOrganisationUnitLevels() ); + List ouLevels = new ArrayList( organisationUnitService + .getFilledOrganisationUnitLevels() ); for ( OrganisationUnitLevel ouL : ouLevels ) { ouLevelNames[ouL.getLevel()] = ouL.getName(); @@ -674,7 +659,7 @@ { try { - deleteDataView( dataViewName ); + deleteDataView( dataViewName ); } catch ( Exception e ) { @@ -683,8 +668,9 @@ }// finally block end periodNameList = dashBoardService.getPeriodNamesByPeriodType( dataSetPeriodType, periodList ); - - //System.out.println("OrgUnit Size is :" + ouMapDataStatusResult.size() ); + + // System.out.println("OrgUnit Size is :" + ouMapDataStatusResult.size() + // ); return SUCCESS; } @@ -707,7 +693,7 @@ } public String createDataView( String orgUnitInfo, String deInfo, String periodInfo ) - { + { String dataViewName = "_ds_" + UUID.randomUUID().toString(); dataViewName = dataViewName.replaceAll( "-", "" ); @@ -715,14 +701,14 @@ try { - @SuppressWarnings("unused") + @SuppressWarnings( "unused" ) int sqlResult = jdbcTemplate.update( query ); System.out.println( "View " + dataViewName + " dropped Successfully (if exists) " ); - + query = "CREATE view " + dataViewName + " AS " - + " SELECT sourceid,dataelementid,periodid,value FROM datavalue " + " WHERE dataelementid in (" - + deInfo + ") AND " + " sourceid in (" + orgUnitInfo + ") AND " + " periodid in (" + periodInfo + ")"; + + " SELECT sourceid,dataelementid,periodid,value FROM datavalue " + " WHERE dataelementid in (" + + deInfo + ") AND " + " sourceid in (" + orgUnitInfo + ") AND " + " periodid in (" + periodInfo + ")"; sqlResult = jdbcTemplate.update( query ); @@ -736,7 +722,7 @@ finally { try - { + { } catch ( Exception e ) { @@ -753,9 +739,9 @@ String query = "DROP VIEW IF EXISTS " + dataViewName; try - { - @SuppressWarnings("unused") - int sqlResult = jdbcTemplate.update( query ); + { + @SuppressWarnings( "unused" ) + int sqlResult = jdbcTemplate.update( query ); System.out.println( "View " + dataViewName + " dropped Successfully" ); } // try block end catch ( Exception e ) @@ -807,25 +793,17 @@ getOrgUnitInfo( child ); } } -/* - private void getOrgUnitInfo( OrganisationUnit organisationUnit, List dso ) - { - Collection children = organisationUnit.getChildren(); - Iterator childIterator = children.iterator(); - OrganisationUnit child; - while ( childIterator.hasNext() ) - { - child = childIterator.next(); - if ( dso.contains( child ) ) - { - orgUnitInfo += "," + child.getId(); - orgUnitCount++; - } - getOrgUnitInfo( child, dso ); - } - } -*/ + /* + * private void getOrgUnitInfo( OrganisationUnit organisationUnit, + * List dso ) { Collection children = + * organisationUnit.getChildren(); + * + * Iterator childIterator = children.iterator(); + * OrganisationUnit child; while ( childIterator.hasNext() ) { child = + * childIterator.next(); if ( dso.contains( child ) ) { orgUnitInfo += "," + + * child.getId(); orgUnitCount++; } getOrgUnitInfo( child, dso ); } } + */ private String getDEInfo( Collection dataElements ) { StringBuffer deInfo = new StringBuffer( "-1" ); @@ -836,12 +814,14 @@ } return deInfo.toString(); } -/* - private List filterChildOrgUnitsByDataSet( OrganisationUnit selectedOrganisationUnit, List dso ) - { - List filteredOrganisationUnits = new ArrayList( organisationUnitService.getOrganisationUnitWithChildren( selectedOrganisationUnit.getId() ) ); - filteredOrganisationUnits.retainAll( dso ); - return filteredOrganisationUnits; - } -*/ + /* + * private List filterChildOrgUnitsByDataSet( + * OrganisationUnit selectedOrganisationUnit, List dso ) { + * List filteredOrganisationUnits = new + * ArrayList( + * organisationUnitService.getOrganisationUnitWithChildren( + * selectedOrganisationUnit.getId() ) ); + * filteredOrganisationUnits.retainAll( dso ); return + * filteredOrganisationUnits; } + */ }// class end === added directory 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart' === added directory 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action' === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/CalculateDataStatusAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/CalculateDataStatusAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/CalculateDataStatusAction.java 2011-06-07 05:58:08 +0000 @@ -0,0 +1,106 @@ +package org.hisp.dhis.dataanalyser.dsMart.action; + +import java.util.ArrayList; +import java.util.Collection; + +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.dataset.DataSetService; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.oust.manager.SelectionTreeManager; +import org.hisp.dhis.period.Period; +import org.hisp.dhis.period.PeriodService; +import org.hisp.dhis.user.CurrentUserService; + +import com.opensymphony.xwork2.Action; + +public class CalculateDataStatusAction + implements Action +{ + + Collection periods = new ArrayList(); + + Collection dataSets = new ArrayList(); + + //-------------------------------------------------------------------------- + // Dependencies + //-------------------------------------------------------------------------- + + private SelectionTreeManager selectionTreeManager; + + public void setSelectionTreeManager( SelectionTreeManager selectionTreeManager ) + { + this.selectionTreeManager = selectionTreeManager; + } + + private PeriodService periodService; + + public void setPeriodService( PeriodService periodService ) + { + this.periodService = periodService; + } + + private DataSetService dataSetService; + + public void setDataSetService( DataSetService dataSetService ) + { + this.dataSetService = dataSetService; + } + + private CurrentUserService currentUserService; + + public void setCurrentUserService( CurrentUserService currentUserService ) + { + this.currentUserService = currentUserService; + } + + //-------------------------------------------------------------------------- + // Input/Output + //-------------------------------------------------------------------------- + + private Collection selectedPeriods = new ArrayList(); + + public void setSelectedPeriods( Collection selectedPeriods ) + { + this.selectedPeriods = selectedPeriods; + } + + private Collection selectedDatasets = new ArrayList(); + + public void setSelectedDatasets( Collection selectedDatasets ) + { + this.selectedDatasets = selectedDatasets; + } + + String deInfo; + + private DataSet selDataSet; + + //-------------------------------------------------------------------------- + // Action Implementation + //-------------------------------------------------------------------------- + + public String execute() + { + + for ( Integer periodId : selectedPeriods ) + { + periods.add( periodService.getPeriod( periodId.intValue() ) ); + } + + for ( String ds : selectedDatasets ) + { + DataSet dSet = dataSetService.getDataSet( Integer.parseInt( ds ) ); + selDataSet = dSet; + for ( DataElement de : dSet.getDataElements() ) + deInfo += "," + de.getId(); + } + + String currentUserName = currentUserService.getCurrentUsername(); + + Collection selectedOrganisationUnits = selectionTreeManager.getSelectedOrganisationUnits(); + + return SUCCESS; + } + +} === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetDataSetsForPeriodTypeAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetDataSetsForPeriodTypeAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetDataSetsForPeriodTypeAction.java 2011-06-07 05:58:08 +0000 @@ -0,0 +1,64 @@ +package org.hisp.dhis.dataanalyser.dsMart.action; + +import java.util.ArrayList; +import java.util.Collection; + +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.dataset.DataSetService; +import org.hisp.dhis.period.PeriodService; + +import com.opensymphony.xwork2.Action; + +public class GetDataSetsForPeriodTypeAction +implements Action +{ + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private DataSetService dataSetService; + + public void setDataSetService( DataSetService dataSetService ) + { + this.dataSetService = dataSetService; + } + + private PeriodService periodService; + + public void setPeriodService( PeriodService periodService ) + { + this.periodService = periodService; + } + + // ------------------------------------------------------------------------- + // Input/output + // ------------------------------------------------------------------------- + + private String periodType; + + public void setPeriodType( String periodType ) + { + this.periodType = periodType; + } + + private Collection dataSets = new ArrayList(); + + public Collection getDataSets() + { + return dataSets; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() + { + if ( periodType != null && !periodType.isEmpty() ) + { + dataSets = dataSetService.getAssignedDataSetsByPeriodType( periodService.getPeriodTypeByName( periodType ) ); + } + return SUCCESS; + } + +} === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetPeriodTypesAction.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetPeriodTypesAction.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetPeriodTypesAction.java 2011-06-07 05:58:08 +0000 @@ -0,0 +1,56 @@ +package org.hisp.dhis.dataanalyser.dsMart.action; + +import java.util.Collection; + +import org.hisp.dhis.oust.manager.SelectionTreeManager; +import org.hisp.dhis.period.PeriodService; +import org.hisp.dhis.period.PeriodType; + +import com.opensymphony.xwork2.Action; + +public class GetPeriodTypesAction + implements Action +{ + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private PeriodService periodService; + + public void setPeriodService( PeriodService periodService ) + { + this.periodService = periodService; + } + + private SelectionTreeManager selectionTreeManager; + + public void setSelectionTreeManager( SelectionTreeManager selectionTreeManager ) + { + this.selectionTreeManager = selectionTreeManager; + } + + // ------------------------------------------------------------------------- + // Input/output + // ------------------------------------------------------------------------- + + private Collection periodTypes; + + public Collection getPeriodTypes() + { + return periodTypes; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() + { + periodTypes = periodService.getAllPeriodTypes(); + + selectionTreeManager.clearSelectedOrganisationUnits(); + + return SUCCESS; + } +} === added file 'local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetPeriodsForDSMart.java' --- local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetPeriodsForDSMart.java 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/java/org/hisp/dhis/dataanalyser/dsMart/action/GetPeriodsForDSMart.java 2011-06-07 05:58:08 +0000 @@ -0,0 +1,101 @@ +package org.hisp.dhis.dataanalyser.dsMart.action; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +import org.hisp.dhis.i18n.I18nFormat; +import org.hisp.dhis.period.Period; +import org.hisp.dhis.period.PeriodService; +import org.hisp.dhis.period.PeriodType; +import org.hisp.dhis.period.comparator.PeriodComparator; + +import com.opensymphony.xwork2.Action; + +public class GetPeriodsForDSMart + implements Action +{ + + private final static String ALL = "ALL"; + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private PeriodService periodService; + + public void setPeriodService( PeriodService periodService ) + { + this.periodService = periodService; + } + + private I18nFormat format; + + public void setFormat( I18nFormat format ) + { + this.format = format; + } + + // ------------------------------------------------------------------------- + // Input & output + // ------------------------------------------------------------------------- + + private String name; + + public void setName( String name ) + { + this.name = name; + } + + private List periods = new ArrayList(); + + public List getPeriods() + { + return periods; + } + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() + throws Exception + { + if ( name == null || name.equals( ALL ) ) + { + Collection periodTypes = periodService.getAllPeriodTypes(); + + for ( PeriodType type : periodTypes ) + { + periods.addAll( periodService.getPeriodsByPeriodType( type ) ); + } + } + else + { + PeriodType periodType = periodService.getPeriodTypeByName( name ); + + ArrayList allPeriodsOfSelectedPeriodType = new ArrayList( periodService + .getPeriodsByPeriodType( periodType ) ); + + for ( Period p : allPeriodsOfSelectedPeriodType ) + { + if ( !(p.getStartDate().compareTo( new Date() ) > 0) ) + { + periods.add( p ); + } + } + } + + for ( Period period : periods ) + { + period.setName( format.formatPeriod( period ) ); + } + + Collections.sort( periods, new PeriodComparator() ); + + return SUCCESS; + } + +} === modified file 'local/in/dhis-web-dashboard/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-web-dashboard/src/main/resources/META-INF/dhis/beans.xml 2011-05-27 11:25:15 +0000 +++ local/in/dhis-web-dashboard/src/main/resources/META-INF/dhis/beans.xml 2011-06-07 05:58:08 +0000 @@ -540,6 +540,32 @@ scope="prototype"> + + + + + + + + + + + + + + + + + + + + + + @@ -1287,4 +1313,26 @@ scope="prototype"> + + + + + + + + + + + + + + + + \ No newline at end of file === modified file 'local/in/dhis-web-dashboard/src/main/resources/org/hisp/dhis/dataanalyser/i18n_module.properties' --- local/in/dhis-web-dashboard/src/main/resources/org/hisp/dhis/dataanalyser/i18n_module.properties 2011-05-18 11:12:17 +0000 +++ local/in/dhis-web-dashboard/src/main/resources/org/hisp/dhis/dataanalyser/i18n_module.properties 2011-06-07 05:58:08 +0000 @@ -65,6 +65,16 @@ ta_generatereport = Generate Report ta_selected_servicelist = Selected DataElement/Indicator List : +#-------View Chart---------------------------# + +vc = View Comments +vc_comments = Comments +vc_start_date = Start Date +vc_end_date = End Date +vc_get_report_as_pdf = Download As PDF +vc_get_report_as_xls = Download As Excel +vc_get_report_as_csv = Download As CSV +vc_done = Done #-------DataStatus---------------------------# @@ -85,6 +95,7 @@ ds_dataentry_dataelement_group_status_mobile = Mobile Data Entry Status by Data Element Groups ds_dataelement_group_mobile = Mobile Data Element Group ds_lastupdated_status_mobile = Last Updated Status For Mobile DataSet +ds_mart = Data Status Mart #-------DataStatusOrganisationUnitGroupWise---------------------------# @@ -127,3 +138,13 @@ ds_periodtype = Period Type select_periodtype = Select Period Type +#---------DataStatus Mart-------------------# + +calculate = Calculate +available_periods = Available Periods +selected_periods = Selected Periods +available_datasets = Available Datasets +selected_datasets = Selected Datasets + + + === modified file 'local/in/dhis-web-dashboard/src/main/resources/struts.xml' --- local/in/dhis-web-dashboard/src/main/resources/struts.xml 2011-05-27 11:25:15 +0000 +++ local/in/dhis-web-dashboard/src/main/resources/struts.xml 2011-06-07 05:58:08 +0000 @@ -15,139 +15,154 @@ /dhis-web-dashboard/menu.vm - - - /main.vm - /dhis-web-dashboard/graphicalAnalysisDataElementFront.vm - /dhis-web-dashboard/menuWithTreeForGADataElement.vm - ../dhis-web-commons/ouwt/ouwt.js, - javascript/db.js, - javascript/ga.js, - javascript/hashtable.js, - javascript/date.js, - javascript/gadataelement.js - css/StylesForTags.css - - + + + /main.vm + + /dhis-web-dashboard/graphicalAnalysisDataElementFront.vm + + /dhis-web-dashboard/menuWithTreeForGADataElement.vm + ../dhis-web-commons/ouwt/ouwt.js, + javascript/db.js, javascript/ga.js, javascript/hashtable.js, + javascript/date.js, javascript/gadataelement.js + css/StylesForTags.css + + - - /popup.vm - /dhis-web-dashboard/graphicalAnalysisDataElementResult.vm - - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js - css/StylesForTags.css - - + class="org.hisp.dhis.dataanalyser.ga.action.charts.GenerateChartDataElementAction"> + /popup.vm + + /dhis-web-dashboard/graphicalAnalysisDataElementResult.vm + + + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js + css/StylesForTags.css + + - - - 700 - 500 - - + + + 700 + 500 + + - - - /dhis-web-dashboard/responseSortedData.vm - - plainTextError - + + + + /dhis-web-dashboard/responseSortedData.vm + + plainTextError + - - - application/vnd.ms-excel - inputStream - filename="${fileName}" - 1024 - - + + + application/vnd.ms-excel + inputStream + filename="${fileName}" + 1024 + + - + /popup.vm - /dhis-web-dashboard/graphicalAnalysisDataElementResult.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js + + /dhis-web-dashboard/graphicalAnalysisDataElementResult.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js css/StylesForTags.css - - /popup.vm - /dhis-web-dashboard/graphicalAnalysisDataElementResult.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js - css/StylesForTags.css - - - - - - - - - - + + /popup.vm + + /dhis-web-dashboard/graphicalAnalysisDataElementResult.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js + css/StylesForTags.css + + + + + + + + /main.vm + + /dhis-web-dashboard/graphicalAnalysisIndicatorFront.vm + + /dhis-web-dashboard/menuWithTreeForGAIndicator.vm + + ../dhis-web-commons/ouwt/ouwt.js,javascript/db.js,javascript/ga.js,javascript/hashtable.js,javascript/date.js,javascript/gadataelement.js + css/StylesForTags.css + + + + + /popup.vm + + /dhis-web-dashboard/graphicalAnalysisIndicatorResult.vm - - - /main.vm - /dhis-web-dashboard/graphicalAnalysisIndicatorFront.vm - /dhis-web-dashboard/menuWithTreeForGAIndicator.vm - ../dhis-web-commons/ouwt/ouwt.js,javascript/db.js,javascript/ga.js,javascript/hashtable.js,javascript/date.js,javascript/gadataelement.js - css/StylesForTags.css - - - - - /popup.vm - /dhis-web-dashboard/graphicalAnalysisIndicatorResult.vm - - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js - css/StylesForTags.css - - - + + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js + css/StylesForTags.css + + + - /dhis-web-dashboard/responseSortedData.vm - - plainTextError - - - - - application/vnd.ms-excel - inputStream - filename="${fileName}" - 1024 - - - - - /popup.vm - /dhis-web-dashboard/graphicalAnalysisIndicatorResult.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js - css/StylesForTags.css - - - - - - /popup.vm - /dhis-web-dashboard/graphicalAnalysisIndicatorResult.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js - css/StylesForTags.css - - - - + class="org.hisp.dhis.dataanalyser.action.GetSortedIndicatorDataAction"> + + /dhis-web-dashboard/responseSortedData.vm + + plainTextError + + + + + application/vnd.ms-excel + inputStream + filename="${fileName}" + 1024 + + + + + /popup.vm + + /dhis-web-dashboard/graphicalAnalysisIndicatorResult.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js + css/StylesForTags.css + + + + + + /popup.vm + + /dhis-web-dashboard/graphicalAnalysisIndicatorResult.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js,javascript/gadataelement.js + css/StylesForTags.css + + + + - - application/vnd.ms-excel - inputStream - filename="${fileName}" - 1024 - - + class="org.hisp.dhis.dataanalyser.ga.action.charts.GenerateDrillDownResultAction"> + + application/vnd.ms-excel + inputStream + filename="${fileName}" + 1024 + + @@ -225,27 +240,28 @@ - /popup.vm - /dhis-web-dashboard/annualAnalysisResult.vm - ../dhis-web-commons/ouwt/ouwt.js,javascript/ga.js,javascript/hashtable.js + /popup.vm + + /dhis-web-dashboard/annualAnalysisResult.vm + + ../dhis-web-commons/ouwt/ouwt.js,javascript/ga.js,javascript/hashtable.js css/StylesForTags.css - - - - application/vnd.ms-excel - inputStream - filename="${fileName}" - 1024 - - - + + + + application/vnd.ms-excel + inputStream + filename="${fileName}" + 1024 + + - + /main.vm @@ -256,12 +272,13 @@ css/StylesForTags.css - + - /dhis-web-dashboard/motionChartResult.vm + + /dhis-web-dashboard/motionChartResult.vm - + /main.vm /dhis-web-dashboard/surveyAnalysisFront.vm /dhis-web-dashboard/menuWithTreeForSA.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/db.js,javascript/aa.js,javascript/hashtable.js,javascript/date.js + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/db.js,javascript/aa.js,javascript/hashtable.js,javascript/date.js css/StylesForTags.css - - - /popup.vm - /dhis-web-dashboard/surveyAnalysisResult.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js - css/StylesForTags.css - - - - - + + /popup.vm + + /dhis-web-dashboard/surveyAnalysisResult.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ga.js,javascript/hashtable.js + css/StylesForTags.css + + + - - - application/vnd.ms-excel - inputStream - filename="${fileName}" - 1024 - - + + + application/vnd.ms-excel + inputStream + filename="${fileName}" + 1024 + + @@ -319,8 +337,10 @@ class="org.hisp.dhis.dataanalyser.tr.action.GenerateTargetAnalysisFormAction"> /main.vm /dhis-web-dashboard/targetAnalysisFront.vm - /dhis-web-dashboard/menuWithTreeForTarget.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ta.js,javascript/db.js,javascript/tr.js,javascript/hashtable.js,javascript/date.js + + /dhis-web-dashboard/menuWithTreeForTarget.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ta.js,javascript/db.js,javascript/tr.js,javascript/hashtable.js,javascript/date.js css/StylesForTags.css @@ -333,22 +353,49 @@ - /popup.vm - /dhis-web-dashboard/deTargetAnalysisResult.vm - css/StylesForTags.css - - - - - application/vnd.ms-excel - inputStream - filename="${fileName}" - 1024 - - - + class="org.hisp.dhis.dataanalyser.tr.action.GenerateTargetAnalysisDataAction"> + /popup.vm + + /dhis-web-dashboard/deTargetAnalysisResult.vm + css/StylesForTags.css + + + + + application/vnd.ms-excel + inputStream + filename="${fileName}" + 1024 + + + + + + + /main.vm + /dhis-web-dashboard/viewCommentFront.vm + /dhis-web-dashboard/menu.vm + + ../dhis-web-commons/oust/oust.js,../dhis-web-commons/ouwt/ouwt.js,javascript/vc.js + + + + /main.vm + /dhis-web-dashboard/viewCommentResult.vm + /dhis-web-dashboard/menu.vm + + ../dhis-web-commons/oust/oust.js,../dhis-web-commons/ouwt/ouwt.js,javascript/vc.js + + + + + + + @@ -357,7 +404,8 @@ /main.vm /dhis-web-dashboard/dataStatusFront.vm /dhis-web-dashboard/menuWithTreeForDS.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js css/StylesForTags.css @@ -366,109 +414,129 @@ class="org.hisp.dhis.dataanalyser.ds.action.GenerateDataStatusResultAction"> /popup.vm /dhis-web-dashboard/dataStatusResult.vm - javascript/ds.js,javascript/hashtable.js + + javascript/ds.js,javascript/hashtable.js css/StylesForTags.css - - + - /content.vm - /dhis-web-dashboard/nullReportDataEntryStatusResult.vm - javascript/ds.js,javascript/hashtable.js + /content.vm + + /dhis-web-dashboard/nullReportDataEntryStatusResult.vm + + javascript/ds.js,javascript/hashtable.js css/StylesForTags.css - - - - - + /main.vm - /dhis-web-dashboard/dataStatusDataSetWiseFront.vm - /dhis-web-dashboard/menuWithTreeForDSDataSetWise.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js + + /dhis-web-dashboard/dataStatusDataSetWiseFront.vm + + /dhis-web-dashboard/menuWithTreeForDSDataSetWise.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js css/StylesForTags.css - /dhis-web-dashboard/dataStatusDataSetWiseResult.vm - javascript/ds.js,javascript/hashtable.js + + /dhis-web-dashboard/dataStatusDataSetWiseResult.vm + + javascript/ds.js,javascript/hashtable.js css/StylesForTags.css - + - /dhis-web-dashboard/responsePeriodForDataSetWise.vm + + /dhis-web-dashboard/responsePeriodForDataSetWise.vm plainTextError - - + + - - /main.vm - /dhis-web-dashboard/dataStatusMobileFront.vm - /dhis-web-dashboard/menuWithTreeForDSMobile.vm - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js - css/StylesForTags.css - - - + + /main.vm + + /dhis-web-dashboard/dataStatusMobileFront.vm + + /dhis-web-dashboard/menuWithTreeForDSMobile.vm + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js + css/StylesForTags.css + + + - - /dhis-web-dashboard/validationMobileSatusResult.vm - javascript/ds.js,javascript/hashtable.js - css/StylesForTags.css - + + + /dhis-web-dashboard/validationMobileSatusResult.vm + + javascript/ds.js,javascript/hashtable.js + css/StylesForTags.css + - - /dhis-web-dashboard/summaryMobileSatusResult.vm - javascript/ds.js,javascript/hashtable.js - css/StylesForTags.css - + + + /dhis-web-dashboard/summaryMobileSatusResult.vm + + javascript/ds.js,javascript/hashtable.js + css/StylesForTags.css + - - /dhis-web-dashboard/mobileDataStatusResult.vm - javascript/ds.js,javascript/hashtable.js - css/StylesForTags.css - + + + /dhis-web-dashboard/mobileDataStatusResult.vm + + javascript/ds.js,javascript/hashtable.js + css/StylesForTags.css + - /dhis-web-dashboard/percentageWiseDataStatusResult.vm - javascript/ds.js,javascript/hashtable.js - css/StylesForTags.css - - - - - /dhis-web-dashboard/groupWiseMobileDataStatusResult.vm - javascript/ds.js,javascript/hashtable.js,javascript/date.js - css/StylesForTags.css - - - - - /dhis-web-dashboard/lastUpdatedMobileDataSetSatusResult.vm - javascript/ds.js,javascript/hashtable.js - css/StylesForTags.css - - - + class="org.hisp.dhis.dataanalyser.ds.mobile.action.GeneratePercentageDataStatusResultAction"> + + /dhis-web-dashboard/percentageWiseDataStatusResult.vm + + javascript/ds.js,javascript/hashtable.js + css/StylesForTags.css + + + + + + /dhis-web-dashboard/groupWiseMobileDataStatusResult.vm + + javascript/ds.js,javascript/hashtable.js,javascript/date.js + css/StylesForTags.css + + + + + + /dhis-web-dashboard/lastUpdatedMobileDataSetSatusResult.vm + + javascript/ds.js,javascript/hashtable.js + css/StylesForTags.css + + + + class="org.hisp.dhis.dataanalyser.ds.action.GenerateSummaryDataStatusResultAction"> /dhis-web-dashboard/summarySatusResult.vm @@ -484,14 +552,16 @@ javascript/ds.js,javascript/hashtable.js,javascript/date.js css/StylesForTags.css - - - /dhis-web-dashboard/validationSatusResult.vm - javascript/ds.js,javascript/hashtable.js + + /dhis-web-dashboard/validationSatusResult.vm + + javascript/ds.js,javascript/hashtable.js css/StylesForTags.css - + @@ -506,7 +576,8 @@ application/vnd.ms-excel inputStream - attachment;filename="${fileName}" + + attachment;filename="${fileName}" 1024 @@ -529,7 +600,8 @@ /main.vm /dhis-web-dashboard/dataStatusOrgnisationunitGroupSetWiseFront.vm - /dhis-web-dashboard/menuWithTreeForOrgUnitGroupWiseDS.vm + + /dhis-web-dashboard/menuWithTreeForOrgUnitGroupWiseDS.vm ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ds.js,javascript/db.js,javascript/date.js,javascript/hashtable.js css/StylesForTags.css @@ -590,18 +662,18 @@ + --> - application/vnd.ms-excel @@ -610,61 +682,61 @@ 1024 - + + --> - /main.vm - /dhis-web-dashboard/tabularAnalysisFront.vm - /dhis-web-dashboard/menuWithTreeForTA.vm - - ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ta.js,javascript/hashtable.js - css/StylesForTags.css - - - - + + ../dhis-web-commons/ouwt/ouwt.js,../dhis-web-commons/lists/lists.js,javascript/ta.js,javascript/hashtable.js + css/StylesForTags.css + + + + @@ -724,12 +797,12 @@ - /dhis-web-dashboard/responseWeeklyPeriods.vm - - plainTextError - - + class="org.hisp.dhis.dataanalyser.action.GetWeeklyPeriodAction"> + + /dhis-web-dashboard/responseWeeklyPeriods.vm + + plainTextError + @@ -738,13 +811,14 @@ plainTextError - - - /dhis-web-dashboard/responseDataElement.vm - plainTextError - - + + + + /dhis-web-dashboard/responseDataElement.vm + plainTextError + + @@ -823,5 +897,32 @@ + + + + /main.vm + /dhis-web-dashboard/dataStatusMartFront.vm + /dhis-web-dashboard/menu.vm + ../dhis-web-commons/oust/oust.js, + javascript/dataStatusMart.js + + + + + /dhis-web-commons/ajax/xmlPeriods.vm + plainTextError + + + + + /dhis-web-dashboard/responseDataSet.vm + plainTextError + + + + \ No newline at end of file === added file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/dataStatusMartFront.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/dataStatusMartFront.vm 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/dataStatusMartFront.vm 2011-06-07 05:58:08 +0000 @@ -0,0 +1,78 @@ +

$i18n.getString( "data_locking_form" ) #openHelp( "dataLocking" )

+ +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "period_type" )
+ +
 
$i18n.getString( "available_periods" )$i18n.getString( "selected_periods" )
+ + +
+
+
+ +
+ +
 
$i18n.getString( "available_datasets" )$i18n.getString( "selected_datasets" )
+ + +
+
+
+ +
+ +
+
+ + + + + + + + +
#organisationUnitSelectionTree( true, true, false )
+ + ###if( $auth.hasAccess( "dhis-web-maintenance-dataadmin", "collectiveDataLockingForUnlocking") ) + ## + ## #end +
+
+ + === added file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/javascript/dataStatusMart.js' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/javascript/dataStatusMart.js 1970-01-01 00:00:00 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/javascript/dataStatusMart.js 2011-06-07 05:58:08 +0000 @@ -0,0 +1,73 @@ +function getPeriods() +{ + var periodTypeList = byId("periodTypeId"); + var periodTypeId = periodTypeList.options[periodTypeList.selectedIndex].value; + + if (periodTypeId != null) { + var url = "getPeriodsDSMart.action?name=" + periodTypeId; + $.ajax( { + url :url, + cache :false, + success : function(response) { + dom = parseXML(response); + $('#availablePeriods >option').remove(); + $(dom).find('period').each( + function() { + $('#availablePeriods').append( + ""); + }); + } + + }); + } + + enable("lock"); + enable("unlock"); + enable("availablePeriods"); + + getDataSets(); + +} + +function parseXML(xml) { + + if (window.ActiveXObject && window.GetObject) { + var dom = new ActiveXObject('Microsoft.XMLDOM'); + dom.loadXML(xml); + return dom; + } + if (window.DOMParser) + return new DOMParser().parseFromString(xml, 'text/xml'); + + throw new Error('No XML parser available'); +} + +function getDataSets() { + + var periodTypeList = byId("periodTypeId"); + var periodType = periodTypeList.options[periodTypeList.selectedIndex].value; + + if (periodType != null) { + var url = "getDataSetsForPeriodType.action?periodType=" + periodType; + $.ajax( { + url :url, + cache :false, + success : function(response) { + $('#availableDataSets >option').remove(); + $(response).find('dataSet').each( + function() { + $('#availableDataSets').append( + ""); + }); + enable("availableDataSets"); + $('#selectedPeriods >option').remove(); + $('#selectedDataSets >option').remove(); + } + }); + } +} === modified file 'local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/menu.vm' --- local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/menu.vm 2011-05-18 11:12:17 +0000 +++ local/in/dhis-web-dashboard/src/main/webapp/dhis-web-dashboard/menu.vm 2011-06-07 05:58:08 +0000 @@ -11,9 +11,11 @@
  • $i18n.getString( "target" )
  • -
  • $i18n.getString( "ta" )
  • +
  • $i18n.getString( "ta" )
  • +
  • $i18n.getString( "vc" )
  • $i18n.getString( "ds_datastatus" )