diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java b/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java
index 92a2f948..64be75c9 100644
--- a/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java
+++ b/claimManagement/src/main/java/org/openimis/imisclaims/ClaimActivity.java
@@ -10,7 +10,9 @@
import android.database.Cursor;
import android.inputmethodservice.Keyboard;
import android.os.Bundle;
+import android.text.Editable;
import android.text.InputType;
+import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -93,7 +95,7 @@ public static Intent newIntent(@NonNull Context context, @NonNull String claimUU
RadioButton rbEmergency, rbReferral, rbOther, rbPositive, rbNegative;
ImageButton btnScan;
LinearLayout llFagepFields;
- TextInputLayout ettClaimPrefix, ettGuaranteeNo;
+ TextInputLayout ettClaimPrefix, ettGuaranteeNo, tilCHFID;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -140,6 +142,7 @@ protected void onCreate(Bundle savedInstanceState) {
etVisitType = findViewById(R.id.etVisitType);
ettClaimPrefix = findViewById(R.id.ettClaimPrefix);
ettGuaranteeNo = findViewById(R.id.ettGuaranteeNo);
+ tilCHFID = findViewById(R.id.tilCHFID);
String[] visitTypes = getResources().getStringArray(R.array.visitType);
ArrayAdapter visitTypeAdapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, visitTypes);
@@ -340,6 +343,45 @@ public void onItemClick(AdapterView> adapterView, View view, int position, lon
}
});
}
+
+ etInsureeNumber.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {}
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ int length = s != null ? s.length() : 0;
+ if (length > 0 && length < 12) {
+ tilCHFID.setError(getResources().getString(R.string.minChfIdRequired));
+ } else {
+ tilCHFID.setError(null);
+ }
+ }
+ });
+
+ etClaimPrefix.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
+
+ @Override
+ public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ String program = etProgram.getText().toString();
+ if(program.equals("Cheque Santé") || program.equals("Chèque Santé")){
+ int length = s != null ? s.length() : 0;
+ if (length > 0 && length < 6) {
+ ettClaimPrefix.setError(getResources().getString(R.string.minChequeNumberRequired));
+ } else {
+ ettClaimPrefix.setError(null);
+ }
+ }
+ }
+ });
}
private boolean isIntentReadonly() {
@@ -776,6 +818,9 @@ private boolean isValidData() {
if (etInsureeNumber.getText().length() == 0) {
showValidationDialog(etInsureeNumber, getResources().getString(R.string.MissingCHFID));
return false;
+ } else if(etInsureeNumber.getText().length() < 12){
+ showValidationDialog(etInsureeNumber, getResources().getString(R.string.minChfIdRequired));
+ return false;
}
/*if (!etProgram.getText().toString().equals("VIH")) {
@@ -832,9 +877,13 @@ private boolean isValidData() {
return false;
}
+ String program = etProgram.getText().toString();
if(etClaimPrefix.getText().length() == 0){
showValidationDialog(etClaimPrefix, getResources().getString(R.string.MissingChequeNumber));
return false;
+ } else if((program.equals("Cheque Santé") || program.equals("Chèque Santé")) && etClaimPrefix.length() < 6){
+ showValidationDialog(etClaimPrefix, getResources().getString(R.string.minChequeNumberRequired));
+ return false;
}
if(etClaimCode.getText().length() > 7){
diff --git a/claimManagement/src/main/res/layout/activity_claim.xml b/claimManagement/src/main/res/layout/activity_claim.xml
index fe5f75c1..7d4d8c23 100644
--- a/claimManagement/src/main/res/layout/activity_claim.xml
+++ b/claimManagement/src/main/res/layout/activity_claim.xml
@@ -75,11 +75,13 @@
android:orientation="horizontal">
-
+
+ android:maxLength="20"/>
-
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+ app:errorEnabled="true">
Mise à jour disponible
Vous avez la dernière version
Nouvelle version
+ Le numéro d\'assuré doit contenir minimum 12 caractères
+ Le numéro de chèque doit contenir minimum 6 caractères
\ No newline at end of file
diff --git a/claimManagement/src/main/res/values/strings.xml b/claimManagement/src/main/res/values/strings.xml
index b0a9e031..0129dc24 100644
--- a/claimManagement/src/main/res/values/strings.xml
+++ b/claimManagement/src/main/res/values/strings.xml
@@ -249,4 +249,6 @@
Update available
You have the last version
New version
+ The insuree number must contain at least 12 characters
+ The cheque number must contain at least 6 characters