Commit 9964778245bef0871b10d23372153237794355b2

Authored by conradverm
1 parent 580779ff

KTS-2895

"DocumentUtil::saveMetadata clears metadata when novalidation option is set"
Fixed.

Committed By: Conrad Vermeulen
Reviewed By: Megan Watson

git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@7976 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/documentmanagement/documentutil.inc.php
@@ -256,20 +256,12 @@ class KTDocumentUtil { @@ -256,20 +256,12 @@ class KTDocumentUtil {
256 'documenttypeid' => $iDocumentTypeId, 256 'documenttypeid' => $iDocumentTypeId,
257 )); 257 ));
258 258
259 -// if (is_null($oContents)) {  
260 -// $res = KTDocumentUtil::setIncomplete($oDocument, 'contents');  
261 -// if (PEAR::isError($res)) {  
262 -// $oDocument->delete();  
263 -// return $res;  
264 -// }  
265 -// } else {  
266 - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Storing contents')));  
267 - $res = KTDocumentUtil::storeContents($oDocument, '', $aOptions);  
268 - if (PEAR::isError($res)) {  
269 - $oDocument->delete();  
270 - return $res;  
271 - }  
272 -// } 259 + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Storing contents')));
  260 + $res = KTDocumentUtil::storeContents($oDocument, '', $aOptions);
  261 + if (PEAR::isError($res)) {
  262 + $oDocument->delete();
  263 + return $res;
  264 + }
273 265
274 if (is_null($aMetadata)) { 266 if (is_null($aMetadata)) {
275 $res = KTDocumentUtil::setIncomplete($oDocument, 'metadata'); 267 $res = KTDocumentUtil::setIncomplete($oDocument, 'metadata');
@@ -278,7 +270,7 @@ class KTDocumentUtil { @@ -278,7 +270,7 @@ class KTDocumentUtil {
278 return $res; 270 return $res;
279 } 271 }
280 } else { 272 } else {
281 - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Saving metadata'))); 273 + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Saving metadata')));
282 $res = KTDocumentUtil::saveMetadata($oDocument, $aMetadata, $aOptions); 274 $res = KTDocumentUtil::saveMetadata($oDocument, $aMetadata, $aOptions);
283 if (PEAR::isError($res)) { 275 if (PEAR::isError($res)) {
284 $oDocument->delete(); 276 $oDocument->delete();
@@ -420,13 +412,15 @@ class KTDocumentUtil { @@ -420,13 +412,15 @@ class KTDocumentUtil {
420 function saveMetadata(&$oDocument, $aMetadata, $aOptions = null) { 412 function saveMetadata(&$oDocument, $aMetadata, $aOptions = null) {
421 $table = 'document_fields_link'; 413 $table = 'document_fields_link';
422 $bNoValidate = KTUtil::arrayGet($aOptions, 'novalidate', false); 414 $bNoValidate = KTUtil::arrayGet($aOptions, 'novalidate', false);
423 - if ($bNoValidate !== true) { 415 + if ($bNoValidate !== true)
  416 + {
424 $res = KTDocumentUtil::validateMetadata($oDocument, $aMetadata); 417 $res = KTDocumentUtil::validateMetadata($oDocument, $aMetadata);
  418 + if (PEAR::isError($res))
  419 + {
  420 + return $res;
  421 + }
  422 + $aMetadata = empty($res)?array():$res;
425 } 423 }
426 - if (PEAR::isError($res)) {  
427 - return $res;  
428 - }  
429 - $aMetadata = empty($res)?array():$res;  
430 424
431 $iMetadataVersionId = $oDocument->getMetadataVersionId(); 425 $iMetadataVersionId = $oDocument->getMetadataVersionId();
432 $res = DBUtil::runQuery(array("DELETE FROM $table WHERE metadata_version_id = ?", array($iMetadataVersionId))); 426 $res = DBUtil::runQuery(array("DELETE FROM $table WHERE metadata_version_id = ?", array($iMetadataVersionId)));