add receiptlog

This commit is contained in:
Uwe Steinmann 2017-03-03 22:09:42 +01:00
parent b05a7f2ba5
commit 469270882c

View File

@ -40,10 +40,15 @@ function getRevAppLog($reviews) { /* {{{ */
if($review['attributes']['type'] == 1) {
if(isset($objmap['groups'][(int) $review['attributes']['required']]))
$newreview['required'] = $dms->getGroup($objmap['groups'][(int) $review['attributes']['required']]);
else
$logger->warning("Group ".(int) $review['attributes']['required']." for Log cannot be mapped");
} else {
if(isset($objmap['users'][(int) $review['attributes']['required']]))
$newreview['required'] = $dms->getUser($objmap['users'][(int) $review['attributes']['required']]);
else
$logger->warning("User ".(int) $review['attributes']['required']." for Log cannot be mapped");
}
if(isset($newreview['required'])) {
$newreview['logs'] = array();
foreach($review['logs'] as $j=>$log) {
if(!array_key_exists($log['attributes']['user'], $objmap['users'])) {
@ -64,6 +69,7 @@ function getRevAppLog($reviews) { /* {{{ */
}
}
$newreviews[] = $newreview;
}
}
return $newreviews;
} /* }}} */
@ -643,6 +649,10 @@ function insert_document($document) { /* {{{ */
$newapprovals = getRevAppLog($initversion['approvals']);
$newVersion->rewriteApprovalLog($newapprovals);
}
if($initversion['receipts']) {
$newreceipts = getRevAppLog($initversion['receipts']);
$newVersion->rewriteReceiptLog($newreceipts);
}
if($initversion['workflowlogs']) {
$newworkflowlogs = getWorkflowLog($initversion['workflowlogs']);
@ -753,6 +763,10 @@ function insert_document($document) { /* {{{ */
$newapprovals = getRevAppLog($version['approvals']);
$newVersion->rewriteApprovalLog($newapprovals);
}
if($version['receipts']) {
$newreceipts = getRevAppLog($version['receipts']);
$newVersion->rewriteReceiptLog($newreceipts);
}
if($version['workflowlogs']) {
$newworkflowlogs = getWorkflowLog($version['workflowlogs']);
@ -1050,7 +1064,7 @@ function set_mandatory() { /* {{{ */
} /* }}} */
function startElement($parser, $name, $attrs) { /* {{{ */
global $logger, $dms, $noversioncheck, $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_workflowlog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos;
global $logger, $dms, $noversioncheck, $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_workflowlog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos;
$parent = end($elementstack);
array_push($elementstack, array('name'=>$name, 'attributes'=>$attrs));
@ -1172,6 +1186,7 @@ function startElement($parser, $name, $attrs) { /* {{{ */
$cur_version['attributes'] = array();
$cur_version['approvals'] = array();
$cur_version['reviews'] = array();
$cur_version['receipts'] = array();
$cur_version['statuslogs'] = array();
$cur_version['workflowlogs'] = array();
break;
@ -1204,6 +1219,15 @@ function startElement($parser, $name, $attrs) { /* {{{ */
$cur_reviewlog = array();
$cur_reviewlog['attributes'] = array();
break;
case "RECEIPT":
$cur_receipt = array();
$cur_receipt['attributes'] = array();
$cur_receipt['logs'] = array();
break;
case "RECEIPTLOG":
$cur_receiptlog = array();
$cur_receiptlog['attributes'] = array();
break;
case 'ATTRIBUTEDEFINITION':
$cur_attrdef = array();
$cur_attrdef['id'] = (int) $attrs['ID'];
@ -1235,6 +1259,10 @@ function startElement($parser, $name, $attrs) { /* {{{ */
$cur_review['attributes'][$attrs['NAME']] = '';
} elseif($parent['name'] == 'REVIEWLOG') {
$cur_reviewlog['attributes'][$attrs['NAME']] = '';
} elseif($parent['name'] == 'RECEIPT') {
$cur_receipt['attributes'][$attrs['NAME']] = '';
} elseif($parent['name'] == 'RECEIPTLOG') {
$cur_receiptlog['attributes'][$attrs['NAME']] = '';
} elseif($parent['name'] == 'FOLDER') {
if(isset($attrs['TYPE']) && $attrs['TYPE'] == 'user') {
$cur_folder['user_attributes'][$attrs['ATTRDEF']] = '';
@ -1427,7 +1455,7 @@ function startElement($parser, $name, $attrs) { /* {{{ */
} /* }}} */
function endElement($parser, $name) { /* {{{ */
global $logger, $dms, $sections, $rootfolder, $objmap, $elementstack, $users, $groups, $links,$cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos;
global $logger, $dms, $sections, $rootfolder, $objmap, $elementstack, $users, $groups, $links,$cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos;
array_pop($elementstack);
$parent = end($elementstack);
@ -1461,6 +1489,12 @@ function endElement($parser, $name) { /* {{{ */
case "REVIEWLOG":
$cur_review['logs'][] = $cur_reviewlog;
break;
case "RECEIPT":
$cur_version['receipts'][] = $cur_receipt;
break;
case "RECEIPTLOG":
$cur_receipt['logs'][] = $cur_receiptlog;
break;
case "USER":
/* users can be the users data or the member of a group */
$first = $elementstack[1];
@ -1567,7 +1601,7 @@ function endElement($parser, $name) { /* {{{ */
} /* }}} */
function characterData($parser, $data) { /* {{{ */
global $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos;
global $elementstack, $objmap, $cur_user, $cur_group, $cur_folder, $cur_document, $cur_version, $cur_statuslog, $cur_approval, $cur_approvallog, $cur_review, $cur_reviewlog, $cur_receipt, $cur_receiptlog, $cur_attrdef, $cur_documentcat, $cur_keyword, $cur_keywordcat, $cur_file, $cur_link, $cur_workflow, $cur_workflowlog, $cur_workflowtransition, $cur_workflowaction, $cur_workflowstate, $cur_transition, $cur_transmittal, $cur_transmittalitem, $cur_role, $cur_acopath, $cur_acos;
$current = end($elementstack);
$parent = prev($elementstack);
@ -1637,6 +1671,15 @@ function characterData($parser, $data) { /* {{{ */
else
$cur_reviewlog['attributes'][$current['attributes']['NAME']] = $data;
break;
case 'RECEIPT':
$cur_receipt['attributes'][$current['attributes']['NAME']] = $data;
break;
case 'RECEIPTLOG':
if(isset($cur_receiptlog['attributes'][$current['attributes']['NAME']]))
$cur_receiptlog['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_receiptlog['attributes'][$current['attributes']['NAME']] = $data;
break;
case 'WORKFLOWLOG':
if(isset($cur_workflowlog['attributes'][$current['attributes']['NAME']]))
$cur_workflowlog['attributes'][$current['attributes']['NAME']] .= $data;