=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationFormService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationFormService.java 2013-09-27 07:43:07 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationFormService.java 2013-09-27 11:10:25 +0000 @@ -59,6 +59,10 @@ final Pattern TITLE_TAG_PATTERN = Pattern.compile( "title=\"(.*?)\"", Pattern.DOTALL ); + final Pattern SUGGESTED_VALUE_PATTERN = Pattern.compile( "suggested=('|\")(\\w*)('|\")" ); + + final Pattern CLASS_PATTERN = Pattern.compile( "class='(\\w*)'" ); + // -------------------------------------------------------------------------- // ProgramDataEntryService // -------------------------------------------------------------------------- === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramPatientProperty.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramPatientProperty.java 2013-09-27 07:43:07 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramPatientProperty.java 2013-09-27 11:10:25 +0000 @@ -54,7 +54,7 @@ private String defaultValue; - private boolean hidden = false; + private boolean hidden; private int sortOrder; === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java 2013-09-27 07:43:07 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java 2013-09-27 11:10:25 +0000 @@ -39,8 +39,6 @@ import org.hisp.dhis.patientattributevalue.PatientAttributeValueService; import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramInstance; -import org.hisp.dhis.program.ProgramPatientProperty; -import org.hisp.dhis.program.ProgramPatientPropertyService; import org.hisp.dhis.user.User; import org.springframework.transaction.annotation.Transactional; @@ -100,13 +98,6 @@ this.attributeValueService = attributeValueService; } - private ProgramPatientPropertyService programPatientPropertyService; - - public void setProgramPatientPropertyService( ProgramPatientPropertyService programPatientPropertyService ) - { - this.programPatientPropertyService = programPatientPropertyService; - } - // ------------------------------------------------------------------------- // PatientRegistrationForm implementation // ------------------------------------------------------------------------- @@ -174,6 +165,8 @@ Matcher identifierMatcher = IDENTIFIER_PATTERN.matcher( inputHtml ); Matcher dynamicAttrMatcher = DYNAMIC_ATTRIBUTE_PATTERN.matcher( inputHtml ); Matcher programMatcher = PROGRAM_PATTERN.matcher( inputHtml ); + Matcher suggestedMarcher = SUGGESTED_VALUE_PATTERN.matcher( inputHtml ); + Matcher classMarcher = CLASS_PATTERN.matcher( inputHtml ); index++; @@ -184,14 +177,6 @@ // Get value String value = ""; String hidden = ""; - - ProgramPatientProperty programPatientProperty = programPatientPropertyService.getProgramPatientProperty( program, fixedAttr ); - if (programPatientProperty != null) - { - hidden = programPatientProperty.isHidden() ? "hidden" : ""; - value = programPatientProperty.getDefaultValue(); - } - if ( patient != null ) { Object object = getValueFromPatient( fixedAttr, patient ); @@ -211,6 +196,15 @@ } } } + else if ( suggestedMarcher.find() ) + { + value = suggestedMarcher.group( 2 ); + } + + if ( classMarcher.find() ) + { + hidden = classMarcher.group( 1 ); + } inputHtml = getFixedAttributeField( inputHtml, fixedAttr, value.toString(), hidden, healthWorkers, i18n, index ); @@ -229,15 +223,6 @@ int id = identifierType.getId(); // Get value String value = ""; - String hidden = ""; - - ProgramPatientProperty programPatientProperty = programPatientPropertyService.getProgramPatientProperty( program, identifierType ); - if (programPatientProperty != null) - { - hidden = programPatientProperty.isHidden() ? "hidden" : ""; - value = programPatientProperty.getDefaultValue(); - } - if ( patient != null ) { PatientIdentifier patientIdentifier = identifierService.getPatientIdentifier( identifierType, @@ -252,7 +237,7 @@ inputHtml = " - fixedProperties; - - public Collection getFixedProperties() - { - return fixedProperties; - } - private PatientRegistrationForm registrationForm; public PatientRegistrationForm getRegistrationForm() @@ -194,15 +187,10 @@ else { program = programService.getProgram( programId ); - + identifierTypes.addAll( programPatientPropertyService.getPatientIdentifierTypes( program ) ); attributes.addAll( programPatientPropertyService.getPatientAttributes( program ) ); - fixedProperties = programPatientPropertyService.getPatientProperties( program ); - if ( fixedProperties == null ) - { - fixedProperties = new HashSet(); - } - + registrationForm = patientRegistrationFormService.getPatientRegistrationForm( program ); } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java 2013-09-27 07:43:07 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java 2013-09-27 11:10:25 +0000 @@ -483,6 +483,7 @@ } else { + programPatientProperty.setProgram( program ); programPatientProperty.setHidden( hiddens.get( index ) ); programPatientProperty.setDefaultValue( defaultValues.get( index ) ); programPatientProperty.setSortOrder( index ); @@ -508,6 +509,7 @@ } else { + programPatientProperty.setProgram( program ); programPatientProperty.setHidden( hiddens.get( index ) ); programPatientProperty.setDefaultValue( defaultValues.get( index ) ); programPatientProperty.setSortOrder( index ); @@ -529,11 +531,12 @@ } else { + programPatientProperty.setProgram( program ); programPatientProperty.setHidden( hiddens.get( index ) ); programPatientProperty.setDefaultValue( defaultValues.get( index ) ); programPatientProperty.setSortOrder( index ); programPatientPropertyService.updateProgramPatientProperty( programPatientProperty ); - + removeProgramProperties.remove( programPatientProperty ); } }