Skip to content
This repository has been archived by the owner on Jan 11, 2024. It is now read-only.

Commit

Permalink
View Account feature added
Browse files Browse the repository at this point in the history
  • Loading branch information
miPlodder committed Jul 30, 2019
1 parent 2af08b0 commit cafd55a
Show file tree
Hide file tree
Showing 13 changed files with 479 additions and 14 deletions.
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@

<activity android:name=".ui.online.customers.customeractivities.CustomerActivitiesActivity" />

<activity android:name=".ui.online.accounting.accounts.accountdetails.AccountDetailActivity" />

<receiver
android:name=".jobs.JobsReceiver"
android:exported="false">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.apache.fineract.injection.module.ActivityModule;
import org.apache.fineract.ui.offline.CustomerPayloadFragment;
import org.apache.fineract.ui.online.DashboardActivity;
import org.apache.fineract.ui.online.accounting.accounts.AccountsFragment;
import org.apache.fineract.ui.online.accounting.accounts.accountList.AccountsFragment;
import org.apache.fineract.ui.online.accounting.ledgers.LedgerFragment;
import org.apache.fineract.ui.online.customers.createcustomer.customeractivity
.CreateCustomerActivity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.AdapterView
import android.widget.TextView
import kotlinx.android.synthetic.main.item_account.view.*
import org.apache.fineract.R
import org.apache.fineract.data.models.accounts.Account
import org.apache.fineract.injection.ApplicationContext
import org.apache.fineract.ui.base.OnItemClickListener
import org.apache.fineract.utils.DateUtils
import org.apache.fineract.utils.StatusUtils
import javax.inject.Inject
Expand All @@ -20,6 +22,8 @@ class AccountsAdapter @Inject constructor(@ApplicationContext val context: Conte

var accounts: List<Account> = ArrayList()

lateinit var onItemClickListener: OnItemClickListener

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_account, parent, false)
Expand Down Expand Up @@ -55,12 +59,25 @@ class AccountsAdapter @Inject constructor(@ApplicationContext val context: Conte
notifyDataSetChanged()
}

class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun setItemClickListener(onItemClickListener: OnItemClickListener) {
this.onItemClickListener = onItemClickListener
}

inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {

val tvIdentifier: TextView = itemView.tv_account_identifier
val tvModifiedBy: TextView = itemView.tv_modified_by
val tvModifiedOn: TextView = itemView.tv_modified_on
val tvName: TextView = itemView.tv_name
val ivAccountTypeIndicator: AppCompatImageView = itemView.iv_type_indicator

init {
itemView.ll_account.setOnClickListener(this)
}

override fun onClick(v: View?) {
if (onItemClickListener != null)
onItemClickListener.onItemClick(v, adapterPosition)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import org.apache.fineract.ui.base.Toaster;
import org.apache.fineract.ui.offline.CustomerPayloadFragment;
import org.apache.fineract.ui.online.accounting.ledgers.LedgerFragment;
import org.apache.fineract.ui.online.accounting.accounts.AccountsFragment;
import org.apache.fineract.ui.online.accounting.accounts.accountList.AccountsFragment;
import org.apache.fineract.ui.online.customers.customerlist.CustomersFragment;
import org.apache.fineract.ui.online.dashboard.DashboardFragment;
import org.apache.fineract.ui.online.launcher.LauncherActivity;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.apache.fineract.ui.online.accounting.accounts
package org.apache.fineract.ui.online.accounting.accounts.accountList

import org.apache.fineract.data.models.accounts.Account
import org.apache.fineract.ui.base.MvpView
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package org.apache.fineract.ui.online.accounting.accounts
package org.apache.fineract.ui.online.accounting.accounts.accountList

import android.app.SearchManager
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.appcompat.widget.SearchView
import android.text.TextUtils
import android.view.*
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.fragment_accounts.*
import kotlinx.android.synthetic.main.layout_exception_handler.*
Expand All @@ -16,19 +18,22 @@ import org.apache.fineract.data.models.accounts.Account
import org.apache.fineract.ui.adapters.AccountsAdapter
import org.apache.fineract.ui.base.FineractBaseActivity
import org.apache.fineract.ui.base.FineractBaseFragment
import org.apache.fineract.ui.base.OnItemClickListener
import org.apache.fineract.ui.online.accounting.accounts.accountdetails.AccountDetailActivity
import org.apache.fineract.utils.ConstantKeys
import java.util.*
import javax.inject.Inject


class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefreshLayout.OnRefreshListener {
class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefreshLayout.OnRefreshListener, OnItemClickListener {

@Inject
lateinit var accountsPresenter: AccountsPresenter

@Inject
lateinit var accountsAdapter: AccountsAdapter

lateinit var accountList : List<Account>
lateinit var accountList: List<Account>

companion object {
fun newInstance() = AccountsFragment()
Expand All @@ -37,7 +42,7 @@ class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefr
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setHasOptionsMenu(true)
accountList= ArrayList()
accountList = ArrayList()
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
Expand Down Expand Up @@ -71,6 +76,7 @@ class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefr
rvAccount.setHasFixedSize(true)

rvAccount.adapter = accountsAdapter
accountsAdapter.setItemClickListener(this)

swipeContainer.setColorSchemeColors(*activity!!
.resources.getIntArray(R.array.swipeRefreshColors))
Expand Down Expand Up @@ -159,6 +165,16 @@ class AccountsFragment : FineractBaseFragment(), AccountContract.View, SwipeRefr
showFineractErrorUI(getString(R.string.accounts))
}

override fun onItemClick(childView: View?, position: Int) {
var intent = Intent(context, AccountDetailActivity::class.java)
intent.putExtra(ConstantKeys.ACCOUNT, accountList.get(position))
startActivity(intent)
}

override fun onItemLongPress(childView: View?, position: Int) {

}

override fun onDestroyView() {
super.onDestroyView()
accountsPresenter.detachView()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.apache.fineract.ui.online.accounting.accounts
package org.apache.fineract.ui.online.accounting.accounts.accountList

import android.content.Context
import io.reactivex.Observable
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package org.apache.fineract.ui.online.accounting.accounts.accountdetails

import android.os.Bundle
import kotlinx.android.synthetic.main.activity_account_detail.*
import org.apache.fineract.R
import org.apache.fineract.data.models.accounts.Account
import org.apache.fineract.ui.base.FineractBaseActivity
import org.apache.fineract.utils.ConstantKeys

class AccountDetailActivity : FineractBaseActivity() {

lateinit var account: Account

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_account_detail)

account = intent.getParcelableExtra(ConstantKeys.ACCOUNT)
setToolbarTitle(getString(R.string.account_details))
showBackButton()
populateUserInterface()
}

fun populateUserInterface() {
tvType.text = account.type.toString()
tvIdentifier.text = account.identifier
tvName.text = account.name
tvLedger.text = account.ledger
tvState.text = account.state.toString()
tvAlternativeAccountNumber.text = account.alternativeAccountNumber
tvBalance.text = "$ ${account.balance}"
tvReferenceAmount.text = "$ ${account.referenceAccount}"
tvCreateOn.text = account.createdOn
tvCreatedBy.text = account.createdBy
tvLastModifiedBy.text = account.lastModifiedBy
tvLastModifiedOn.text = account.lastModifiedOn

tvHolders.text = "\n"
if (account.holders?.size != 0) {
var accountIterator = account.holders?.iterator()
while (accountIterator!!.hasNext()) {
tvHolders.append("${accountIterator.next()}\n")
}
} else {
tvHolders.append("${getString(R.string.no_holder_found)}\n")
}

tvSignatureAuthorities.text = "\n"
if (account.signatureAuthorities?.size != 0) {
var signatureAuthoritiesIterator = account.signatureAuthorities?.iterator()
while (signatureAuthoritiesIterator!!.hasNext()) {
tvSignatureAuthorities.append("${signatureAuthoritiesIterator.next()}\n")
}
} else {
tvSignatureAuthorities.append("${getString(R.string.no_signature_authorities_found)}\n")
}

}
}
5 changes: 3 additions & 2 deletions app/src/main/java/org/apache/fineract/utils/ConstantKeys.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

/**
* @author Rajan Maurya
* On 27/06/17.
* On 27/06/17.
*/
public class ConstantKeys {

public static final String CUSTOMER_IDENTIFIER = "customer_identifier";
public static final String CUSTOMER_IDENTIFIER = "customer_identifier";
public static final String CUSTOMER_STATUS = "customer_status";
public static final String IS_NEW_CUSTOMER = "is_new_customer";
public static final String CUSTOMER_ACTION = "customer_action";
Expand Down Expand Up @@ -40,4 +40,5 @@ 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 ACCOUNT = "account";
}
Loading

0 comments on commit cafd55a

Please sign in to comment.