=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java 2016-01-11 03:14:37 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java 2016-02-09 21:30:25 +0000 @@ -130,7 +130,7 @@ { DataApprovalStatus status = statusMap.get( daKey( da ) ); - if ( da.getDataApprovalLevel() == null ) // Determine the approval level + if ( status != null && da.getDataApprovalLevel() == null ) // Determine the approval level { if ( status.getState().isApproved() ) // If approved already, approve at next level up (lower level number) { @@ -470,16 +470,16 @@ { List dataApprovals = listMap.get( key ); - DataApproval da0 = dataApprovals.get( 0 ); + DataApproval da = dataApprovals.get( 0 ); - List statuses = dataApprovalStore.getDataApprovals( da0.getWorkflow(), - da0.getPeriod(), da0.getOrganisationUnit(), null, getCategoryOptionCombos( dataApprovals ) ); + List statuses = dataApprovalStore.getDataApprovals( da.getWorkflow(), + da.getPeriod(), da.getOrganisationUnit(), null, getCategoryOptionCombos( dataApprovals ) ); for ( DataApprovalStatus status : statuses ) { - status.setPermissions( evaluator.getPermissions( status, da0.getOrganisationUnit(), da0.getWorkflow() ) ); + status.setPermissions( evaluator.getPermissions( status, da.getOrganisationUnit(), da.getWorkflow() ) ); - statusMap.put( daKey( da0 ), status ); + statusMap.put( daKey( da ), status ); } } @@ -511,7 +511,7 @@ * Approval status with these three values in common can be fetched in * one call for many values of attributeOptionCombo. */ - private String statusKey ( DataApproval approval ) + private String statusKey( DataApproval approval ) { return approval == null ? null : approval.getOrganisationUnit().getId() + IdentifiableObjectUtils.SEPARATOR + approval.getPeriod().getId() + === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/i18n_global.properties' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/i18n_global.properties 2016-01-07 16:26:11 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/i18n_global.properties 2016-02-09 21:30:25 +0000 @@ -208,6 +208,8 @@ variables=Variables open=Open normal=Normal +item=Item +action=Action #-- Relative periods -----------------------------------------------------------# === modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/dataset/action/GenerateDataSetReportAction.java' --- dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/dataset/action/GenerateDataSetReportAction.java 2016-02-08 15:37:12 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/java/org/hisp/dhis/reporting/dataset/action/GenerateDataSetReportAction.java 2016-02-08 20:47:34 +0000 @@ -150,6 +150,10 @@ this.ou = ou; } + /** + * Dimensional parameters, follows the standard analytics format, e.g. + * :; + */ private Set dimension; public void setDimension( Set dimension ) === modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties 2015-09-26 16:08:33 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/org/hisp/dhis/reporting/i18n_module.properties 2016-02-09 21:30:25 +0000 @@ -6,30 +6,32 @@ select_data_set= Please select a data set select_period=Please select a period select_organisation_unit=Please select an organisation unit -report_organisation_unit= Report organisation unit -dataset_report= Data Set Report +select_items=Select items +select_items_for=Select items for +report_organisation_unit=Report organisation unit +dataset_report=Data Set Report data_approval=Data Approval -add_selected= Add selected -add_all= Add all +add_selected=Add selected +add_all=Add all add=Add -create_report_table= Create report table -available_indicators= Available indicators -select_indicatorgroup_all= Select indicator group / View all -selected_indicators= Selected indicators +create_report_table=Create report table +available_indicators=Available indicators +select_indicatorgroup_all=Select indicator group / View all +selected_indicators=Selected indicators select_organisationunit_level_all=Select organsation unit level / View all select_option_view_all=Select option / View all -level= Level -available_organisationunits= Available organisation units -selected_organisationunits= Selected organisation units -available_periods= Available periods -selected_periods= Selected periods +level=Level +available_organisationunits=Available organisation units +selected_organisationunits=Selected organisation units +available_periods=Available periods +selected_periods=Selected periods add_children= Add children -create= Create -indicators= Indicators -organisation_units= Organisation units -periods= Periods -relative_periods= Relative periods -reporting_month= Reporting month +create=Create +indicators=Indicators +organisation_units=Organisation units +periods=Periods +relative_periods=Relative periods +reporting_month=Reporting month this_year=This year reporting_sixmonth=Reporting six-month last_2_sixmonths=Last 2 six-months @@ -40,52 +42,53 @@ quarters_last_year=Quarters last year last_year=Last year report_table= Report Table -crosstab_dimensions= Crosstab dimensions -confirm_delete_table= Are you sure you want to remove table? -operations= Operations -done= Done -crosstab_indicators= Crosstab indicators -crosstab_periods= Crosstab periods -crosstab_organisation_units= Crosstab organisation units +crosstab_dimensions=Crosstab dimensions +confirm_delete_table=Are you sure you want to remove table? +operations=Operations +organisation_unit=Organisation unit +done=Done +crosstab_indicators=Crosstab indicators +crosstab_periods=Crosstab periods +crosstab_organisation_units=Crosstab organisation units must_select_at_least_one_indictor_data_element_data_set=Please select at least one indicator, data element or data set must_select_at_least_one_unit= Please select at least one organisation unit -must_select_at_least_one_period= Please select at least one period +must_select_at_least_one_period=Please select at least one period cannot_include_more_organisation_unit_regression=Cannot include more that one organisation unit with regression -cannot_select_orgunit_and_parent_orgunit_param= Cannot select both current and parent organisation unit parameter -must_enter_name= Please enter a name -specify_name= Please specify a name -name_in_use= The name is already in use +cannot_select_orgunit_and_parent_orgunit_param=Cannot select both current and parent organisation unit parameter +must_enter_name=Please enter a name +specify_name=Please specify a name +name_in_use=The name is already in use design=Design -home= Home -directory= Directory -create_new_report= Create new report -create_report= Create report -standard_report= Standard Report -confirm_remove_report= Are you sure you will delete the report? -report= Report -completed= completed -remove_report= Remove report -submit= Submit -edit_report= Edit report -processing= Processing +home=Home +directory=Directory +create_new_report=Create new report +create_report=Create report +standard_report=Standard Report +confirm_remove_report=Are you sure you will delete the report? +report=Report +completed=completed +remove_report=Remove report +submit=Submit +edit_report=Edit report +processing=Processing indicators_data_elements_data_sets=Indicators / data elements / data sets -dataset= Data set -organisation_unit= Organisation unit -select_dataset_all= Select data set / View all -monthly= Monthly -quarterly= Quarterly -yearly= Yearly -omit_report_table_explanation= If selecting no report table, the user is responsible for providing the data source -dataset_completeness= Data set Completeness -report_parameters= Report parameters -parent_organisation_unit= Parent organisation unit -available_dataelements= Available data elements -select_dataelementgroup_all= Select data element group / View all -selected_dataelements= Selected data elements -dataelements= Data elements -report_table_parameters= Report table parameters -months_this_year= Months this year -quarters_this_year= Quarters this year +dataset=Data set +organisation_unit=Organisation unit +select_dataset_all=Select data set / View all +monthly=Monthly +quarterly=Quarterly +yearly=Yearly +omit_report_table_explanation=If selecting no report table, the user is responsible for providing the data source +dataset_completeness=Data set Completeness +report_parameters=Report parameters +parent_organisation_unit=Parent organisation unit +available_dataelements=Available data elements +select_dataelementgroup_all=Select data element group / View all +selected_dataelements=Selected data elements +dataelements=Data elements +report_table_parameters=Report table parameters +months_this_year=Months this year +quarters_this_year=Quarters this year add_report_table=Add Report Table add_dataelement_dimension_table=Add Dataelement Dimension Table generate= Generate @@ -239,6 +242,7 @@ unapprove=Unapprove accept=Accept unaccept=Unaccept +items=items waiting_for_lower_level_approval=Waiting for lower levels to approve approved_at_a_higher_level=Approved at a higher level approved=Approved @@ -246,6 +250,7 @@ ready_for_approval_at_a_higher_level=Ready for approval at a higher level ready_for_approval=Ready for approval approval_not_relevant=Approval not relevant +nothing_to_do=Nothing to do waiting_for_approval_elsewhere=Waiting for approval elsewhere approved_elsewhere=Approved elsewhere accepted_elsewhere=Accepted elsewhere === modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/dataApprovalForm.vm' --- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/dataApprovalForm.vm 2016-02-08 15:37:12 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/dataApprovalForm.vm 2016-02-09 21:30:25 +0000 @@ -15,8 +15,14 @@ var i18n_select_period_type = '$encoder.jsEscape( $i18n.getString( "select_period_type" ), "'")'; var i18n_select_period = '$encoder.jsEscape( $i18n.getString( "select_period" ), "'")'; var i18n_select_organisation_unit = '$encoder.jsEscape( $i18n.getString( "select_organisation_unit" ), "'")'; +var i18n_select_items = '$encoder.jsEscape( $i18n.getString( "select_items" ), "'")'; +var i18n_select_items_for = '$encoder.jsEscape( $i18n.getString( "select_items_for" ), "'")'; +var i18n_item = '$encoder.jsEscape( $i18n.getString( "item" ), "'")'; +var i18n_organisation_unit = '$encoder.jsEscape( $i18n.getString( "organisation_unit" ), "'")'; +var i18n_action = '$encoder.jsEscape( $i18n.getString( "action" ), "'")'; var i18n_generating_report = '$encoder.jsEscape( $i18n.getString( "generating_report" ), "'")'; var i18n_select_option_view_all = '$encoder.jsEscape( $i18n.getString( "select_option_view_all" ) , "'")'; +var i18n_nothing_to_do = '$encoder.jsEscape( $i18n.getString( "nothing_to_do" ) , "'")'; var i18n_waiting_for_lower_level_approval = '$encoder.jsEscape( $i18n.getString( "waiting_for_lower_level_approval" ) , "'")'; var i18n_ready_for_approval_at_a_higher_level = '$encoder.jsEscape( $i18n.getString( "ready_for_approval_at_a_higher_level" ) , "'")'; var i18n_ready_for_approval = '$encoder.jsEscape( $i18n.getString( "ready_for_approval" ) , "'")'; @@ -35,6 +41,11 @@ var i18n_confirm_unapproval = '$encoder.jsEscape( $i18n.getString( "confirm_unapproval" ) , "'")'; var i18n_confirm_accept = '$encoder.jsEscape( $i18n.getString( "confirm_accept" ) , "'")'; var i18n_confirm_unaccept = '$encoder.jsEscape( $i18n.getString( "confirm_unaccept" ) , "'")'; +var i18n_approve = '$encoder.jsEscape( $i18n.getString( "approve" ), "'")'; +var i18n_unapprove = '$encoder.jsEscape( $i18n.getString( "i18n_unapprove" ), "'")'; +var i18n_accept = '$encoder.jsEscape( $i18n.getString( "accept" ), "'")'; +var i18n_unaccept = '$encoder.jsEscape( $i18n.getString( "unaccept" ), "'")'; +var i18n_items = '$encoder.jsEscape( $i18n.getString( "items" ), "'")';