Fixed org spinner for NTLC at least
authorkenstir <kenstir@gmail.com>
Tue, 1 Dec 2015 03:57:52 +0000 (22:57 -0500)
committerkenstir <kenstir@gmail.com>
Tue, 1 Dec 2015 03:57:52 +0000 (22:57 -0500)
* search depth = org level, not level-1
* org spinners for search and hold left-justified and indented
* org spinner for hold does not allow hold if orgType < BRANCH
  (is there a better way?)

Open-ILS/src/Android/core/res/layout/hold_details.xml
Open-ILS/src/Android/core/src/org/evergreen_ils/accountAccess/holds/HoldDetails.java
Open-ILS/src/Android/core/src/org/evergreen_ils/accountAccess/holds/PlaceHold.java
Open-ILS/src/Android/core/src/org/evergreen_ils/globals/EvergreenConstants.java
Open-ILS/src/Android/core/src/org/evergreen_ils/globals/GlobalConfigs.java
Open-ILS/src/Android/core/src/org/evergreen_ils/searchCatalog/SearchCatalog.java
Open-ILS/src/Android/core/src/org/evergreen_ils/searchCatalog/SearchCatalogListView.java
Open-ILS/src/Android/core/src/org/evergreen_ils/utils/ui/BasicDetailsFragment.java

index 9bd9f38..a9d9792 100644 (file)
@@ -79,7 +79,7 @@
 
                 <Spinner
                         android:id="@+id/hold_pickup_location"
-                        android:layout_width="0dip"
+                        android:layout_width="fill_parent"
                         android:layout_height="wrap_content"
                         android:layout_weight="4"
                         android:gravity="left"
index e6346c6..cc9a511 100644 (file)
@@ -364,17 +364,15 @@ public class HoldDetails extends ActionBarActivity {
             if (globalConfigs.organisations.get(i).id == record.pickup_lib)
                 selectedOrgPos = i;
         }
-        ArrayAdapter<String> adapter = CompatSpinnerAdapter.CreateCompatSpinnerAdapter(this, list);
+        //ArrayAdapter<String> adapter = CompatSpinnerAdapter.CreateCompatSpinnerAdapter(this, list);
+        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.org_item_layout, list);
         orgSelector.setAdapter(adapter);
         orgSelector.setSelection(selectedOrgPos);
 
         orgSelector.setOnItemSelectedListener(new OnItemSelectedListener() {
             @Override
-            public void onItemSelected(AdapterView<?> arg0, View arg1, int ID,
-                    long arg3) {
-
+            public void onItemSelected(AdapterView<?> arg0, View arg1, int ID, long arg3) {
                 selectedOrgPos = ID;
-
             }
 
             public void onNothingSelected(android.widget.AdapterView<?> arg0) {
index c1a616c..2d03559 100644 (file)
@@ -29,6 +29,7 @@ import android.view.MenuItem;
 import org.evergreen_ils.R;
 import org.evergreen_ils.accountAccess.AccountAccess;
 import org.evergreen_ils.accountAccess.SessionNotFoundException;
+import org.evergreen_ils.globals.EvergreenConstants;
 import org.evergreen_ils.globals.GlobalConfigs;
 import org.evergreen_ils.searchCatalog.Organisation;
 import org.evergreen_ils.searchCatalog.RecordInfo;
@@ -189,8 +190,7 @@ public class PlaceHold extends ActionBarActivity {
                         + expire_date);
                 int selectedOrgID = -1;
                 if (globalConfigs.organisations.size() > selectedOrgPos)
-                    selectedOrgID = globalConfigs.organisations
-                            .get(selectedOrgPos).id;
+                    selectedOrgID = globalConfigs.organisations.get(selectedOrgPos).id;
 
                 String[] stringResponse = new String[] { "false" };
                 try {
@@ -335,13 +335,19 @@ public class PlaceHold extends ActionBarActivity {
                 selectedOrgPos = i;
             }
         }
-        ArrayAdapter<String> adapter = CompatSpinnerAdapter.CreateCompatSpinnerAdapter(this, list);
+        //ArrayAdapter<String> adapter = CompatSpinnerAdapter.CreateCompatSpinnerAdapter(this, list);
+        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.org_item_layout, list) {
+            @Override
+            public boolean isEnabled(int pos) {
+                Organisation org = globalConfigs.organisations.get(pos);
+                return org.orgType >= EvergreenConstants.ORG_TYPE_BRANCH;
+            }
+        };
         orgSelector.setAdapter(adapter);
         orgSelector.setSelection(selectedOrgPos);
         orgSelector.setOnItemSelectedListener(new OnItemSelectedListener() {
             @Override
-            public void onItemSelected(AdapterView<?> arg0, View arg1, int ID,
-                    long arg3) {
+            public void onItemSelected(AdapterView<?> arg0, View arg1, int ID, long arg3) {
                 selectedOrgPos = ID;
             }
 
index 49dc2e3..54dd67f 100644 (file)
@@ -7,7 +7,7 @@ package org.evergreen_ils.globals;
 /**
  * Conversion of constants from Const.pm
  */
-class EvergreenConstants {
+public class EvergreenConstants {
 
     // Copy Statuses
     public static final int COPY_STATUS_AVAILABLE     = 0;
index 94e1d5c..5ce9c00 100644 (file)
@@ -159,6 +159,7 @@ public class GlobalConfigs {
         org.orgType = obj.getInt("ou_type");
         //if (org.orgType < EvergreenConstants.ORG_TYPE_BRANCH) return;
         org.displayName = new String(new char[level]).replace("\0", "  ");
+        Log.d(TAG, "kcxxx: id="+org.id+" level="+org.level+" name="+org.name);
         organisations.add(org);
 
         List<OSRFObject> children = null;
index 597e960..3db97dc 100644 (file)
@@ -138,7 +138,7 @@ public class SearchCatalog {
                 if (this.selectedOrganization.id != null)
                     complexParm.put("org_unit", this.selectedOrganization.id);
                 if (this.selectedOrganization.level != null)
-                    complexParm.put("depth", this.selectedOrganization.level - 1);
+                    complexParm.put("depth", this.selectedOrganization.level);
             }
             complexParm.put("limit", searchLimit);
             complexParm.put("offset", offset);
@@ -192,7 +192,7 @@ public class SearchCatalog {
             record.copyCountListInfo = getCopyCount(record_id, this.selectedOrganization.id);
             List<List<Object>> list = (List<List<Object>>) getLocationCount(
                     record_id, this.selectedOrganization.id,
-                    this.selectedOrganization.level - 1);
+                    this.selectedOrganization.level);
             if (list != null)
                 for (int j = 0; j < list.size(); j++) {
                     CopyInformation copyInfo = new CopyInformation(list.get(j));
@@ -273,8 +273,7 @@ public class SearchCatalog {
      */
     public void selectOrganisation(Organisation org) {
 
-        Log.d(TAG, "Select search organisation " + (org.level - 1) + " "
-                + org.id);
+        Log.d(TAG, "selectOrganisation id=" + org.id);
         this.selectedOrganization = org;
 
     }
index 84bb10b..4a268be 100644 (file)
@@ -304,7 +304,7 @@ public class SearchCatalogListView extends ActionBarActivity {
                     // serialize object and pass it to next activity
                     intent.putExtra("recordInfo", info);
                     intent.putExtra("orgID", search.selectedOrganization.id);
-                    intent.putExtra("depth", (search.selectedOrganization.level - 1));
+                    intent.putExtra("depth", search.selectedOrganization.level);
                     intent.putExtra("recordList", recordList);
                     intent.putExtra("recordPosition", position);
                     startActivityForResult(intent, 10);
@@ -441,15 +441,13 @@ public class SearchCatalogListView extends ActionBarActivity {
         choseOrganisation.setSelection(selectedOrgPos);
         choseOrganisation.setOnItemSelectedListener(new OnItemSelectedListener() {
             @Override
-            public void onItemSelected(AdapterView<?> arg0, View arg1,
-                                       int ID, long arg3) {
+            public void onItemSelected(AdapterView<?> arg0, View arg1, int ID, long arg3) {
                 search.selectOrganisation(globalConfigs.organisations.get(ID));
             }
 
             @Override
             public void onNothingSelected(AdapterView<?> arg0) {
             }
-
         });
 
     }
@@ -499,7 +497,7 @@ public class SearchCatalogListView extends ActionBarActivity {
             // serialize object and pass it to next activity
             intent.putExtra("recordInfo", info);
             intent.putExtra("orgID", search.selectedOrganization.id);
-            intent.putExtra("depth", (search.selectedOrganization.level - 1));
+            intent.putExtra("depth", search.selectedOrganization.level);
 
             intent.putExtra("recordList", recordList);
             // TODO put total number
@@ -694,7 +692,7 @@ public class SearchCatalogListView extends ActionBarActivity {
 
             // Get reference to ImageView
             recordImage = (ImageView) row.findViewById(R.id.search_record_img);
-            String imageHref = GlobalConfigs.getUrl("/opac/extras/ac/jacket/small/r/" + record.image);
+            String imageHref = GlobalConfigs.getUrl("/opac/extras/ac/jacket/small/r/" + record.doc_id);
             //Log.d(TAG, "image url " + imageHref);
 
             // start async download of image
index d393339..1bead87 100644 (file)
@@ -169,7 +169,8 @@ public class BasicDetailsFragment extends Fragment {
             }
         });
 
-        String imageHref = GlobalConfigs.getUrl("/opac/extras/ac/jacket/large/r/" + record.image);
+        //String imageHref = GlobalConfigs.getUrl("/opac/extras/ac/jacket/large/r/" + record.doc_id);
+        String imageHref = GlobalConfigs.getUrl("/opac/extras/ac/jacket/medium/r/" + record.doc_id);
 
         // start async download of image
         imageDownloader.download(imageHref, recordImage);