=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-06-27 05:12:36 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-06-27 07:34:44 +0000 @@ -369,3 +369,4 @@ complete_and_add_new_event = Complete & Add new no_compulsary_data_elements = No compulsary data elements single_event_with_registration = Single event with registration +show_data_entry = Show data entry \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addSingleEventRegistration.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addSingleEventRegistration.vm 2012-06-27 05:12:36 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addSingleEventRegistration.vm 2012-06-27 07:34:44 +0000 @@ -40,7 +40,7 @@

$i18n.getString( "add_new_patient" )

- +
#parse( "/dhis-web-caseentry/patientForm.vm" )
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2012-06-25 02:11:55 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2012-06-27 07:34:44 +0000 @@ -344,4 +344,44 @@ default: return; } +} + + +// ----------------------------------------------------------------------------- +// check duplicate patient +// ----------------------------------------------------------------------------- + +function checkDuplicate( divname ) +{ + $.postUTF8( 'validatePatient.action', + { + fullName: jQuery( '#' + divname + ' [id=fullName]' ).val(), + dobType: jQuery( '#' + divname + ' [id=dobType]' ).val(), + gender: jQuery( '#' + divname + ' [id=gender]' ).val(), + birthDate: jQuery( '#' + divname + ' [id=birthDate]' ).val(), + age: jQuery( '#' + divname + ' [id=age]' ).val() + }, function( xmlObject, divname ) + { + checkDuplicateCompleted( xmlObject, divname ); + }); +} + +function checkDuplicateCompleted( messageElement, divname ) +{ + checkedDuplicate = true; + var type = jQuery(messageElement).find('message').attr('type'); + var message = jQuery(messageElement).find('message').text(); + + if( type == 'success') + { + showSuccessMessage(i18n_no_duplicate_found); + } + if ( type == 'input' ) + { + showWarningMessage(message); + } + else if( type == 'duplicate' ) + { + showListPatientDuplicate( messageElement, true ); + } } \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js 2012-06-25 14:15:51 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js 2012-06-27 07:34:44 +0000 @@ -157,10 +157,14 @@ function saveVal( dataElementId ) { + if( byId('programStageId') == null) return; var programStageId = byId('programStageId').value; + var fieldId = programStageId + '-' + dataElementId + '-val'; var field = byId( fieldId ); + if( field == null) return; + var fieldValue = jQuery.trim( field.value ); var arrData = jQuery( "#" + fieldId ).attr('data').replace('{','').replace('}','').replace(/'/g,"").split(','); @@ -855,6 +859,9 @@ return false; } } + }, + blur: function( event, ui ){ + input.autocomplete( "close" ); } }) .addClass( "ui-widget" ); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/form.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/form.js 2012-06-27 05:12:36 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/form.js 2012-06-27 07:34:44 +0000 @@ -126,7 +126,8 @@ showById('dataRecordingSelectDiv'); hideLoader(); hideById('contentDiv'); - if( getFieldValue('isRegistration') ) + jQuery("#dataRecordingSelectDiv [id=inputCriteria]").show(); + if( getFieldValue('isRegistration') == 'true' ) { jQuery("#dataRecordingSelectDiv [id=inputCriteria]").hide(); var singleProgramId = getFieldValue('programIdAddPatient'); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js 2012-06-27 05:12:36 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js 2012-06-27 07:34:44 +0000 @@ -139,44 +139,6 @@ return params; } -// ----------------------------------------------------------------------------- -// check duplicate patient -// ----------------------------------------------------------------------------- - -function checkDuplicate( divname ) -{ - $.postUTF8( 'validatePatient.action', - { - fullName: jQuery( '#' + divname + ' [id=fullName]' ).val(), - dobType: jQuery( '#' + divname + ' [id=dobType]' ).val(), - gender: jQuery( '#' + divname + ' [id=gender]' ).val(), - birthDate: jQuery( '#' + divname + ' [id=birthDate]' ).val(), - age: jQuery( '#' + divname + ' [id=age]' ).val() - }, function( xmlObject, divname ) - { - checkDuplicateCompleted( xmlObject, divname ); - }); -} - -function checkDuplicateCompleted( messageElement, divname ) -{ - checkedDuplicate = true; - var type = jQuery(messageElement).find('message').attr('type'); - var message = jQuery(messageElement).find('message').text(); - - if( type == 'success') - { - showSuccessMessage(i18n_no_duplicate_found); - } - if ( type == 'input' ) - { - showWarningMessage(message); - } - else if( type == 'duplicate' ) - { - showListPatientDuplicate( messageElement, true ); - } -} /** * Show list patient duplicate by jQuery thickbox plugin * @param rootElement : root element of the response xml === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/singleEvent.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/singleEvent.js 2012-06-27 05:12:36 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/singleEvent.js 2012-06-27 07:34:44 +0000 @@ -47,7 +47,40 @@ function validateData() { - addPatient(); + $("#patientForm :input").attr("disabled", true); + $.ajax({ + type: "POST", + url: 'validatePatient.action', + data: getParamsForDiv('patientForm'), + success: function( data ){ + var type = jQuery(data).find('message').attr('type'); + var message = jQuery(data).find('message').text(); + + if ( type == 'success' ) + { + removeDisabledIdentifier( ); + addPatient(); + } + else + { + $("#patientForm :input").attr("disabled", true); + if ( type == 'error' ) + { + showErrorMessage( i18n_adding_patient_failed + ':' + '\n' + message ); + } + else if ( type == 'input' ) + { + showWarningMessage( message ); + } + else if( type == 'duplicate' ) + { + showListPatientDuplicate(data, false); + } + + $("#patientForm :input").attr("disabled", false); + } + } + }); } function addPatient() @@ -55,7 +88,7 @@ $.ajax({ type: "POST", url: 'addPatient.action', - data: getParamsForDiv('editPatientDiv'), + data: getParamsForDiv('patientForm'), success: function(json) { var patientId = json.message.split('_')[0]; addData( getFieldValue('programIdAddPatient'), patientId ) @@ -80,3 +113,83 @@ return false; } +function showListPatientDuplicate( rootElement, validate ) +{ + var message = jQuery(rootElement).find('message').text(); + var patients = jQuery(rootElement).find('patient'); + + var sPatient = ""; + jQuery( patients ).each( function( i, patient ) + { + sPatient += "
"; + sPatient += "" ; + sPatient += "" ; + sPatient += "" ; + sPatient += "" ; + sPatient += "" ; + sPatient += ""; + + var identifiers = jQuery(patient).find('identifier'); + if( identifiers.length > 0 ) + { + sPatient += ""; + + jQuery( identifiers ).each( function( i, identifier ) + { + sPatient +="" + +"" + +" " + +""; + }); + } + + var attributes = jQuery(patient).find('attribute'); + if( attributes.length > 0 ) + { + sPatient += ""; + + jQuery( attributes ).each( function( i, attribute ) + { + sPatient +="" + +"" + +" " + +""; + }); + } + sPatient += ""; + sPatient += "
" + i18n_patient_system_id + "" + jQuery(patient).find('systemIdentifier').text() + "
" + i18n_patient_full_name + "" + jQuery(patient).find('fullName').text() + "
" + i18n_patient_gender + "" + jQuery(patient).find('gender').text() + "
" + i18n_patient_date_of_birth + "" + jQuery(patient).find('dateOfBirth').text() + "
" + i18n_patient_age + "" + jQuery(patient).find('age').text() + "
" + i18n_patient_phone_number + "" + jQuery(patient).find('phoneNumber').text() + "
" + i18n_patient_identifiers + "
" + jQuery(identifier).find('name').text() + "" + jQuery(identifier).find('value').text() + "
" + i18n_patient_attributes + "
" + jQuery(attribute).find('name').text() + "" + jQuery(attribute).find('value').text() + "
"; + }); + + var result = i18n_duplicate_warning; + if( !validate ) + { + result += ""; + result += "

"; + } + + result += "
" + sPatient; + jQuery('#resultSearchDiv' ).html( result ); + jQuery('#resultSearchDiv' ).dialog({ + title: i18n_duplicated_patient_list, + maximize: true, + closable: true, + modal:true, + overlay:{background:'#000000', opacity:0.1}, + width: 800, + height: 400 + }); +} + +function showEntryFormDiv() +{ + hideById('singleEventForm'); + jQuery("#resultSearchDiv").dialog("close"); +} + +function removeDisabledIdentifier() +{ + jQuery("input.idfield").each(function(){ + if( jQuery(this).is(":disabled")) + jQuery(this).val(""); + }); +} \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/responseDuplicate.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/responseDuplicate.vm 2012-05-29 15:37:40 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/responseDuplicate.vm 2012-06-27 07:34:44 +0000 @@ -1,6 +1,6 @@ $encoder.xmlEncode( $message ) -#foreach( $patient in $patients ) +#foreach( $patient in $patients ) $patient.id $encoder.xmlEncode( $patient.getFullName() ) === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleEventSelect.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleEventSelect.vm 2012-06-27 05:12:36 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleEventSelect.vm 2012-06-27 07:34:44 +0000 @@ -23,6 +23,8 @@
+
+ @@ -31,29 +33,72 @@ #parse( "dhis-web-commons/loader/loader.vm" )