From: drizea Date: Sat, 7 Jul 2012 10:23:40 +0000 (+0300) Subject: basic fines info finished X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e0708a24faeb3279332d1e8e3a7d5a7f88ff8c02;p=working%2FEvergreen.git basic fines info finished --- diff --git a/Open-ILS/src/Android/bin/EvergreenApp.apk b/Open-ILS/src/Android/bin/EvergreenApp.apk index d1e2135dd4..1aaaa861f3 100644 Binary files a/Open-ILS/src/Android/bin/EvergreenApp.apk and b/Open-ILS/src/Android/bin/EvergreenApp.apk differ diff --git a/Open-ILS/src/Android/bin/classes.dex b/Open-ILS/src/Android/bin/classes.dex index 3a69e92568..bd41d1776e 100644 Binary files a/Open-ILS/src/Android/bin/classes.dex and b/Open-ILS/src/Android/bin/classes.dex differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$color.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$color.class index c610baee1c..76e0d56532 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$color.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$color.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$dimen.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$dimen.class index ecb6dd8c53..20049134a1 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$dimen.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$dimen.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$drawable.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$drawable.class index 44cfa681c9..02e1ab4179 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$drawable.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$drawable.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$id.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$id.class index 63bf8f274e..159dac7bde 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$id.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$id.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$layout.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$layout.class index d2968ba3a5..f35efbb0ab 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$layout.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$layout.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$string.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$string.class index 5af3b3a748..41d235ce62 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$string.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$string.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$style.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$style.class index fd2bb4dfc1..b2eb689cf5 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$style.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/R$style.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/accountAccess/AccountAccess.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/accountAccess/AccountAccess.class index c4a646ef80..4ee964dd59 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/accountAccess/AccountAccess.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/accountAccess/AccountAccess.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Info.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Info.class index 0a04014c5d..3da2f1c4d2 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Info.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Info.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Simple.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Simple.class index 735df0901c..54144a67cb 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Simple.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Simple.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView$SearchArrayAdapter.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView$SearchArrayAdapter.class index ba15cccd65..6d038e8af9 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView$SearchArrayAdapter.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView$SearchArrayAdapter.class differ diff --git a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView.class b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView.class index 32c35ab5a7..e83d611643 100644 Binary files a/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView.class and b/Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView.class differ diff --git a/Open-ILS/src/Android/bin/resources.ap_ b/Open-ILS/src/Android/bin/resources.ap_ index a5362d8c97..cf641d1323 100644 Binary files a/Open-ILS/src/Android/bin/resources.ap_ and b/Open-ILS/src/Android/bin/resources.ap_ differ diff --git a/Open-ILS/src/Android/gen/org/evergreen/android/R.java b/Open-ILS/src/Android/gen/org/evergreen/android/R.java index f1ad2a62da..d55ba86628 100644 --- a/Open-ILS/src/Android/gen/org/evergreen/android/R.java +++ b/Open-ILS/src/Android/gen/org/evergreen/android/R.java @@ -22,6 +22,7 @@ public final class R { /** Defined colors for Evergreen Theme */ public static final int green=0x7f050009; + public static final int red=0x7f05000e; public static final int title_background=0x7f050000; public static final int title_separator=0x7f050008; public static final int title_text=0x7f050001; @@ -52,61 +53,65 @@ public final class R { public static final int account_btn_check_out=0x7f090007; public static final int account_btn_fines=0x7f090009; public static final int account_btn_holds=0x7f090008; - public static final int action_bar=0x7f090014; - public static final int back_button=0x7f090015; - public static final int cancel_hold=0x7f090025; - public static final int cancel_hold_button=0x7f090016; + public static final int action_bar=0x7f090018; + public static final int back_button=0x7f090019; + public static final int cancel_hold=0x7f090029; + public static final int cancel_hold_button=0x7f09001a; public static final int checkout_due_date=0x7f090005; public static final int checkout_items_list=0x7f090001; public static final int checkout_record_author=0x7f090003; public static final int checkout_record_title=0x7f090002; public static final int checkout_renewals_remaining=0x7f090004; - public static final int chose_organisation=0x7f09003a; + public static final int chose_organisation=0x7f09003e; public static final int fined_balance_owed=0x7f090010; + public static final int fines_author=0x7f090014; + public static final int fines_balance_owed=0x7f090013; public static final int fines_overdue_materials_list=0x7f090011; + public static final int fines_status=0x7f090015; + public static final int fines_title=0x7f090012; public static final int fines_total_owned=0x7f09000e; public static final int fines_total_paid=0x7f09000f; - public static final int header=0x7f090012; - public static final int header_title=0x7f090013; - public static final int hold_author=0x7f09001a; - public static final int hold_contact_telephone=0x7f09001c; - public static final int hold_enable_email_notification=0x7f09001e; - public static final int hold_enable_phone_notification=0x7f09001d; - public static final int hold_expiration_date=0x7f090020; - public static final int hold_physical_description=0x7f09001b; - public static final int hold_pickup_location=0x7f09001f; - public static final int hold_recipient=0x7f090018; - public static final int hold_status=0x7f090024; - public static final int hold_suspend_hold=0x7f090021; - public static final int hold_thaw_date=0x7f090027; - public static final int hold_title=0x7f090019; - public static final int holds_item_list=0x7f090023; - public static final int holds_number=0x7f090022; + public static final int header=0x7f090016; + public static final int header_title=0x7f090017; + public static final int hold_author=0x7f09001e; + public static final int hold_contact_telephone=0x7f090020; + public static final int hold_enable_email_notification=0x7f090022; + public static final int hold_enable_phone_notification=0x7f090021; + public static final int hold_expiration_date=0x7f090024; + public static final int hold_physical_description=0x7f09001f; + public static final int hold_pickup_location=0x7f090023; + public static final int hold_recipient=0x7f09001c; + public static final int hold_status=0x7f090028; + public static final int hold_suspend_hold=0x7f090025; + public static final int hold_thaw_date=0x7f09002b; + public static final int hold_title=0x7f09001d; + public static final int holds_item_list=0x7f090027; + public static final int holds_number=0x7f090026; public static final int main_btn_account=0x7f09000c; public static final int main_btn_app_settings=0x7f09000d; public static final int main_btn_search=0x7f09000b; - public static final int place_hold=0x7f090026; - public static final int record_details_info_author=0x7f090029; - public static final int record_details_info_publisher=0x7f09002a; - public static final int record_details_info_title=0x7f090028; - public static final int record_details_simple_author=0x7f09002c; - public static final int record_details_simple_isbn=0x7f090031; - public static final int record_details_simple_publisher=0x7f09002d; - public static final int record_details_simple_series=0x7f09002f; - public static final int record_details_simple_subject=0x7f09002e; - public static final int record_details_simple_synopsis=0x7f090030; - public static final int record_details_simple_title=0x7f09002b; + public static final int place_hold=0x7f09002a; + public static final int record_details_info_author=0x7f09002d; + public static final int record_details_info_publisher=0x7f09002e; + public static final int record_details_info_title=0x7f09002c; + public static final int record_details_simple_author=0x7f090030; + public static final int record_details_simple_isbn=0x7f090035; + public static final int record_details_simple_publisher=0x7f090031; + public static final int record_details_simple_series=0x7f090033; + public static final int record_details_simple_subject=0x7f090032; + public static final int record_details_simple_synopsis=0x7f090034; + public static final int record_details_simple_title=0x7f09002f; public static final int renew_button=0x7f090006; - public static final int searchButton=0x7f090038; - public static final int searchText=0x7f090037; - public static final int search_more_items_button=0x7f090032; - public static final int search_record_author=0x7f090035; - public static final int search_record_img=0x7f090033; - public static final int search_record_publishing=0x7f090036; - public static final int search_record_title=0x7f090034; + public static final int searchButton=0x7f09003c; + public static final int searchText=0x7f09003b; + public static final int search_more_items_button=0x7f090036; + public static final int search_record_author=0x7f090039; + public static final int search_record_img=0x7f090037; + public static final int search_record_publishing=0x7f09003a; + public static final int search_record_title=0x7f090038; public static final int search_result_number=0x7f090000; - public static final int search_results_list=0x7f090039; - public static final int update_hold_button=0x7f090017; + public static final int search_results_list=0x7f09003d; + public static final int update_hold_button=0x7f09001b; } public static final class layout { public static final int checkout_list=0x7f030000; @@ -114,16 +119,17 @@ public final class R { public static final int dashbord_account=0x7f030002; public static final int dashbord_main=0x7f030003; public static final int fines=0x7f030004; - public static final int hold_details=0x7f030005; - public static final int holds_list=0x7f030006; - public static final int holds_list_item=0x7f030007; - public static final int main=0x7f030008; - public static final int place_hold=0x7f030009; - public static final int record_details_info=0x7f03000a; - public static final int record_details_simple=0x7f03000b; - public static final int search_result_footer_view=0x7f03000c; - public static final int search_result_item=0x7f03000d; - public static final int search_result_list=0x7f03000e; + public static final int fines_list_item=0x7f030005; + public static final int hold_details=0x7f030006; + public static final int holds_list=0x7f030007; + public static final int holds_list_item=0x7f030008; + public static final int main=0x7f030009; + public static final int place_hold=0x7f03000a; + public static final int record_details_info=0x7f03000b; + public static final int record_details_simple=0x7f03000c; + public static final int search_result_footer_view=0x7f03000d; + public static final int search_result_item=0x7f03000e; + public static final int search_result_list=0x7f03000f; } public static final class string { public static final int app_name=0x7f070001; @@ -139,6 +145,7 @@ public final class R { public static final int enable_phone_notification=0x7f070010; public static final int expiration_date=0x7f070014; public static final int hello=0x7f070000; + public static final int overdue_materials=0x7f070020; public static final int physical_description=0x7f07000e; public static final int pickup_location=0x7f070013; public static final int place_hold=0x7f070016; diff --git a/Open-ILS/src/Android/res/layout/fines.xml b/Open-ILS/src/Android/res/layout/fines.xml index 6be2116cfa..feb41cf41a 100644 --- a/Open-ILS/src/Android/res/layout/fines.xml +++ b/Open-ILS/src/Android/res/layout/fines.xml @@ -61,6 +61,14 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Open-ILS/src/Android/res/values/colors.xml b/Open-ILS/src/Android/res/values/colors.xml index 9f562e4452..b406692076 100644 --- a/Open-ILS/src/Android/res/values/colors.xml +++ b/Open-ILS/src/Android/res/values/colors.xml @@ -34,4 +34,5 @@ #ffffff #1e90ff + #ff0000 diff --git a/Open-ILS/src/Android/res/values/strings.xml b/Open-ILS/src/Android/res/values/strings.xml index 47f36d9c86..4c4d80422a 100644 --- a/Open-ILS/src/Android/res/values/strings.xml +++ b/Open-ILS/src/Android/res/values/strings.xml @@ -40,5 +40,6 @@ Total Owned Total Paid Balance Owed + Overdue Materials \ No newline at end of file diff --git a/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/AccountAccess.java b/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/AccountAccess.java index 5c4f05268c..fd89ddcbcc 100644 --- a/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/AccountAccess.java +++ b/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/AccountAccess.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.Map; import org.evergreen.android.accountAccess.checkout.CircRecord; +import org.evergreen.android.accountAccess.fines.FinesRecord; import org.evergreen.android.accountAccess.holds.HoldRecord; import org.evergreen.android.globals.Utils; import org.evergreen.android.searchCatalog.RecordInfo; @@ -183,8 +184,8 @@ public class AccountAccess { * containing : transaction, circ, record * @param : authToken, userID * @returns : array of objects, must investigate - */ - public static String METHOD_FETCH_TRANSACTIONS = "open-ils.actor.user.transactions.have_charged.fleshed"; + */ + public static String METHOD_FETCH_TRANSACTIONS = "open-ils.actor.user.transactions.have_charge.fleshed"; /** The METHOD_FETCH_MONEY_BILLING * description : @@ -936,11 +937,26 @@ public class AccountAccess { return fines; } - private Object getTransactions(){ + public ArrayList getTransactions(){ + + ArrayList finesRecords = new ArrayList(); Object transactions = Utils.doRequest(conn,SERVICE_ACTOR, METHOD_FETCH_TRANSACTIONS, new Object[]{authToken,userID}); - return transactions; + + //get Array + + List> list = (List>)transactions; + + for(int i=0;i item = list.get(i); + + FinesRecord record = new FinesRecord(item.get("circ"),item.get("record"),item.get("transaction")); + finesRecords.add(record); + } + + return finesRecords; } //---------------------------------------Book bags-----------------------------------// diff --git a/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesActivity.java b/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesActivity.java index 94148b621e..94ad2c2e22 100644 --- a/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesActivity.java +++ b/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesActivity.java @@ -1,12 +1,21 @@ package org.evergreen.android.accountAccess.fines; +import java.util.ArrayList; +import java.util.List; + import org.evergreen.android.R; import org.evergreen.android.accountAccess.AccountAccess; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; +import android.graphics.Color; import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; @@ -19,7 +28,7 @@ public class FinesActivity extends Activity{ private TextView balance_owed; - private ListView overdue_materials; + private ListView lv; private Runnable getFinesInfo; @@ -27,12 +36,16 @@ public class FinesActivity extends Activity{ private ProgressDialog progressDialog; + private OverdueMaterialsArrayAdapter listAdapter; + + private Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fines); + lv = (ListView) findViewById(R.id.fines_overdue_materials_list); total_owned = (TextView) findViewById(R.id.fines_total_owned); total_paid = (TextView) findViewById(R.id.fines_total_paid); @@ -42,6 +55,12 @@ public class FinesActivity extends Activity{ ac = AccountAccess.getAccountAccess(); + + ArrayList finesRecords = new ArrayList(); + listAdapter = new OverdueMaterialsArrayAdapter(context, R.layout.fines_list_item,finesRecords); + lv.setAdapter(listAdapter); + + progressDialog = ProgressDialog.show(this, null, "Retrieving fines"); getFinesInfo = new Runnable() { @@ -50,10 +69,19 @@ public class FinesActivity extends Activity{ final float[] fines = ac.getFinesSummary(); + final ArrayList finesRecords = ac.getTransactions(); + runOnUiThread(new Runnable() { @Override public void run() { + listAdapter.clear(); + + for(int i=0;i { + private static final String tag = "CheckoutArrayAdapter"; + + private TextView fineTitle; + private TextView fineAuthor; + private TextView fineBalanceOwed; + private TextView fineStatus; + + private List records = new ArrayList(); + + public OverdueMaterialsArrayAdapter(Context context, int textViewResourceId, + List objects) { + super(context, textViewResourceId, objects); + this.records = objects; + } + + public int getCount() { + return this.records.size(); + } + + public FinesRecord getItem(int index) { + return this.records.get(index); + } + + public View getView(int position, View convertView, ViewGroup parent) { + View row = convertView; + + // Get item + final FinesRecord record = getItem(position); + + if(row == null){ + + Log.d(tag, "Starting XML view more infaltion ... "); + LayoutInflater inflater = (LayoutInflater) this.getContext() + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + row = inflater.inflate(R.layout.fines_list_item, parent, false); + Log.d(tag, "Successfully completed XML view more Inflation!"); + + + } + // Get reference to TextView - title + fineTitle = (TextView) row.findViewById(R.id.fines_title); + + // Get reference to TextView author + fineAuthor = (TextView) row.findViewById(R.id.fines_author); + + //Get hold status + fineBalanceOwed = (TextView) row.findViewById(R.id.fines_balance_owed); + + fineStatus = (TextView) row.findViewById(R.id.fines_status); + //set text + + + //set raw information + fineTitle.setText(record.title); + fineAuthor.setText(record.author); + fineBalanceOwed.setText(record.balance_owed); + //status.setText(record.getHoldStatus()); + fineStatus.setText(record.getStatus()); + + if(record.getStatus().equals("returned")){ + fineStatus.setTextColor(Color.argb(255, 0, 255, 0)); + } + else + fineStatus.setTextColor(Color.argb(255, 255, 0, 0)); + + return row; + } + } } diff --git a/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesRecord.java b/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesRecord.java new file mode 100644 index 0000000000..d27be890b6 --- /dev/null +++ b/Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesRecord.java @@ -0,0 +1,49 @@ +package org.evergreen.android.accountAccess.fines; + +import java.util.Date; + +import org.evergreen.android.globals.GlobalConfigs; +import org.opensrf.util.OSRFObject; + +public class FinesRecord { + + public String title; + + public String author; + + public Date checkoutDate; + + public Date dueDate; + + public Date dateReturned; + + public String balance_owed; + + private Date checkin_time; + + public FinesRecord(OSRFObject circ, OSRFObject mvr_record, OSRFObject mbts_transaction){ + + + title = mvr_record.getString("title"); + author = mvr_record.getString("author"); + + balance_owed = mbts_transaction.getString("total_owed"); + + if(circ.get("checkin_time") != null){ + checkin_time = GlobalConfigs.parseDate(circ.getString("checkin_time")); + } + else + checkin_time = null; + + } + + //if returned or fines still acumulating + public String getStatus(){ + + if(checkin_time != null) + return "returned"; + + return "fines accruing"; + + } +}