=== 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-03 06:39:59 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationFormService.java 2013-09-27 07:43:07 +0000
@@ -59,10 +59,6 @@
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 04:43:25 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramPatientProperty.java 2013-09-27 07:43:07 +0000
@@ -54,7 +54,7 @@
private String defaultValue;
- private boolean hidden;
+ private boolean hidden = false;
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-06 09:34:21 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java 2013-09-27 07:43:07 +0000
@@ -39,6 +39,8 @@
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;
@@ -98,6 +100,13 @@
this.attributeValueService = attributeValueService;
}
+ private ProgramPatientPropertyService programPatientPropertyService;
+
+ public void setProgramPatientPropertyService( ProgramPatientPropertyService programPatientPropertyService )
+ {
+ this.programPatientPropertyService = programPatientPropertyService;
+ }
+
// -------------------------------------------------------------------------
// PatientRegistrationForm implementation
// -------------------------------------------------------------------------
@@ -165,8 +174,6 @@
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++;
@@ -177,6 +184,14 @@
// 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 );
@@ -196,15 +211,6 @@
}
}
}
- 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 );
@@ -223,6 +229,15 @@
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,
@@ -237,7 +252,7 @@
inputHtml = "
+
fixedProperties;
+
+ public Collection getFixedProperties()
+ {
+ return fixedProperties;
+ }
+
private PatientRegistrationForm registrationForm;
public PatientRegistrationForm getRegistrationForm()
@@ -187,10 +194,15 @@
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 04:43:25 +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 07:43:07 +0000
@@ -483,7 +483,6 @@
}
else
{
- programPatientProperty.setProgram( program );
programPatientProperty.setHidden( hiddens.get( index ) );
programPatientProperty.setDefaultValue( defaultValues.get( index ) );
programPatientProperty.setSortOrder( index );
@@ -509,7 +508,6 @@
}
else
{
- programPatientProperty.setProgram( program );
programPatientProperty.setHidden( hiddens.get( index ) );
programPatientProperty.setDefaultValue( defaultValues.get( index ) );
programPatientProperty.setSortOrder( index );
@@ -531,12 +529,11 @@
}
else
{
- programPatientProperty.setProgram( program );
programPatientProperty.setHidden( hiddens.get( index ) );
programPatientProperty.setDefaultValue( defaultValues.get( index ) );
programPatientProperty.setSortOrder( index );
programPatientPropertyService.updateProgramPatientProperty( programPatientProperty );
-
+
removeProgramProperties.remove( programPatientProperty );
}
}