basic fines info finished
authordrizea <danielrizea27@gmail.com>
Sat, 7 Jul 2012 10:23:40 +0000 (13:23 +0300)
committerdrizea <danielrizea27@gmail.com>
Sat, 7 Jul 2012 10:23:40 +0000 (13:23 +0300)
23 files changed:
Open-ILS/src/Android/bin/EvergreenApp.apk
Open-ILS/src/Android/bin/classes.dex
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$color.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$dimen.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$drawable.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$id.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$layout.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$string.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/R$style.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/accountAccess/AccountAccess.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Info.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/RecordDetails_Simple.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView$SearchArrayAdapter.class
Open-ILS/src/Android/bin/classes/org/evergreen/android/searchCatalog/SearchCatalogListView.class
Open-ILS/src/Android/bin/resources.ap_
Open-ILS/src/Android/gen/org/evergreen/android/R.java
Open-ILS/src/Android/res/layout/fines.xml
Open-ILS/src/Android/res/layout/fines_list_item.xml [new file with mode: 0644]
Open-ILS/src/Android/res/values/colors.xml
Open-ILS/src/Android/res/values/strings.xml
Open-ILS/src/Android/src/org/evergreen/android/accountAccess/AccountAccess.java
Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesActivity.java
Open-ILS/src/Android/src/org/evergreen/android/accountAccess/fines/FinesRecord.java [new file with mode: 0644]

index d1e2135..1aaaa86 100644 (file)
Binary files a/Open-ILS/src/Android/bin/EvergreenApp.apk and b/Open-ILS/src/Android/bin/EvergreenApp.apk differ
index 3a69e92..bd41d17 100644 (file)
Binary files a/Open-ILS/src/Android/bin/classes.dex and b/Open-ILS/src/Android/bin/classes.dex differ
index c610bae..76e0d56 100644 (file)
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
index ecb6dd8..2004913 100644 (file)
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
index 44cfa68..02e1ab4 100644 (file)
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
index 63bf8f2..159dac7 100644 (file)
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
index d2968ba..f35efbb 100644 (file)
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
index 5af3b3a..41d235c 100644 (file)
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
index fd2bb4d..b2eb689 100644 (file)
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
index c4a646e..4ee964d 100644 (file)
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
index 0a04014..3da2f1c 100644 (file)
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
index 735df09..54144a6 100644 (file)
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
index ba15ccc..6d038e8 100644 (file)
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
index 32c35ab..e83d611 100644 (file)
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
index a5362d8..cf641d1 100644 (file)
Binary files a/Open-ILS/src/Android/bin/resources.ap_ and b/Open-ILS/src/Android/bin/resources.ap_ differ
index f1ad2a6..d55ba86 100644 (file)
@@ -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;
index 6be2116..feb41cf 100644 (file)
          </TableLayout>
 
         
+         <TextView 
+             android:layout_width="fill_parent"
+             android:layout_height="wrap_content"
+             android:text="@string/overdue_materials"
+             android:textSize="18sp"
+             android:paddingTop="10dip"
+             android:paddingBottom="5dip"
+             />
 
        <ListView 
          android:id="@+id/fines_overdue_materials_list"
diff --git a/Open-ILS/src/Android/res/layout/fines_list_item.xml b/Open-ILS/src/Android/res/layout/fines_list_item.xml
new file mode 100644 (file)
index 0000000..860067d
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" > 
+
+    
+    <TableRow 
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        >
+        
+            <TextView 
+     android:id="@+id/fines_title" 
+     android:layout_width="fill_parent"   
+     android:layout_height="wrap_content"
+     android:layout_weight="10"
+     
+     
+        />
+            
+                         <TextView 
+     android:id="@+id/fines_balance_owed"
+     android:layout_width="fill_parent"   
+     android:layout_height="fill_parent"
+     android:textColor="@color/red"   
+     android:textStyle="bold" 
+     android:layout_weight="4"
+     android:layout_gravity="right"  
+        />  
+        
+    </TableRow>
+    
+    <TableRow 
+        android:layout_width="fill_parent"
+        android:layout_height="wrap_content"
+        >
+
+     <TextView 
+     android:id="@+id/fines_author"
+     android:layout_width="fill_parent"   
+     android:layout_height="fill_parent" 
+     android:layout_weight="10"
+        />
+     
+     <TextView 
+     android:id="@+id/fines_status"
+     android:layout_width="fill_parent"   
+     android:layout_height="fill_parent" 
+     android:textStyle="bold"  
+     android:layout_weight="4"
+     android:layout_gravity="right" 
+        />
+    </TableRow>
+
+</TableLayout>
\ No newline at end of file
index 9f562e4..b406692 100644 (file)
@@ -34,4 +34,5 @@
        
     <color name="white">#ffffff</color>
     <color name="blue">#1e90ff</color>
+    <color name="red">#ff0000</color>
 </resources>
index 47f36d9..4c4d804 100644 (file)
@@ -40,5 +40,6 @@
     <string name="total_owned">Total Owned </string>
     <string name="total_paid">Total Paid</string>
     <string name="balance_owed">Balance Owed</string>
+    <string name="overdue_materials">Overdue Materials</string>
     
 </resources>
\ No newline at end of file
index 5c4f052..fd89ddc 100644 (file)
@@ -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<FinesRecord> getTransactions(){
+               
+               ArrayList<FinesRecord> finesRecords = new ArrayList<FinesRecord>();
                
                Object transactions = Utils.doRequest(conn,SERVICE_ACTOR, METHOD_FETCH_TRANSACTIONS, new Object[]{authToken,userID});
                
-               return transactions;
+               
+               //get Array
+               
+               List<Map<String,OSRFObject>> list = (List<Map<String,OSRFObject>>)transactions;
+               
+               for(int i=0;i<list.size();i++){
+                       
+                       Map<String,OSRFObject> item = list.get(i);
+                       
+                       FinesRecord record = new FinesRecord(item.get("circ"),item.get("record"),item.get("transaction"));
+                       finesRecords.add(record);
+               }
+               
+               return finesRecords;
        }
        
        //---------------------------------------Book bags-----------------------------------//
index 94148b6..94ad2c2 100644 (file)
@@ -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<FinesRecord> finesRecords = new ArrayList<FinesRecord>();
+               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<FinesRecord> finesRecords = ac.getTransactions();
+                               
                                runOnUiThread(new Runnable() {          
                                        @Override
                                        public void run() {     
                                                
+                                               listAdapter.clear();
+                                               
+                                               for(int i=0;i<finesRecords.size();i++)
+                                                       listAdapter.add(finesRecords.get(i));
+                                               
+                                               listAdapter.notifyDataSetChanged();
+                                               
                                                total_owned.setText(fines[0]+"");
                                                total_paid.setText(fines[1]+"");
                                                balance_owed.setText(fines[2]+"");
@@ -66,4 +94,74 @@ public class FinesActivity extends Activity{
                Thread getFinesTh = new Thread(getFinesInfo);
                getFinesTh.start();
        }
+       
+       class OverdueMaterialsArrayAdapter extends ArrayAdapter<FinesRecord> {
+       private static final String tag = "CheckoutArrayAdapter";
+       
+       private TextView fineTitle;
+       private TextView fineAuthor;
+       private TextView fineBalanceOwed;
+       private TextView fineStatus;
+       
+       private List<FinesRecord> records = new ArrayList<FinesRecord>();
+
+       public OverdueMaterialsArrayAdapter(Context context, int textViewResourceId,
+                       List<FinesRecord> 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 (file)
index 0000000..d27be89
--- /dev/null
@@ -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";
+                       
+       }
+}