adding "quite" mode to create
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 12 Jul 2006 03:07:41 +0000 (03:07 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 12 Jul 2006 03:07:41 +0000 (03:07 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@4947 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/c-apps/oils_cstore.c

index 7efae15..dc15b72 100644 (file)
@@ -628,6 +628,7 @@ jsonObject* doCreate(osrfMethodContext* ctx, int* err ) {
 
        osrfHash* meta = osrfHashGet( (osrfHash*) ctx->method->userData, "class" );
        jsonObject* target = jsonObjectGetIndex( ctx->params, 0 );
+       jsonObject* options = jsonObjectGetIndex( ctx->params, 1 );
 
        if (!verifyObjectClass(ctx, target)) {
                *err = -1;
@@ -775,27 +776,36 @@ jsonObject* doCreate(osrfMethodContext* ctx, int* err ) {
                        buffer_free(_id);
                }
 
-               jsonObject* fake_params = jsonParseString("[]");
-               jsonObjectPush(fake_params, jsonParseString("{}"));
+               if (    !options
+                       || !jsonObjectGetKey( options, "quiet")
+                       || strcmp( jsonObjectToSimpleString(jsonObjectGetKey( options, "quiet")), "true" )
+               ) {
 
-               jsonObjectSetKey(
-                       jsonObjectGetIndex(fake_params, 0),
-                       osrfHashGet(meta, "primarykey"),
-                       jsonNewObject(id)
-               );
+                       jsonObject* fake_params = jsonParseString("[]");
+                       jsonObjectPush(fake_params, jsonParseString("{}"));
+
+                       jsonObjectSetKey(
+                               jsonObjectGetIndex(fake_params, 0),
+                               osrfHashGet(meta, "primarykey"),
+                               jsonNewObject(id)
+                       );
 
-               jsonObject* list = doSearch( ctx,meta, fake_params, err);
+                       jsonObject* list = doSearch( ctx,meta, fake_params, err);
 
-               if(*err) {
+                       if(*err) {
+                               jsonObjectFree( fake_params );
+                               obj = jsonNULL;
+                       } else {
+                               obj = jsonObjectClone( jsonObjectGetIndex(list, 0) );
+                       }
+
+                       jsonObjectFree( list );
                        jsonObjectFree( fake_params );
-                       obj = jsonNULL;
+
                } else {
-                       obj = jsonObjectClone( jsonObjectGetIndex(list, 0) );
+                       obj = jsonNewObject(id);
                }
 
-               jsonObjectFree( list );
-               jsonObjectFree( fake_params );
-
        }
 
        free(query);