Commit 290a688873f8e3c61fe69def911af46f0dd43461

Authored by kevin_fourie
1 parent 11320e62

Merged in from DEV trunk...

WSA-106
"KT_Error is used with insufficient parameters"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson

WSA-107
"Checkout returns kt_response and not kt_document_detail"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@8011 c91229c3-7414-0410-bfa2-8a42b809f60b
ktapi/KTAPIDocument.inc.php
... ... @@ -1076,12 +1076,12 @@ class KTAPI_Document extends KTAPI_FolderItem
1076 1076 if (is_null($result))
1077 1077 {
1078 1078 DBUtil::rollback();
1079   - return new KTAPI_Error(KTAPI_ERROR_INTERNAL_ERROR);
  1079 + return new PEAR_Error(KTAPI_ERROR_INTERNAL_ERROR . ': Null result returned but not expected.');
1080 1080 }
1081 1081 if (PEAR::isError($result))
1082 1082 {
1083 1083 DBUtil::rollback();
1084   - return new KTAPI_Error(sprintf(_kt("Unexpected validation failure: %s."), $result->getMessage()));
  1084 + return new KTAPI_Error('Unexpected validation failure', $result);
1085 1085 }
1086 1086 DBUtil::commit();
1087 1087  
... ...
ktwebservice/webservice.php
... ... @@ -2283,7 +2283,7 @@ class KTWebService
2283 2283 * @param string $reason
2284 2284 * @param string $base64
2285 2285 * @param boolean $major_update
2286   - * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS
  2286 + * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_DOCUMENT, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS
2287 2287 */
2288 2288 function checkin_small_document($session_id, $document_id, $filename, $reason, $base64, $major_update )
2289 2289 {
... ... @@ -2335,16 +2335,22 @@ class KTWebService
2335 2335 * @param string $session_id
2336 2336 * @param int $document_id
2337 2337 * @param string $reason
2338   - * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER or KTWS_SUCCESS
  2338 + * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS
2339 2339 */
2340 2340 function checkout_document($session_id, $document_id, $reason,$download=true)
2341 2341 {
2342 2342 $this->debug("checkout_document('$session_id',$document_id,'$reason')");
2343 2343  
  2344 + $responseType = 'kt_response';
  2345 + if ($this->version >= 2)
  2346 + {
  2347 + $responseType = 'kt_document_detail';
  2348 + }
  2349 +
2344 2350 $kt = &$this->get_ktapi($session_id );
2345 2351 if (is_array($kt))
2346 2352 {
2347   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $kt);
  2353 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $kt);
2348 2354 }
2349 2355  
2350 2356 $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT);
... ... @@ -2354,7 +2360,7 @@ class KTWebService
2354 2360 {
2355 2361 $response['message'] = $document->getMessage();
2356 2362 $this->debug("checkout_document - cannot get documentid $document_id - " . $document->getMessage(), $session_id);
2357   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $response);
  2363 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $response);
2358 2364 }
2359 2365  
2360 2366 $result = $document->checkout($reason);
... ... @@ -2362,7 +2368,7 @@ class KTWebService
2362 2368 {
2363 2369 $response['message'] = $result->getMessage();
2364 2370 $this->debug("checkout_document - cannot checkout - " . $result->getMessage(), $session_id);
2365   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $response);
  2371 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $response);
2366 2372 }
2367 2373  
2368 2374 $session = &$kt->get_session();
... ... @@ -2403,10 +2409,16 @@ class KTWebService
2403 2409 {
2404 2410 $this->debug("checkout_small_document('$session_id',$document_id,'$reason', $download)");
2405 2411  
  2412 + $responseType = 'kt_response';
  2413 + if ($this->version >= 2)
  2414 + {
  2415 + $responseType = 'kt_document_detail';
  2416 + }
  2417 +
2406 2418 $kt = &$this->get_ktapi($session_id );
2407 2419 if (is_array($kt))
2408 2420 {
2409   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $kt);
  2421 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $kt);
2410 2422 }
2411 2423  
2412 2424 $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT);
... ... @@ -2416,7 +2428,7 @@ class KTWebService
2416 2428 {
2417 2429 $response['message'] = $document->getMessage();
2418 2430 $this->debug("checkout_small_document - cannot get documentid $document_id - " . $document->getMessage(), $session_id);
2419   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $response);
  2431 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $response);
2420 2432 }
2421 2433  
2422 2434 $result = $document->checkout($reason);
... ... @@ -2424,7 +2436,7 @@ class KTWebService
2424 2436 {
2425 2437 $response['message'] = $result->getMessage();
2426 2438 $this->debug("checkout_small_document - cannot checkout - " . $result->getMessage(), $session_id);
2427   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $response);
  2439 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $response);
2428 2440 }
2429 2441  
2430 2442 $content='';
... ... @@ -2440,7 +2452,7 @@ class KTWebService
2440 2452 {
2441 2453 $response['message'] = 'The file is not in the storage system. Please contact an administrator!';
2442 2454 $this->debug("checkout_small_document - cannot write $filename ", $session_id);
2443   - return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $response);
  2455 + return new SOAP_Value('return',"{urn:$this->namespace}$responseType", $response);
2444 2456 }
2445 2457 $content = fread($fp, filesize($filename));
2446 2458 fclose($fp);
... ...