Skip to content

Commit 08fa682

Browse files
committed
avniproject/avni-webapp#1354 - default value is calendar for date picker mode. create default values for track location and enable beneficiary mode instead of null.
1 parent 26d87dd commit 08fa682

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

avni-server-api/src/main/java/org/avni/server/domain/UserSettings.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.avni.server.domain;
22

33
import org.avni.server.util.CollectionUtil;
4+
import org.springframework.util.StringUtils;
45

56
import java.util.Arrays;
67
import java.util.List;
@@ -12,16 +13,29 @@ public class UserSettings {
1213
public static final String LOCALE = "locale";
1314
public static final String ENABLE_BENEFICIARY_MODE = "showBeneficiaryMode";
1415
public static final String TRACK_LOCATION = "trackLocation";
15-
public static final List<String> DATE_PICKER_MODE_OPTIONS = Arrays.asList("calendar", "spinner");
16+
public static final String DEFAULT_DATE_PICKER_MODE = "calendar";
17+
public static final String SPINNER_DATE_PICKER_MODE = "spinner";
18+
public static final List<String> DATE_PICKER_MODE_OPTIONS = Arrays.asList(DEFAULT_DATE_PICKER_MODE, SPINNER_DATE_PICKER_MODE);
1619

1720
public UserSettings(JsonObject jsonObject) {
1821
this.jsonObject = jsonObject;
1922
}
2023

2124
public static String createDatePickerMode(String datePickerMode) {
25+
if (StringUtils.isEmpty(datePickerMode)) {
26+
return DEFAULT_DATE_PICKER_MODE;
27+
}
2228
return CollectionUtil.findMatchingIgnoreCase(DATE_PICKER_MODE_OPTIONS, datePickerMode);
2329
}
2430

31+
public static Boolean createTrackLocation(Boolean trackLocation) {
32+
return trackLocation != null && trackLocation;
33+
}
34+
35+
public static Boolean createEnableBeneficiaryMode(Boolean enableBeneficiaryMode) {
36+
return enableBeneficiaryMode != null && enableBeneficiaryMode;
37+
}
38+
2539
public String getIdPrefix() {
2640
return UserSettings.getIdPrefix(this.jsonObject);
2741
}

avni-server-api/src/main/java/org/avni/server/importer/batch/csv/writer/UserAndCatchmentWriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ private void write(Row row) throws IDPException {
159159

160160
user.setSettings(new JsonObject()
161161
.with(UserSettings.LOCALE, locale)
162-
.with(UserSettings.TRACK_LOCATION, trackLocation)
162+
.with(UserSettings.TRACK_LOCATION, UserSettings.createTrackLocation(trackLocation))
163163
.withEmptyCheckAndTrim(UserSettings.DATE_PICKER_MODE, UserSettings.createDatePickerMode(datePickerMode))
164-
.with(UserSettings.ENABLE_BENEFICIARY_MODE, beneficiaryMode)
164+
.with(UserSettings.ENABLE_BENEFICIARY_MODE, UserSettings.createEnableBeneficiaryMode(beneficiaryMode))
165165
.withEmptyCheckAndTrim(UserSettings.ID_PREFIX, idPrefix));
166166

167167
user.setOrganisationId(organisation.getId());

avni-server-api/src/test/java/org/avni/server/importer/batch/csv/writer/UserAndCatchmentWriterIntegrationTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ public void shouldCreateUpdate() throws IDPException {
231231
dataRow(" Bihar, District1, Block11", " Catchment 6", " username8@example", " User 8", " [email protected] ", " 9455509147 ", "Answer 1"),
232232
catchmentCreated(false),
233233
userCreatedDetails(true));
234+
userCreatedDetails(user("username8@example"), datePickerMode("calendar"), language("en"), trackLocation(false), enableBeneficiaryMode(false), userGroup("Everyone"));
234235

235236
// wrong - username, email, phone number, language, track location, date picker mode, enable beneficiary mode
236237
failure(

0 commit comments

Comments
 (0)