From 3dda4b36adaaa85c2b67c19fdd35811e86431795 Mon Sep 17 00:00:00 2001 From: SebaMutuku <36365043+SebaMutuku@users.noreply.github.com> Date: Tue, 27 Sep 2022 20:02:54 +0300 Subject: [PATCH 01/10] Addition of user details to shared Prefs --- gradle.properties | 2 +- .../java/org/smartregister/AllConstants.java | 1 + .../repository/AllSharedPreferences.java | 8 +++++ .../smartregister/service/UserService.java | 29 ++++++++++++------- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/gradle.properties b/gradle.properties index 113d17f99..772b3ba94 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=6.0.0-BETA2-SNAPSHOT +VERSION_NAME=6.0.2-BETA-SNAPSHOT VERSION_CODE=1 GROUP=org.smartregister POM_SETTING_DESCRIPTION=OpenSRP Client Core Application diff --git a/opensrp-core/src/main/java/org/smartregister/AllConstants.java b/opensrp-core/src/main/java/org/smartregister/AllConstants.java index b44ec988b..7194ab077 100644 --- a/opensrp-core/src/main/java/org/smartregister/AllConstants.java +++ b/opensrp-core/src/main/java/org/smartregister/AllConstants.java @@ -46,6 +46,7 @@ public class AllConstants { public static final String DEFAULT_TEAM_PREFIX = "dfltTeam-"; public static final String DEFAULT_TEAM_ID_PREFIX = "dfltTeamId-"; public static final String USER_LOCALITY_ID_PREFIX = "userLoc-"; + public static final String USER_ID_PREFIX = "userId-"; public static final String PIONEER_USER = "pioneerUser"; public static final String LANGUAGE_PREFERENCE_KEY = "locale"; public static final String CURRENT_LOCALITY = "current_locality"; diff --git a/opensrp-core/src/main/java/org/smartregister/repository/AllSharedPreferences.java b/opensrp-core/src/main/java/org/smartregister/repository/AllSharedPreferences.java index dc6372a31..2fb302904 100644 --- a/opensrp-core/src/main/java/org/smartregister/repository/AllSharedPreferences.java +++ b/opensrp-core/src/main/java/org/smartregister/repository/AllSharedPreferences.java @@ -398,5 +398,13 @@ public void updateLastAuthenticationHttpStatus(int httpStatus) { public int getLastAuthenticationHttpStatus() { return preferences.getInt(LAST_AUTHENTICATION_HTTP_STATUS, 0); } + + public void saveUserId(String username, String userId) { + preferences.edit().putString(AllConstants.USER_ID_PREFIX + username, userId).apply(); + } + + public String getUserId(String userName) { + return StringUtils.isNotBlank(userName) ? preferences.getString(AllConstants.USER_ID_PREFIX + userName, null) : ""; + } } diff --git a/opensrp-core/src/main/java/org/smartregister/service/UserService.java b/opensrp-core/src/main/java/org/smartregister/service/UserService.java index 3a80462cd..80f701c9c 100644 --- a/opensrp-core/src/main/java/org/smartregister/service/UserService.java +++ b/opensrp-core/src/main/java/org/smartregister/service/UserService.java @@ -1,5 +1,16 @@ package org.smartregister.service; +import static org.smartregister.AllConstants.ENGLISH_LANGUAGE; +import static org.smartregister.AllConstants.ENGLISH_LOCALE; +import static org.smartregister.AllConstants.JURISDICTION_IDS; +import static org.smartregister.AllConstants.KANNADA_LANGUAGE; +import static org.smartregister.AllConstants.KANNADA_LOCALE; +import static org.smartregister.AllConstants.OPENSRP_AUTH_USER_URL_PATH; +import static org.smartregister.AllConstants.OPENSRP_LOCATION_URL_PATH; +import static org.smartregister.AllConstants.OPERATIONAL_AREAS; +import static org.smartregister.AllConstants.ORGANIZATION_IDS; +import static org.smartregister.event.Event.ON_LOGOUT; + import android.annotation.TargetApi; import android.os.Build; import android.os.Bundle; @@ -63,17 +74,6 @@ import timber.log.Timber; -import static org.smartregister.AllConstants.ENGLISH_LANGUAGE; -import static org.smartregister.AllConstants.ENGLISH_LOCALE; -import static org.smartregister.AllConstants.JURISDICTION_IDS; -import static org.smartregister.AllConstants.KANNADA_LANGUAGE; -import static org.smartregister.AllConstants.KANNADA_LOCALE; -import static org.smartregister.AllConstants.OPENSRP_AUTH_USER_URL_PATH; -import static org.smartregister.AllConstants.OPENSRP_LOCATION_URL_PATH; -import static org.smartregister.AllConstants.OPERATIONAL_AREAS; -import static org.smartregister.AllConstants.ORGANIZATION_IDS; -import static org.smartregister.event.Event.ON_LOGOUT; - public class UserService { private static final String KEYSTORE = "AndroidKeyStore"; private static final String CIPHER = "RSA/ECB/PKCS1Padding"; @@ -404,6 +404,7 @@ public void processLoginResponseDataForUser(String userName, LoginResponseData u saveJurisdictions(userInfo.jurisdictions); saveJurisdictionIds(userInfo.jurisdictionIds); saveOrganizations(getUserTeam(userInfo)); + saveUserId(userName, userInfo.user.getBaseEntityId()); if (loginSuccessful && (StringUtils.isBlank(getUserDefaultLocationId(userInfo)) || StringUtils.isNotBlank(allSharedPreferences.fetchDefaultLocalityId(username))) && @@ -848,4 +849,10 @@ public byte[] getGroupId(String userName, KeyStore.PrivateKeyEntry privateKeyEnt } return null; } + + public void saveUserId(String userName, String baseEntityId) { + if (userName != null) { + allSharedPreferences.saveUserId(userName, baseEntityId); + } + } } From d041742b4517f76b24e8e8f439a629f6a8be8171 Mon Sep 17 00:00:00 2001 From: SebaMutuku <36365043+SebaMutuku@users.noreply.github.com> Date: Tue, 27 Sep 2022 20:03:33 +0300 Subject: [PATCH 02/10] Addition of user details to shared Prefs --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 772b3ba94..619c9fd36 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=6.0.2-BETA-SNAPSHOT +VERSION_NAME=6.0.2-SNAPSHOT VERSION_CODE=1 GROUP=org.smartregister POM_SETTING_DESCRIPTION=OpenSRP Client Core Application From b0f0ee9a8b92fd014827576d5d6b7013c372f001 Mon Sep 17 00:00:00 2001 From: SebaMutuku <36365043+SebaMutuku@users.noreply.github.com> Date: Thu, 29 Sep 2022 16:54:15 +0300 Subject: [PATCH 03/10] saveProviderBaseEntityIdOnSharedPref --- gradle.properties | 2 +- .../java/org/smartregister/service/UserServiceTest.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 619c9fd36..772b3ba94 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=6.0.2-SNAPSHOT +VERSION_NAME=6.0.2-BETA-SNAPSHOT VERSION_CODE=1 GROUP=org.smartregister POM_SETTING_DESCRIPTION=OpenSRP Client Core Application diff --git a/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java b/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java index efb916d08..7a3eac984 100644 --- a/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java +++ b/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java @@ -373,5 +373,11 @@ public void testIsUserInPioneerGroupShouldReturnFalseForOthers() throws Exceptio assertFalse(userService.isUserInPioneerGroup("john")); } - + @Test + public void saveProviderBaseEntityIdOnSharedPref() { + String providerBaseEntityId = "00ab-88dc-ea11-8471-ad90"; + String providerName = "provider"; + userService.saveUserId(providerName, providerBaseEntityId); + Mockito.verify(userService).saveUserId(providerName, providerBaseEntityId); + } } \ No newline at end of file From b78c9d4b7638721218af92290ab308bc0e84ccdc Mon Sep 17 00:00:00 2001 From: SebaMutuku <36365043+SebaMutuku@users.noreply.github.com> Date: Thu, 29 Sep 2022 16:54:53 +0300 Subject: [PATCH 04/10] saveProviderBaseEntityIdOnSharedPref --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 772b3ba94..619c9fd36 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=6.0.2-BETA-SNAPSHOT +VERSION_NAME=6.0.2-SNAPSHOT VERSION_CODE=1 GROUP=org.smartregister POM_SETTING_DESCRIPTION=OpenSRP Client Core Application From 98031b733c3083df232aa5944d72da59fa8e6366 Mon Sep 17 00:00:00 2001 From: SebaMutuku <36365043+SebaMutuku@users.noreply.github.com> Date: Fri, 30 Sep 2022 11:13:57 +0300 Subject: [PATCH 05/10] Codacy updates --- .../test/java/org/smartregister/service/UserServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java b/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java index 7a3eac984..6bafa880a 100644 --- a/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java +++ b/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java @@ -378,6 +378,6 @@ public void saveProviderBaseEntityIdOnSharedPref() { String providerBaseEntityId = "00ab-88dc-ea11-8471-ad90"; String providerName = "provider"; userService.saveUserId(providerName, providerBaseEntityId); - Mockito.verify(userService).saveUserId(providerName, providerBaseEntityId); + verify(userService).saveUserId(providerName, providerBaseEntityId); } } \ No newline at end of file From 2b450bcc142f9ebea621eca114f94ffa7c8f85f9 Mon Sep 17 00:00:00 2001 From: SebaMutuku <36365043+SebaMutuku@users.noreply.github.com> Date: Fri, 30 Sep 2022 11:16:54 +0300 Subject: [PATCH 06/10] Codacy updates --- .../test/java/org/smartregister/service/UserServiceTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java b/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java index efb916d08..9e50519b5 100644 --- a/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java +++ b/opensrp-core/src/test/java/org/smartregister/service/UserServiceTest.java @@ -18,7 +18,6 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; -import org.mockito.Mockito; import org.powermock.reflect.Whitebox; import org.robolectric.util.ReflectionHelpers; import org.smartregister.BaseUnitTest; @@ -188,7 +187,7 @@ public void shouldRegisterANewUser() { @Test public void shouldDeleteDataAndSettingsWhenLogoutHappens() throws Exception { SyncConfiguration syncConfiguration = mock(SyncConfiguration.class); - Mockito.doReturn(false).when(syncConfiguration).clearDataOnNewTeamLogin(); + doReturn(false).when(syncConfiguration).clearDataOnNewTeamLogin(); ReflectionHelpers.setField(CoreLibrary.getInstance(), "syncConfiguration", syncConfiguration); Whitebox.setInternalState(drishtiApplication, "password", password); From 1284c31889f590fdc0e0ade6b5e1805ad16005f0 Mon Sep 17 00:00:00 2001 From: vend Date: Wed, 5 Oct 2022 12:19:21 +0500 Subject: [PATCH 07/10] issue 906 added translated object parsing --- gradle.properties | 2 +- .../java/org/smartregister/AllConstants.java | 1 + .../org/smartregister/util/JsonFormUtils.java | 2 +- .../main/java/org/smartregister/util/Utils.java | 16 ++++++++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 113d17f99..7d4e0265f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=6.0.0-BETA2-SNAPSHOT +VERSION_NAME=6.0.0-BETA3-SNAPSHOT VERSION_CODE=1 GROUP=org.smartregister POM_SETTING_DESCRIPTION=OpenSRP Client Core Application diff --git a/opensrp-core/src/main/java/org/smartregister/AllConstants.java b/opensrp-core/src/main/java/org/smartregister/AllConstants.java index b44ec988b..1159abdc9 100644 --- a/opensrp-core/src/main/java/org/smartregister/AllConstants.java +++ b/opensrp-core/src/main/java/org/smartregister/AllConstants.java @@ -135,6 +135,7 @@ public class AllConstants { public static final String OPENMRS_ATTRIBUTES = "openmrs_attributes"; public static final String VALUE_OPENMRS_ATTRIBUTES = "value_openmrs_attributes"; public static final String SECONDARY_VALUE = "secondary_value"; + public static final String VALUE = "value"; public static final String EXPANSION_PANEL = "expansion_panel"; public static final String SPINNER = "spinner"; public static final String ROWID = "rowid"; diff --git a/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java b/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java index b75308717..872b14575 100644 --- a/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java +++ b/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java @@ -534,7 +534,7 @@ private static void createObservation(Event e, JSONObject jsonObject, String val List vall = new ArrayList<>(); String formSubmissionField = getString(jsonObject, KEY); - String obsValue = value; + String obsValue = Utils.extractTranslatableValue(value); String dataType = getString(jsonObject, OPENMRS_DATA_TYPE); if (StringUtils.isBlank(dataType)) { diff --git a/opensrp-core/src/main/java/org/smartregister/util/Utils.java b/opensrp-core/src/main/java/org/smartregister/util/Utils.java index 808e695ff..0b11246ef 100644 --- a/opensrp-core/src/main/java/org/smartregister/util/Utils.java +++ b/opensrp-core/src/main/java/org/smartregister/util/Utils.java @@ -62,6 +62,7 @@ import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.Years; +import org.json.JSONObject; import org.smartregister.AllConstants; import org.smartregister.CoreLibrary; import org.smartregister.R; @@ -1023,4 +1024,19 @@ public static String toStringNullable(@Nullable Object value) { public String getName() { return getPrefferedName(); } + + public static String extractTranslatableValue(String value) + { + try { + if (value.startsWith("{") && value.endsWith("}")) { + JSONObject valueObject = new JSONObject(value); + return valueObject.getString(AllConstants.VALUE); + } + } + catch (Exception e) + { + Timber.e(e); + } + return value; + } } \ No newline at end of file From b6809fbede64c299ec302adf77111856d397062c Mon Sep 17 00:00:00 2001 From: vend Date: Wed, 5 Oct 2022 13:22:01 +0500 Subject: [PATCH 08/10] updated the test for extract TranslatableValue --- .../org/smartregister/util/UtilsTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java b/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java index 1b3d42c5b..cecb1aa13 100644 --- a/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java +++ b/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java @@ -42,12 +42,15 @@ import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.joda.time.Years; +import org.json.JSONException; +import org.json.JSONObject; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.robolectric.util.ReflectionHelpers; +import org.smartregister.AllConstants; import org.smartregister.BaseRobolectricUnitTest; import org.smartregister.CoreLibrary; import org.smartregister.SyncFilter; @@ -733,5 +736,22 @@ public void testComposeApiCallParamsStringWithMultipleParamValues() { apiParams.add(Pair.create("serverVersion", "21")); assertEquals("&identifier=global_configs&serverVersion=21", Utils.composeApiCallParamsString(apiParams)); } + + @Test + public void testExtractTrabslatableValue() throws JSONException + { + JSONObject object = new JSONObject(); + String value = "testValue"; + object.put(AllConstants.VALUE,value); + object.put (AllConstants.TEXT , AllConstants.TEXT); + + // testing with Json Object + String result = Utils.extractTranslatableValue(object.toString()); + Assert.assertEquals(result,value); + // testing backward compatibility. + String result2 = Utils.extractTranslatableValue(value); + Assert.assertEquals(result2,value); + + } } From 987c3bb26d6495c9503b91a58477bc00a1740232 Mon Sep 17 00:00:00 2001 From: vend Date: Wed, 5 Oct 2022 13:49:42 +0500 Subject: [PATCH 09/10] removed the unnessary Assert ref --- .../src/test/java/org/smartregister/util/UtilsTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java b/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java index cecb1aa13..41fc50626 100644 --- a/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java +++ b/opensrp-core/src/test/java/org/smartregister/util/UtilsTest.java @@ -747,10 +747,10 @@ public void testExtractTrabslatableValue() throws JSONException // testing with Json Object String result = Utils.extractTranslatableValue(object.toString()); - Assert.assertEquals(result,value); + assertEquals(result,value); // testing backward compatibility. String result2 = Utils.extractTranslatableValue(value); - Assert.assertEquals(result2,value); + assertEquals(result2,value); } } From 1067621d5ffd623db77c50a110a9b72db8239436 Mon Sep 17 00:00:00 2001 From: vend Date: Tue, 11 Oct 2022 11:16:45 +0500 Subject: [PATCH 10/10] added fixes for the extended radio buttons not addeing humab readable values --- .../java/org/smartregister/util/JsonFormUtils.java | 9 ++++++++- .../src/main/java/org/smartregister/util/Utils.java | 11 +++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java b/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java index 872b14575..523071e53 100644 --- a/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java +++ b/opensrp-core/src/main/java/org/smartregister/util/JsonFormUtils.java @@ -353,7 +353,14 @@ private static void createObsFromPopUpValues(Event event, JSONObject jsonObject, popupJson.put(KEY, secondaryValueKey); popupJson.put(OPENMRS_ENTITY, CONCEPT); popupJson.put(OPENMRS_ENTITY_ID, parentOpenMRSAttributes.getString(OPENMRS_ENTITY_ID)); - popupJson.put(VALUE, valueOpenMRSAttribute.getString(OPENMRS_ENTITY_ID)); + if(valueOpenMRSAttribute.has(VALUE)) + popupJson.put(VALUE, valueOpenMRSAttribute.getString(VALUE)); + else + popupJson.put(VALUE, valueOpenMRSAttribute.getString(OPENMRS_ENTITY_ID)); + if(valueOpenMRSAttribute.has(TEXT)) + popupJson.put(TEXT,valueOpenMRSAttribute.getString(TEXT)); + if(valueOpenMRSAttribute.has(OPTIONS_FIELD_NAME)) + popupJson.put(OPTIONS_FIELD_NAME,valueOpenMRSAttribute.getJSONArray(OPTIONS_FIELD_NAME)); popupJson.put(AllConstants.TYPE, secondaryValueType); if (AllConstants.NATIVE_RADIO.equals(secondaryValueType) || diff --git a/opensrp-core/src/main/java/org/smartregister/util/Utils.java b/opensrp-core/src/main/java/org/smartregister/util/Utils.java index 0b11246ef..c50cdcf42 100644 --- a/opensrp-core/src/main/java/org/smartregister/util/Utils.java +++ b/opensrp-core/src/main/java/org/smartregister/util/Utils.java @@ -1025,18 +1025,17 @@ public String getName() { return getPrefferedName(); } - public static String extractTranslatableValue(String value) - { - try { - if (value.startsWith("{") && value.endsWith("}")) { + public static String extractTranslatableValue(String value) { + if (value.startsWith("{") && value.endsWith("}")) { + try { JSONObject valueObject = new JSONObject(value); return valueObject.getString(AllConstants.VALUE); - } } - catch (Exception e) + catch(Exception e) { Timber.e(e); } + } return value; } } \ No newline at end of file