[open-ils-commits] r11565 - trunk/Open-ILS/src/c-apps

svn at svn.open-ils.org svn at svn.open-ils.org
Mon Dec 15 01:36:29 EST 2008


Author: miker
Date: 2008-12-15 01:36:26 -0500 (Mon, 15 Dec 2008)
New Revision: 11565

Modified:
   trunk/Open-ILS/src/c-apps/oils_cstore.c
Log:
pull the first result row into the result object

Modified: trunk/Open-ILS/src/c-apps/oils_cstore.c
===================================================================
--- trunk/Open-ILS/src/c-apps/oils_cstore.c	2008-12-15 06:22:05 UTC (rev 11564)
+++ trunk/Open-ILS/src/c-apps/oils_cstore.c	2008-12-15 06:36:26 UTC (rev 11565)
@@ -1045,13 +1045,38 @@
                 );
 
                 if (result) {
-                    jsonObject* return_val = oilsMakeJSONFromResult( result );
-                    char* has_perm = jsonObjectToSimpleString( jsonObjectGetKeyConst(return_val, "has_perm") );
-                    if ( *has_perm == 't' ) OK = 1;
-                    free(has_perm); 
-                    jsonObjectFree(return_val);
+    	            osrfLogDebug(
+                        OSRF_LOG_MARK,
+                        "Recieved a result for object permission [%s] for user %d on object %s (class %s) at org %d",
+                        perm,
+                        userid,
+                        pkey_value,
+                        osrfHashGet(class, "classname"),
+                        atoi(context_org)
+                    );
+
+                    if (dbi_result_first_row(result)) {
+                        jsonObject* return_val = oilsMakeJSONFromResult( result );
+                        char* has_perm = jsonObjectToSimpleString( jsonObjectGetKeyConst(return_val, "has_perm") );
+
+        	            osrfLogDebug(
+                            OSRF_LOG_MARK,
+                            "Status of object permission [%s] for user %d on object %s (class %s) at org %d is %s",
+                            perm,
+                            userid,
+                            pkey_value,
+                            osrfHashGet(class, "classname"),
+                            atoi(context_org),
+                            has_perm
+                        );
+
+                        if ( *has_perm == 't' ) OK = 1;
+                        free(has_perm); 
+                        jsonObjectFree(return_val);
+                    }
+
                     dbi_result_free(result); 
-                    break;
+                    if (OK) break;
                 }
             }
 
@@ -1065,18 +1090,18 @@
             );
 
             if (result) {
-	            osrfLogDebug( OSRF_LOG_MARK, "Recieved a result for perm [%s] for user %d at org %d", perm, userid, atoi(context_org) );
-                jsonObject* return_val = oilsMakeJSONFromResult( result );
-	            osrfLogDebug( OSRF_LOG_MARK, " .... here .... " );
-                char* has_perm = jsonObjectToSimpleString( jsonObjectGetKeyConst(return_val, "has_perm") );
-	            osrfLogDebug( OSRF_LOG_MARK, " .... here .... " );
-                if ( *has_perm == 't' ) OK = 1;
-	            osrfLogDebug( OSRF_LOG_MARK, " .... here .... " );
-	            osrfLogDebug( OSRF_LOG_MARK, "Result for perm [%s] for user %d at org %d is [%s]", perm, userid, atoi(context_org), has_perm );
-                free(has_perm); 
-                jsonObjectFree(return_val);
+	            osrfLogDebug( OSRF_LOG_MARK, "Recieved a result for permission [%s] for user %d at org %d", perm, userid, atoi(context_org) );
+                if (dbi_result_first_row(result)) {
+                    jsonObject* return_val = oilsMakeJSONFromResult( result );
+                    char* has_perm = jsonObjectToSimpleString( jsonObjectGetKeyConst(return_val, "has_perm") );
+	                osrfLogDebug( OSRF_LOG_MARK, "Status of permission [%s] for user %d at org %d is [%s]", perm, userid, atoi(context_org), has_perm );
+                    if ( *has_perm == 't' ) OK = 1;
+                    free(has_perm); 
+                    jsonObjectFree(return_val);
+                }
+
                 dbi_result_free(result); 
-                break;
+                if (OK) break;
             }
 
         }



More information about the open-ils-commits mailing list