diff --git a/app/src/main/java/org/apache/fineract/ui/online/customers/createcustomer/customeractivity/CreateCustomerActivity.java b/app/src/main/java/org/apache/fineract/ui/online/customers/createcustomer/customeractivity/CreateCustomerActivity.java index 27210085..e0a1f21e 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/customers/createcustomer/customeractivity/CreateCustomerActivity.java +++ b/app/src/main/java/org/apache/fineract/ui/online/customers/createcustomer/customeractivity/CreateCustomerActivity.java @@ -51,6 +51,7 @@ public class CreateCustomerActivity extends FineractBaseActivity private Customer customer; private CustomerAction customerAction; private String customerIdentifier; + private String initCustomerStr; @Override protected void onCreate(Bundle savedInstanceState) { @@ -82,6 +83,8 @@ protected void onCreate(Bundle savedInstanceState) { break; case EDIT: setToolbarTitle(getString(R.string.edit_customer)); + initCustomerStr = customer.toString() + .split(ConstantKeys.STRING_SEPARATOR_FROM_CREATEDBY)[0]; break; } @@ -110,7 +113,12 @@ public void onCompleted(View completeButton) { createCustomerPresenter.createCustomer(customer); break; case EDIT: - createCustomerPresenter.updateCustomer(customerIdentifier, customer); + if (customer.toString(). + split(ConstantKeys.STRING_SEPARATOR_FROM_CREATEDBY)[0] != initCustomerStr) { + createCustomerPresenter.updateCustomer(customerIdentifier, customer); + } else { + Toast.makeText(this, "The customer is not edited", Toast.LENGTH_SHORT).show(); + } break; } } diff --git a/app/src/main/java/org/apache/fineract/ui/online/customers/customerpayroll/editcustomerpayroll/EditPayrollActivity.kt b/app/src/main/java/org/apache/fineract/ui/online/customers/customerpayroll/editcustomerpayroll/EditPayrollActivity.kt index e377a602..c94ff1fe 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/customers/customerpayroll/editcustomerpayroll/EditPayrollActivity.kt +++ b/app/src/main/java/org/apache/fineract/ui/online/customers/customerpayroll/editcustomerpayroll/EditPayrollActivity.kt @@ -2,6 +2,7 @@ package org.apache.fineract.ui.online.customers.customerpayroll.editcustomerpayr import android.os.Bundle import android.view.View +import android.widget.Toast import com.stepstone.stepper.StepperLayout import com.stepstone.stepper.VerificationError import kotlinx.android.synthetic.main.activity_edit_payroll.* @@ -20,6 +21,7 @@ class EditPayrollActivity : FineractBaseActivity(), StepperLayout.StepperListene lateinit var payrollConfig: PayrollConfiguration lateinit var customerIdentifier: String + private lateinit var initPayrollStr: String @Inject lateinit var editPayrollPresenter: EditPayrollPresenter @@ -35,7 +37,11 @@ class EditPayrollActivity : FineractBaseActivity(), StepperLayout.StepperListene } override fun onCompleted(completeButton: View?) { - editPayrollPresenter.updatePayrollConfiguration(customerIdentifier, payrollConfig) + if (payrollConfig.toString().split(ConstantKeys.STRING_SEPARATOR_FROM_CREATEDON)[0] != initPayrollStr) { + editPayrollPresenter.updatePayrollConfiguration(customerIdentifier, payrollConfig) + } else { + Toast.makeText(this, "The payroll is not edited", Toast.LENGTH_SHORT).show() + } } override fun onCreate(savedInstanceState: Bundle?) { @@ -47,6 +53,8 @@ class EditPayrollActivity : FineractBaseActivity(), StepperLayout.StepperListene editPayrollPresenter.attachView(this) val payrollConfig = intent.getParcelableExtra(ConstantKeys .PAYROLL_CONFIG) + initPayrollStr = payrollConfig.toString() + .split(ConstantKeys.STRING_SEPARATOR_FROM_CREATEDON)[0] customerIdentifier = intent.getStringExtra(ConstantKeys.CUSTOMER_IDENTIFIER) diff --git a/app/src/main/java/org/apache/fineract/ui/online/groups/creategroup/CreateGroupActivity.kt b/app/src/main/java/org/apache/fineract/ui/online/groups/creategroup/CreateGroupActivity.kt index 00e5a8a7..f161112d 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/groups/creategroup/CreateGroupActivity.kt +++ b/app/src/main/java/org/apache/fineract/ui/online/groups/creategroup/CreateGroupActivity.kt @@ -17,6 +17,7 @@ import org.apache.fineract.ui.base.Toaster import org.apache.fineract.ui.online.groups.GroupAction import org.apache.fineract.ui.online.groups.grouplist.GroupViewModelFactory import org.apache.fineract.ui.online.groups.grouplist.GroupViewModel +import org.apache.fineract.utils.ConstantKeys import org.apache.fineract.utils.Constants import org.apache.fineract.utils.DateUtils import javax.inject.Inject @@ -30,6 +31,8 @@ class CreateGroupActivity : FineractBaseActivity(), StepperLayout.StepperListene private var group = Group() private var groupAction = GroupAction.CREATE + private lateinit var initGroupStr: String + @Inject lateinit var groupViewModelFactory: GroupViewModelFactory @@ -49,6 +52,8 @@ class CreateGroupActivity : FineractBaseActivity(), StepperLayout.StepperListene intent?.extras?.getParcelable(Constants.GROUP)?.let { group = it } + initGroupStr = group.toString() + .split(ConstantKeys.STRING_SEPARATOR_FROM_CREATEDON)[0] } } viewModel = ViewModelProviders.of(this, groupViewModelFactory).get(GroupViewModel::class.java) @@ -97,8 +102,14 @@ class CreateGroupActivity : FineractBaseActivity(), StepperLayout.StepperListene override fun onCompleted(completeButton: View?) { when (groupAction) { - GroupAction.EDIT -> group.identifier?.let { - viewModel.updateGroup(it, group) + GroupAction.EDIT -> { + if (group.toString().split(ConstantKeys.STRING_SEPARATOR_FROM_CREATEDON)[0] != initGroupStr) { + group.identifier?.let { + viewModel.updateGroup(it, group) + } + } else { + Toast.makeText(this, "There is nothing edited in the group", Toast.LENGTH_SHORT).show() + } } GroupAction.CREATE -> viewModel.createGroup(group) } diff --git a/app/src/main/java/org/apache/fineract/utils/ConstantKeys.java b/app/src/main/java/org/apache/fineract/utils/ConstantKeys.java index 028076b8..81a7357d 100644 --- a/app/src/main/java/org/apache/fineract/utils/ConstantKeys.java +++ b/app/src/main/java/org/apache/fineract/utils/ConstantKeys.java @@ -40,4 +40,6 @@ public class ConstantKeys { public static final int PERMISSION_REQUEST_READ_EXTERNAL_STORAGE = 3; public static final String PERMISSIONS_READ_EXTERNAL_STORAGE_STATUS = "read_status"; + public static final String STRING_SEPARATOR_FROM_CREATEDON = ", createdOn"; + public static final String STRING_SEPARATOR_FROM_CREATEDBY = ", createdBy"; }