mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-30 20:51:22 +00:00 
			
		
		
		
	import workflow log
This commit is contained in:
		
							parent
							
								
									409fd62f11
								
							
						
					
					
						commit
						491e5e8f23
					
				|  | @ -67,6 +67,34 @@ function getRevAppLog($reviews) { /* {{{ */ | ||||||
| 	return $newreviews; | 	return $newreviews; | ||||||
| } /* }}} */ | } /* }}} */ | ||||||
| 
 | 
 | ||||||
|  | function getWorkflowLog($workflowlogs) { /* {{{ */ | ||||||
|  | 	global $logger, $dms, $objmap; | ||||||
|  | 
 | ||||||
|  | 	$newlogs = array(); | ||||||
|  | 	foreach($workflowlogs as $i=>$log) { | ||||||
|  | 		if(!array_key_exists($log['attributes']['user'], $objmap['users'])) { | ||||||
|  | 			unset($initversion['workflowlogs'][$i]); | ||||||
|  | 			$logger->warning("User for workflow log cannot be mapped"); | ||||||
|  | 		} else { | ||||||
|  | 			$log['attributes']['user'] = $dms->getUser($objmap['users'][$log['attributes']['user']]); | ||||||
|  | 			if(!array_key_exists($log['attributes']['workflow'], $objmap['workflows'])) { | ||||||
|  | 				unset($initversion['workflowlogs'][$i]); | ||||||
|  | 				$logger->warning("Workflow for workflow log cannot be mapped"); | ||||||
|  | 			} else { | ||||||
|  | 				$log['attributes']['workflow'] = $dms->getWorkflow($objmap['workflows'][$log['attributes']['workflow']]); | ||||||
|  | 				if(!array_key_exists($log['attributes']['transition'], $objmap['workflowtransitions'])) { | ||||||
|  | 					unset($initversion['workflowlogs'][$i]); | ||||||
|  | 					$logger->warning("Workflow transition for workflow log cannot be mapped"); | ||||||
|  | 				} else { | ||||||
|  | 					$log['attributes']['transition'] = $dms->getWorkflowTransition($objmap['workflowtransitions'][$log['attributes']['transition']]); | ||||||
|  | 					$newlogs[] = $log['attributes']; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	return $newlogs; | ||||||
|  | } /* }}} */ | ||||||
|  | 
 | ||||||
| function insert_user($user) { /* {{{ */ | function insert_user($user) { /* {{{ */ | ||||||
| 	global $logger, $dms, $debug, $sections, $defaultUser, $objmap; | 	global $logger, $dms, $debug, $sections, $defaultUser, $objmap; | ||||||
| 
 | 
 | ||||||
|  | @ -302,10 +330,12 @@ function insert_workflow($workflow) { /* {{{ */ | ||||||
| 							} | 							} | ||||||
| 						} | 						} | ||||||
| 					} | 					} | ||||||
| 					if(!$newWorkflow->addTransition($state, $action, $nextstate, $tusers, $tgroups)) { | 					if(!($newWorkflowTransition = $newWorkflow->addTransition($state, $action, $nextstate, $tusers, $tgroups))) { | ||||||
| 						$logger->err("Could not add workflow because transition could not be added"); | 						$logger->err("Could not add workflow because transition could not be added"); | ||||||
| 						return false; | 						return false; | ||||||
| 					} | 					} | ||||||
|  | 					if($newWorkflowTransition) | ||||||
|  | 						$objmap['workflowtransitions'][$transition['id']] = $newWorkflowTransition->getID(); | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} else { | 		} else { | ||||||
|  | @ -460,8 +490,6 @@ function insert_document($document) { /* {{{ */ | ||||||
| 				$logger->warning("Workflowstate ".$initversion['workflow']['state']." cannot be mapped"); | 				$logger->warning("Workflowstate ".$initversion['workflow']['state']." cannot be mapped"); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		if($initversion['workflowlogs']) { |  | ||||||
| 		} |  | ||||||
| 
 | 
 | ||||||
| 		$version_attributes = array(); | 		$version_attributes = array(); | ||||||
| 		if(isset($initversion['user_attributes'])) { | 		if(isset($initversion['user_attributes'])) { | ||||||
|  | @ -552,6 +580,15 @@ function insert_document($document) { /* {{{ */ | ||||||
| 			$newVersion->rewriteApprovalLog($newapprovals); | 			$newVersion->rewriteApprovalLog($newapprovals); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		if($initversion['workflowlogs']) { | ||||||
|  | 			$newworkflowlogs = getWorkflowLog($initversion['workflowlogs']); | ||||||
|  | 			if(!$newVersion->rewriteWorkflowLog($newworkflowlogs)) { | ||||||
|  | 				$logger->err("Could not rewrite workflow log of version '".$newVersion->getVersion()."' of document '".$newDocument->getName()."'"); | ||||||
|  | 				$logger->debug($dms->getDB()->getErrorMsg()); | ||||||
|  | 				return false; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		$newDocument->setDate(dateToTimestamp($document['attributes']['date'])); | 		$newDocument->setDate(dateToTimestamp($document['attributes']['date'])); | ||||||
| 		$newDocument->setDefaultAccess($document['attributes']['defaultaccess']); | 		$newDocument->setDefaultAccess($document['attributes']['defaultaccess']); | ||||||
| 		$newDocument->setInheritAccess($document['attributes']['inheritaccess']); | 		$newDocument->setInheritAccess($document['attributes']['inheritaccess']); | ||||||
|  | @ -656,6 +693,7 @@ function insert_document($document) { /* {{{ */ | ||||||
| 
 | 
 | ||||||
| 			$logger->info("Added version '".$version['version']."' of document '".$document['attributes']['name']."'"); | 			$logger->info("Added version '".$version['version']."' of document '".$document['attributes']['name']."'"); | ||||||
| 			$newVersion = $result->getContent(); | 			$newVersion = $result->getContent(); | ||||||
|  | 			unlink($filename); | ||||||
| 			if($workflowstate) | 			if($workflowstate) | ||||||
| 				$newVersion->setWorkflowState($workflowstate); | 				$newVersion->setWorkflowState($workflowstate); | ||||||
| 			$newVersion->setDate(dateToTimestamp($version['attributes']['date'])); | 			$newVersion->setDate(dateToTimestamp($version['attributes']['date'])); | ||||||
|  | @ -680,7 +718,14 @@ function insert_document($document) { /* {{{ */ | ||||||
| 				$newVersion->rewriteApprovalLog($newapprovals); | 				$newVersion->rewriteApprovalLog($newapprovals); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			unlink($filename); | 			if($version['workflowlogs']) { | ||||||
|  | 				$newworkflowlogs = getWorkflowLog($version['workflowlogs']); | ||||||
|  | 				if(!$newVersion->rewriteWorkflowLog($newworkflowlogs)) { | ||||||
|  | 					$logger->err("Could not rewrite workflow log of version '".$newVersion->getVersion()."' of document '".$newDocument->getName()."'"); | ||||||
|  | 					$logger->debug($dms->getDB()->getErrorMsg()); | ||||||
|  | 					return false; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
| 		}	 | 		}	 | ||||||
| 
 | 
 | ||||||
| 		if(isset($document['notifications']['users']) && $document['notifications']['users']) { | 		if(isset($document['notifications']['users']) && $document['notifications']['users']) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann