=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/FormUtils.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/FormUtils.java 2013-11-28 16:37:03 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/FormUtils.java 2013-11-28 16:39:58 +0000 @@ -128,36 +128,39 @@ throw new NullPointerException(); } - form.getOptions().put( "captureCoordinates", programStage.getCaptureCoordinates() ); - - if ( programStage.getProgramStageSections().size() > 0 ) + if ( programStage != null ) { - for ( ProgramStageSection section : programStage.getProgramStageSections() ) - { - List fields = inputsFromProgramStageDataElements( section.getProgramStageDataElements() ); + form.getOptions().put( "captureCoordinates", programStage.getCaptureCoordinates() ); + + if ( programStage.getProgramStageSections().size() > 0 ) + { + for ( ProgramStageSection section : programStage.getProgramStageSections() ) + { + List fields = inputsFromProgramStageDataElements( section.getProgramStageDataElements() ); + + if ( !fields.isEmpty() ) + { + Group s = new Group(); + s.setLabel( section.getDisplayName() ); + s.setFields( fields ); + form.getGroups().add( s ); + } + } + } + else + { + List fields = inputsFromProgramStageDataElements( + new ArrayList( programStage.getProgramStageDataElements() ) ); if ( !fields.isEmpty() ) { Group s = new Group(); - s.setLabel( section.getDisplayName() ); + s.setLabel( "default" ); s.setFields( fields ); form.getGroups().add( s ); } } } - else - { - List fields = inputsFromProgramStageDataElements( - new ArrayList( programStage.getProgramStageDataElements() ) ); - - if ( !fields.isEmpty() ) - { - Group s = new Group(); - s.setLabel( "default" ); - s.setFields( fields ); - form.getGroups().add( s ); - } - } return form; }