From 32aaecfd063a906c0e449e9e54b289f01bf968f2 Mon Sep 17 00:00:00 2001 From: Sachin s p <52343650+SachinPremkumar@users.noreply.github.com> Date: Wed, 10 Jan 2024 10:25:26 +0530 Subject: [PATCH] [RCF-334] Document type dropdowns should be display in selected languages (#235) * new ui changes Signed-off-by: Sachin S P * new ui changes Signed-off-by: Sachin S P * new ui changes Signed-off-by: Sachin S P * some ui changes Signed-off-by: Sachin S P * ui added Signed-off-by: Sachin S P * ui changes Signed-off-by: Sachin S P * ui changes Signed-off-by: Sachin S P * document upload screen new ui updated Signed-off-by: Sachin S P * localazation added Signed-off-by: Sachin S P * document dropdown values in selected language Signed-off-by: Sachin S P * change the method name and null handle Signed-off-by: Sachin S P * changed variable name Signed-off-by: Sachin S P * changed variable name Signed-off-by: Sachin S P --------- Signed-off-by: Sachin S P Co-authored-by: Sachin S P --- .../dao/ApplicantValidDocumentDao.java | 3 +++ .../ApplicantValidDocRepository.java | 24 +++++++++++++++---- lib/l10n/app_fr.arb | 2 +- .../widgets/document_upload_control.dart | 4 ++-- lib/utils/app_style.dart | 2 +- 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/dao/ApplicantValidDocumentDao.java b/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/dao/ApplicantValidDocumentDao.java index 023f354fb..59402b10b 100644 --- a/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/dao/ApplicantValidDocumentDao.java +++ b/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/dao/ApplicantValidDocumentDao.java @@ -17,6 +17,9 @@ public interface ApplicantValidDocumentDao { @Query("select distinct doc_type_code from applicant_valid_doc where doc_cat_code=:docCategoryCode") List findAllDocTypesByDocCategory(String docCategoryCode); + @Query("select name from document_type where code=:code and lang_code=:langCode") + List findAllDocTypesByLanguageCode(String code,String langCode); + @Insert(onConflict = OnConflictStrategy.REPLACE) void insert(ApplicantValidDocument applicantValidDocument); } diff --git a/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/repository/ApplicantValidDocRepository.java b/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/repository/ApplicantValidDocRepository.java index b0962cd91..c902f524d 100644 --- a/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/repository/ApplicantValidDocRepository.java +++ b/android/clientmanager/src/main/java/io/mosip/registration/clientmanager/repository/ApplicantValidDocRepository.java @@ -6,6 +6,8 @@ import org.json.JSONObject; import javax.inject.Inject; + +import java.util.ArrayList; import java.util.List; public class ApplicantValidDocRepository { @@ -18,11 +20,23 @@ public ApplicantValidDocRepository(ApplicantValidDocumentDao applicantValidDocum } public List getDocumentTypes(String applicantType, String categoryCode, String langCode) { - if (applicantType == null) - return this.applicantValidDocumentDao.findAllDocTypesByDocCategory(categoryCode); - - return this.applicantValidDocumentDao.findAllDocTypesByDocCategoryAndApplicantType(applicantType, - categoryCode); + List docTypeList; + ArrayList documentList = new ArrayList<>(); + if (applicantType == null) { + docTypeList = this.applicantValidDocumentDao.findAllDocTypesByDocCategory(categoryCode); + }else { + docTypeList = this.applicantValidDocumentDao.findAllDocTypesByDocCategoryAndApplicantType(applicantType, + categoryCode); + } + docTypeList.forEach((v) -> { + if(v!=null) { + List docListByLang = this.applicantValidDocumentDao.findAllDocTypesByLanguageCode(v, langCode); + if (docListByLang != null && !docListByLang.isEmpty()) { + documentList.add(docListByLang.get(0)); + } + } + }); + return documentList; } public void saveApplicantValidDocument(JSONObject jsonObject, String defaultAppTypeCode) throws JSONException { diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index ca99d69cb..f40f68f53 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -120,7 +120,7 @@ "notificationLanguage": "{language, select, eng{Notification Languages} ara{لغات الإخطار} fra{Langues de notification} hin{अधिसूचना भाषाएँ} kan{ಅಧಿಸೂಚನೆ ಭಾಷೆಗಳು} tam{அறிவிப்பு மொழிகள்} other{Notification Languages}}", "@notificationLanguage": { "description": "Notification Language Label", - "placeholders": { + "placeholders": { "language": { "type": "String" } diff --git a/lib/ui/process_ui/widgets/document_upload_control.dart b/lib/ui/process_ui/widgets/document_upload_control.dart index 16429d010..1e35dcc70 100644 --- a/lib/ui/process_ui/widgets/document_upload_control.dart +++ b/lib/ui/process_ui/widgets/document_upload_control.dart @@ -231,7 +231,7 @@ class _DocumentUploadControlState extends State { children: [ FutureBuilder( future: _getDocumentValues( - widget.field.subType!, "eng", null), + widget.field.subType!, lang, null), builder: (BuildContext context, AsyncSnapshot> snapshot) { return Card( @@ -468,7 +468,7 @@ class _DocumentUploadControlState extends State { Expanded( child: FutureBuilder( future: _getDocumentValues( - widget.field.subType!, "eng", null), + widget.field.subType!, lang, null), builder: (BuildContext context, AsyncSnapshot> snapshot) { return Card( diff --git a/lib/utils/app_style.dart b/lib/utils/app_style.dart index e3de8b8df..a2c2fb6b6 100644 --- a/lib/utils/app_style.dart +++ b/lib/utils/app_style.dart @@ -291,7 +291,7 @@ abstract class AppStyle { color: appWhite, letterSpacing: 0.5, ); - + static TextStyle tabletPortraitCommunityRegClientText = const TextStyle( fontWeight: FontWeight.bold, fontSize: 36,