Commit 91094d39ce89b1bed1c0bfc5ae176a1013f2ce4e
1 parent
9e439708
If given a KTDocumentCore object, get the Document object instead.
Copy the metadata when creating a new metadata version. git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@5300 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
12 additions
and
0 deletions
lib/workflow/workflowutil.inc.php
| @@ -122,7 +122,9 @@ class KTWorkflowUtil { | @@ -122,7 +122,9 @@ class KTWorkflowUtil { | ||
| 122 | 122 | ||
| 123 | $oUser = User::get($_SESSION['userID']); | 123 | $oUser = User::get($_SESSION['userID']); |
| 124 | 124 | ||
| 125 | + $iPreviousMetadataVersion = $oDocument->getMetadataVersionId(); | ||
| 125 | $oDocument->startNewMetadataVersion($oUser); | 126 | $oDocument->startNewMetadataVersion($oUser); |
| 127 | + KTDocumentUtil::copyMetadata($oDocument, $iPreviousMetadataVersion); | ||
| 126 | 128 | ||
| 127 | if (!empty($oWorkflow)) { | 129 | if (!empty($oWorkflow)) { |
| 128 | $oWorkflow =& KTUtil::getObject('KTWorkflow', $oWorkflow); | 130 | $oWorkflow =& KTUtil::getObject('KTWorkflow', $oWorkflow); |
| @@ -323,6 +325,10 @@ class KTWorkflowUtil { | @@ -323,6 +325,10 @@ class KTWorkflowUtil { | ||
| 323 | */ | 325 | */ |
| 324 | function getWorkflowForDocument ($oDocument, $aOptions = null) { | 326 | function getWorkflowForDocument ($oDocument, $aOptions = null) { |
| 325 | $ids = KTUtil::arrayGet($aOptions, 'ids', false); | 327 | $ids = KTUtil::arrayGet($aOptions, 'ids', false); |
| 328 | + | ||
| 329 | + if (is_a($oDocument, 'KTDocumentCore')) { | ||
| 330 | + $oDocument = $oDocument->getId(); | ||
| 331 | + } | ||
| 326 | 332 | ||
| 327 | $oDocument = KTUtil::getObject('Document', $oDocument); | 333 | $oDocument = KTUtil::getObject('Document', $oDocument); |
| 328 | $iWorkflowId = $oDocument->getWorkflowId(); | 334 | $iWorkflowId = $oDocument->getWorkflowId(); |
| @@ -352,6 +358,10 @@ class KTWorkflowUtil { | @@ -352,6 +358,10 @@ class KTWorkflowUtil { | ||
| 352 | 358 | ||
| 353 | $ids = KTUtil::arrayGet($aOptions, 'ids', false); | 359 | $ids = KTUtil::arrayGet($aOptions, 'ids', false); |
| 354 | 360 | ||
| 361 | + if (is_a($oDocument, 'KTDocumentCore')) { | ||
| 362 | + $oDocument = $oDocument->getId(); | ||
| 363 | + } | ||
| 364 | + | ||
| 355 | $oDocument = KTUtil::getObject('Document', $oDocument); | 365 | $oDocument = KTUtil::getObject('Document', $oDocument); |
| 356 | $iWorkflowStateId = $oDocument->getWorkflowStateId(); | 366 | $iWorkflowStateId = $oDocument->getWorkflowStateId(); |
| 357 | 367 | ||
| @@ -448,7 +458,9 @@ class KTWorkflowUtil { | @@ -448,7 +458,9 @@ class KTWorkflowUtil { | ||
| 448 | } | 458 | } |
| 449 | $oSourceState =& KTWorkflowUtil::getWorkflowStateForDocument($oDocument); | 459 | $oSourceState =& KTWorkflowUtil::getWorkflowStateForDocument($oDocument); |
| 450 | 460 | ||
| 461 | + $iPreviousMetadataVersion = $oDocument->getMetadataVersionId(); | ||
| 451 | $oDocument->startNewMetadataVersion($oUser); | 462 | $oDocument->startNewMetadataVersion($oUser); |
| 463 | + KTDocumentUtil::copyMetadata($oDocument, $iPreviousMetadataVersion); | ||
| 452 | 464 | ||
| 453 | $iStateId = $oTransition->getTargetStateId(); | 465 | $iStateId = $oTransition->getTargetStateId(); |
| 454 | 466 |