You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ra...@apache.org on 2018/09/15 20:27:48 UTC

[fineract-cn-mobile] branch development updated: Fix customerDetails and Account Section crash

This is an automated email from the ASF dual-hosted git repository.

rajanmaurya154 pushed a commit to branch development
in repository https://gitbox.apache.org/repos/asf/fineract-cn-mobile.git


The following commit(s) were added to refs/heads/development by this push:
     new 7b44bf3  Fix customerDetails and Account Section crash
7b44bf3 is described below

commit 7b44bf3776287760ee57cda29842c29be63e651e
Author: dilpreet96 <di...@gmail.com>
AuthorDate: Sat Sep 15 14:52:24 2018 +0530

    Fix customerDetails and Account Section crash
---
 .../fineract/ui/online/DashboardActivity.java      |  1 +
 .../accounting/accounts/AccountsPresenter.kt       |  9 +++-
 .../customerdetails/CustomerDetailsContract.java   |  2 +-
 .../customerdetails/CustomerDetailsFragment.java   | 49 +++++++++++++++++++++-
 .../customerdetails/CustomerDetailsPresenter.java  |  2 +-
 5 files changed, 58 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java b/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java
index c3c401e..6c00694 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java
+++ b/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java
@@ -121,6 +121,7 @@ public class DashboardActivity extends FineractBaseActivity implements
                 break;
             case R.id.item_accounts:
                 replaceFragment(AccountsFragment.Companion.newInstance(), true, R.id.container);
+                break;
             case R.id.item_teller:
                 replaceFragment(TellerFragment.Companion.newInstance(), true, R.id.container);
                 break;
diff --git a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt
index 870335d..295f2dd 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt
+++ b/app/src/main/java/org/apache/fineract/ui/online/accounting/accounts/AccountsPresenter.kt
@@ -19,6 +19,10 @@ class AccountsPresenter @Inject constructor(@ApplicationContext context: Context
 
     val compositeDisposable: CompositeDisposable = CompositeDisposable()
 
+    override fun attachView(mvpView: AccountContract.View?) {
+        super.attachView(mvpView)
+    }
+
     override fun getAccountsPage() {
         checkViewAttached()
         mvpView.showProgressbar()
@@ -78,5 +82,8 @@ class AccountsPresenter @Inject constructor(@ApplicationContext context: Context
                 }))
     }
 
-
+    override fun detachView() {
+        super.detachView()
+        compositeDisposable.clear()
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsContract.java b/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsContract.java
index 43076ee..7da80c0 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsContract.java
+++ b/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsContract.java
@@ -14,7 +14,7 @@ public interface CustomerDetailsContract {
 
         void showUserInterface();
 
-        void savedCustomerDataForSyncing();
+        void showCustomerDetails(Customer customer);
 
         void showContactDetails(ContactDetail contactDetail);
 
diff --git a/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsFragment.java b/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsFragment.java
index ce85e2e..9336e5f 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsFragment.java
+++ b/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsFragment.java
@@ -16,6 +16,7 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import org.apache.fineract.R;
+import org.apache.fineract.data.models.customer.Address;
 import org.apache.fineract.data.models.customer.ContactDetail;
 import org.apache.fineract.data.models.customer.Customer;
 import org.apache.fineract.ui.base.FineractBaseActivity;
@@ -223,8 +224,52 @@ public class CustomerDetailsFragment extends FineractBaseFragment
     }
 
     @Override
-    public void savedCustomerDataForSyncing() {
-        getActivity().finish();
+    public void showCustomerDetails(Customer customer) {
+        this.customer = customer;
+        clCustomerDetails.setVisibility(View.VISIBLE);
+        layoutError.setVisibility(View.GONE);
+
+        loadCustomerPortrait();
+
+        tvCurrentStatus.setText(customer.getCurrentState().name());
+        StatusUtils.setCustomerStatusIcon(customer.getCurrentState(),
+                ivCurrentStatus, getActivity());
+
+        Address address = customer.getAddress();
+        StringBuilder addressBuilder = new StringBuilder();
+        addressBuilder
+                .append(address.getStreet()).append(", ")
+                .append(address.getCity()).append(", ");
+        if (address.getPostalCode() != null) {
+            addressBuilder.append(address.getPostalCode());
+            addressBuilder.append(", ");
+        }
+        addressBuilder.append(address.getCountry());
+        tvAddress.setText(addressBuilder);
+
+        if (customer.getContactDetails().size() == 0) {
+            tvNoContactDetailsAvailable.setVisibility(View.VISIBLE);
+            tvEmail.setVisibility(View.GONE);
+            tvPhoneNo.setVisibility(View.GONE);
+            tvMobileNo.setVisibility(View.GONE);
+        } else {
+            for (ContactDetail contactDetail : customer.getContactDetails()) {
+                showContactDetails(contactDetail);
+            }
+        }
+
+        tvBirthDay.setText(customer.getDateOfBirth().getYear() + "-" +
+                customer.getDateOfBirth().getMonth() + "-" + customer.getDateOfBirth().getDay());
+
+        String title = customer.getGivenName() + " " + customer.getSurname();
+        String subtitle;
+        if (customer.getAssignedEmployee() == null) {
+            subtitle = getString(R.string.assigned_employee) + " " +
+                    getString(R.string.not_assigned);
+        } else {
+            subtitle = getString(R.string.assigned_employee) + " " + customer.getAssignedEmployee();
+        }
+        showToolbarTitleSubtitle(title, subtitle);
     }
 
     @Override
diff --git a/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsPresenter.java b/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsPresenter.java
index 82c95b1..97072ae 100644
--- a/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsPresenter.java
+++ b/app/src/main/java/org/apache/fineract/ui/online/customers/customerdetails/CustomerDetailsPresenter.java
@@ -58,7 +58,7 @@ public class CustomerDetailsPresenter extends BasePresenter<CustomerDetailsContr
                     @Override
                     public void onNext(Customer customer) {
                         getMvpView().hideProgressbar();
-                        getMvpView().savedCustomerDataForSyncing();
+                        getMvpView().showCustomerDetails(customer);
                     }
 
                     @Override