From: miker Date: Wed, 12 Jul 2006 03:07:41 +0000 (+0000) Subject: adding "quite" mode to create X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=30e3368238558785fd48cb872f006df3f53e7574;p=Evergreen.git adding "quite" mode to create git-svn-id: svn://svn.open-ils.org/ILS/trunk@4947 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/c-apps/oils_cstore.c b/Open-ILS/src/c-apps/oils_cstore.c index 7efae158e4..dc15b72761 100644 --- a/Open-ILS/src/c-apps/oils_cstore.c +++ b/Open-ILS/src/c-apps/oils_cstore.c @@ -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);