|
44 | 44 |
|
45 | 45 | import com.auth0.jwt.internal.org.apache.commons.lang3.StringUtils; |
46 | 46 |
|
| 47 | +import com.google.i18n.phonenumbers.NumberParseException; |
| 48 | +import com.google.i18n.phonenumbers.PhoneNumberUtil; |
| 49 | +import com.google.i18n.phonenumbers.Phonenumber; |
47 | 50 | import de.symeda.sormas.api.Disease; |
48 | 51 | import de.symeda.sormas.api.caze.CaseCriteria; |
49 | 52 | import de.symeda.sormas.api.caze.CaseDataDto; |
@@ -282,7 +285,18 @@ public JournalPersonDto getPersonForJournal(String uuid) { |
282 | 285 | JournalPersonDto exportPerson = new JournalPersonDto(); |
283 | 286 | exportPerson.setUuid(detailedPerson.getUuid()); |
284 | 287 | exportPerson.setEmailAddress(detailedPerson.getEmailAddress()); |
285 | | - exportPerson.setPhone(detailedPerson.getPhone()); |
| 288 | + if (configFacade.getPatientDiaryConfig().getUrl() != null) { |
| 289 | + try { |
| 290 | + PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); |
| 291 | + Phonenumber.PhoneNumber numberProto = phoneUtil.parse(detailedPerson.getPhone(), "DE"); |
| 292 | + String internationalPhone = phoneUtil.format(numberProto, PhoneNumberUtil.PhoneNumberFormat.INTERNATIONAL); |
| 293 | + exportPerson.setPhone(internationalPhone); |
| 294 | + } catch (NumberParseException e) { |
| 295 | + exportPerson.setPhone(detailedPerson.getPhone()); |
| 296 | + } |
| 297 | + } else { |
| 298 | + exportPerson.setPhone(detailedPerson.getPhone()); |
| 299 | + } |
286 | 300 | exportPerson.setPseudonymized(detailedPerson.isPseudonymized()); |
287 | 301 | exportPerson.setFirstName(detailedPerson.getFirstName()); |
288 | 302 | exportPerson.setLastName(detailedPerson.getLastName()); |
|
0 commit comments