mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-11 17:44:56 +00:00
manage file uploaded with review or approval
This commit is contained in:
parent
4d0a64266e
commit
d55346ba0f
|
@ -1475,6 +1475,17 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
|
|||
$stList = "";
|
||||
foreach ($status as $st) {
|
||||
$stList .= (strlen($stList)==0 ? "" : ", "). "'".$st["reviewID"]."'";
|
||||
$queryStr = "SELECT * FROM tblDocumentReviewLog WHERE reviewID = " . $st['reviewID'];
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
if ((is_bool($resArr) && !$resArr)) {
|
||||
$db->rollbackTransaction();
|
||||
return false;
|
||||
}
|
||||
foreach($resArr as $res) {
|
||||
$file = $this->_dms->contentDir . $this->getDir().'r'.$res['reviewLogID'];
|
||||
if(file_exists($file))
|
||||
SeedDMS_Core_File::removeFile($file);
|
||||
}
|
||||
if ($st["status"]==0 && !in_array($st["required"], $emailList)) {
|
||||
$emailList[] = $st["required"];
|
||||
}
|
||||
|
@ -1496,10 +1507,22 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
|
|||
$stList = "";
|
||||
foreach ($status as $st) {
|
||||
$stList .= (strlen($stList)==0 ? "" : ", "). "'".$st["approveID"]."'";
|
||||
$queryStr = "SELECT * FROM tblDocumentApproveLog WHERE approveID = " . $st['approveID'];
|
||||
$resArr = $db->getResultArray($queryStr);
|
||||
if ((is_bool($resArr) && !$resArr)) {
|
||||
$db->rollbackTransaction();
|
||||
return false;
|
||||
}
|
||||
foreach($resArr as $res) {
|
||||
$file = $this->_dms->contentDir . $this->getDir().'a'.$res['approveLogID'];
|
||||
if(file_exists($file))
|
||||
SeedDMS_Core_File::removeFile($file);
|
||||
}
|
||||
if ($st["status"]==0 && !in_array($st["required"], $emailList)) {
|
||||
$emailList[] = $st["required"];
|
||||
}
|
||||
}
|
||||
|
||||
if (strlen($stList)>0) {
|
||||
$queryStr = "DELETE FROM `tblDocumentApproveLog` WHERE `tblDocumentApproveLog`.`approveID` IN (".$stList.")";
|
||||
if (!$db->getResult($queryStr)) {
|
||||
|
@ -2522,6 +2545,13 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
unset($this->_reviewStatus);
|
||||
return false;
|
||||
}
|
||||
foreach($res as &$t) {
|
||||
$filename = $this->_dms->contentDir . $this->_document->getDir().'r'.$t['reviewLogID'];
|
||||
if(file_exists($filename))
|
||||
$t['file'] = $filename;
|
||||
else
|
||||
$t['file'] = '';
|
||||
}
|
||||
$this->_reviewStatus = array_merge($this->_reviewStatus, $res);
|
||||
}
|
||||
}
|
||||
|
@ -2557,7 +2587,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
if($recs) {
|
||||
foreach($recs as $rec) {
|
||||
$queryStr=
|
||||
"SELECT `tblDocumentApprovers`.*, `tblDocumentApproveLog`.`status`, ".
|
||||
"SELECT `tblDocumentApprovers`.*, `tblDocumentApproveLog`.`approveLogId`, `tblDocumentApproveLog`.`status`, ".
|
||||
"`tblDocumentApproveLog`.`comment`, `tblDocumentApproveLog`.`date`, ".
|
||||
"`tblDocumentApproveLog`.`userID`, `tblUsers`.`fullName`, `tblGroups`.`name` AS `groupName` ".
|
||||
"FROM `tblDocumentApprovers` ".
|
||||
|
@ -2572,6 +2602,13 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
unset($this->_approvalStatus);
|
||||
return false;
|
||||
}
|
||||
foreach($res as &$t) {
|
||||
$filename = $this->_dms->contentDir . $this->_document->getDir().'a'.$t['approveLogId'];
|
||||
if(file_exists($filename))
|
||||
$t['file'] = $filename;
|
||||
else
|
||||
$t['file'] = '';
|
||||
}
|
||||
$this->_approvalStatus = array_merge($this->_approvalStatus, $res);
|
||||
}
|
||||
}
|
||||
|
@ -2723,7 +2760,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
* @param string $comment comment for review
|
||||
* @return integer new review log id
|
||||
*/
|
||||
function setReviewByInd($user, $requestUser, $status, $comment) { /* {{{ */
|
||||
function setReviewByInd($user, $requestUser, $status, $comment, $file='') { /* {{{ */
|
||||
$db = $this->_document->_dms->getDB();
|
||||
|
||||
// Check to see if the user can be removed from the review list.
|
||||
|
@ -2753,10 +2790,12 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
$res=$db->getResult($queryStr);
|
||||
if (is_bool($res) && !$res)
|
||||
return -1;
|
||||
else {
|
||||
$reviewLogID = $db->getInsertID();
|
||||
return $reviewLogID;
|
||||
|
||||
$reviewLogID = $db->getInsertID();
|
||||
if($file) {
|
||||
SeedDMS_Core_File::copyFile($file, $this->_dms->contentDir . $this->_document->getDir() . 'r' . $reviewLogID);
|
||||
}
|
||||
return $reviewLogID;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
|
@ -2773,7 +2812,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
* @param string $comment comment for review
|
||||
* @return integer new review log id
|
||||
*/
|
||||
function setReviewByGrp($group, $requestUser, $status, $comment) { /* {{{ */
|
||||
function setReviewByGrp($group, $requestUser, $status, $comment, $file='') { /* {{{ */
|
||||
$db = $this->_document->_dms->getDB();
|
||||
|
||||
// Check to see if the user can be removed from the review list.
|
||||
|
@ -2805,6 +2844,9 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
return -1;
|
||||
else {
|
||||
$reviewLogID = $db->getInsertID();
|
||||
if($file) {
|
||||
SeedDMS_Core_File::copyFile($file, $this->_dms->contentDir . $this->_document->getDir() . 'r' . $reviewLogID);
|
||||
}
|
||||
return $reviewLogID;
|
||||
}
|
||||
} /* }}} */
|
||||
|
@ -2953,7 +2995,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
* @param string $comment approval comment
|
||||
* @return integer 0 on success, < 0 in case of an error
|
||||
*/
|
||||
function setApprovalByInd($user, $requestUser, $status, $comment) { /* {{{ */
|
||||
function setApprovalByInd($user, $requestUser, $status, $comment, $file='') { /* {{{ */
|
||||
$db = $this->_document->_dms->getDB();
|
||||
|
||||
// Check to see if the user can be removed from the approval list.
|
||||
|
@ -2983,8 +3025,12 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
$res=$db->getResult($queryStr);
|
||||
if (is_bool($res) && !$res)
|
||||
return -1;
|
||||
else
|
||||
return 0;
|
||||
|
||||
$approveLogID = $db->getInsertID();
|
||||
if($file) {
|
||||
SeedDMS_Core_File::copyFile($file, $this->_dms->contentDir . $this->_document->getDir() . 'a' . $approveLogID);
|
||||
}
|
||||
return $approveLogId;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
|
@ -2993,7 +3039,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
* {link SeedDMS_Core_DocumentContent::setApprovalByInd} but does it for
|
||||
* group instead of a user
|
||||
*/
|
||||
function setApprovalByGrp($group, $requestUser, $status, $comment) { /* {{{ */
|
||||
function setApprovalByGrp($group, $requestUser, $status, $comment, $file='') { /* {{{ */
|
||||
$db = $this->_document->_dms->getDB();
|
||||
|
||||
// Check to see if the user can be removed from the approval list.
|
||||
|
@ -3023,8 +3069,12 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
|
|||
$res=$db->getResult($queryStr);
|
||||
if (is_bool($res) && !$res)
|
||||
return -1;
|
||||
else
|
||||
return 0;
|
||||
|
||||
$approveLogID = $db->getInsertID();
|
||||
if($file) {
|
||||
SeedDMS_Core_File::copyFile($file, $this->_dms->contentDir . $this->_document->getDir() . 'a' . $approveLogID);
|
||||
}
|
||||
return $approveLogId;
|
||||
} /* }}} */
|
||||
|
||||
function delIndReviewer($user, $requestUser) { /* {{{ */
|
||||
|
|
Loading…
Reference in New Issue
Block a user