Merge branch 'seeddms-5.1.x' into seeddms-6.0.x

This commit is contained in:
Uwe Steinmann 2021-04-27 20:57:54 +02:00
commit 86fa6269b4
4 changed files with 255 additions and 14 deletions

View File

@ -201,6 +201,7 @@
Changes in version 5.1.23
--------------------------------------------------------------------------------
- output path of parent folder in many document/folder lists
- list affected documents when transfering processes to another user
--------------------------------------------------------------------------------
Changes in version 5.1.22

View File

@ -48,11 +48,23 @@ if ($rmuser->getID()==$user->getID()) {
UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_yourself"));
}
$task = null;
if (isset($_GET["task"])) {
$task = $_GET['task'];
}
$allusers = $dms->getAllUsers($settings->_sortUsersInList);
if($view) {
$view->setParam('showtree', showtree());
$view->setParam('rmuser', $rmuser);
$view->setParam('allusers', $allusers);
$view->setParam('task', $task);
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('rootfolder', $dms->getFolder($settings->_rootFolderID));
$view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->setParam('timeout', $settings->_cmdTimeout);
$view->setParam('accessobject', $accessop);
$view($_GET);
exit;

View File

@ -27,6 +27,232 @@
*/
class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
public function js() { /* {{{ */
header('Content-Type: application/javascript; charset=UTF-8');
?>
$(document).ready( function() {
$('body').on('click', 'label.checkbox', function(ev){
ev.preventDefault();
$('#kkkk.ajax').data('action', $(this).data('action'));
$('#kkkk.ajax').trigger('update', {userid: $(this).data('userid'), task: $(this). data('task')});
});
});
<?php
} /* }}} */
function printList() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$cachedir = $this->params['cachedir'];
$rootfolder = $this->params['rootfolder'];
$previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$timeout = $this->params['timeout'];
$rmuser = $this->params['rmuser'];
$task = $this->params['task'];
if(!$task)
return;
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
$previewer->setConverters($previewconverters);
$docs = array();
switch($task) {
case "reviews_not_touched":
$reviewStatus = $rmuser->getReviewStatus();
foreach($reviewStatus['indstatus'] as $ri) {
$document = $dms->getDocument($ri['documentID']);
$ri['latest'] = $document->getLatestContent()->getVersion();
if($ri['latest'] == $ri['version']) {
if($ri['status'] == 0) {
$document->verifyLastestContentExpriry();
$lc = $document->getLatestContent();
if($document->getAccessMode($user) >= M_READ && $lc) {
$docs[] = $document;
}
}
}
}
break;
case "reviews_accepted":
$reviewStatus = $rmuser->getReviewStatus();
foreach($reviewStatus['indstatus'] as $ri) {
$document = $dms->getDocument($ri['documentID']);
$ri['latest'] = $document->getLatestContent()->getVersion();
if($ri['latest'] == $ri['version']) {
if($ri['status'] == 1) {
$document->verifyLastestContentExpriry();
$lc = $document->getLatestContent();
if($document->getAccessMode($user) >= M_READ && $lc) {
$docs[] = $document;
}
}
}
}
break;
case "reviews_rejected":
$reviewStatus = $rmuser->getReviewStatus();
foreach($reviewStatus['indstatus'] as $ri) {
$document = $dms->getDocument($ri['documentID']);
$ri['latest'] = $document->getLatestContent()->getVersion();
if($ri['latest'] == $ri['version']) {
if($ri['status'] == -1) {
$docs[] = $document;
}
}
}
break;
case "approvals_not_touched":
$approvalStatus = $rmuser->getApprovalStatus();
foreach($approvalStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == 0) {
$docs[] = $document;
}
}
}
break;
case "approvals_accepted":
$approvalStatus = $rmuser->getApprovalStatus();
foreach($approvalStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == 1) {
$docs[] = $document;
}
}
}
break;
case "approvals_rejected":
$approvalStatus = $rmuser->getApprovalStatus();
foreach($approvalStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == -1) {
$docs[] = $document;
}
}
}
break;
case "receipts_not_touched":
$receiptStatus = $rmuser->getReceiptStatus();
foreach($receiptStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == 0) {
$docs[] = $document;
}
}
}
break;
case "receipts_accepted":
$receiptStatus = $rmuser->getReceiptStatus();
foreach($receiptStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == 1) {
$docs[] = $document;
}
}
}
break;
case "receipts_rejected":
$receiptStatus = $rmuser->getReceiptStatus();
foreach($receiptStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == -1) {
$docs[] = $document;
}
}
}
break;
case "revisions_not_touched":
$revisionStatus = $rmuser->getRevisionStatus();
foreach($revisionStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == 0) {
$docs[] = $document;
}
}
}
break;
case "revisions_accepted":
$revisionStatus = $rmuser->getRevisionStatus();
foreach($revisionStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == 1) {
$docs[] = $document;
}
}
}
break;
case "revisions_rejected":
$revisionStatus = $rmuser->getRevisionStatus();
foreach($revisionStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == -1) {
$docs[] = $document;
}
}
}
break;
case "revisions_pending":
$revisionStatus = $rmuser->getRevisionStatus();
foreach($revisionStatus['indstatus'] as $ai) {
$document = $dms->getDocument($ai['documentID']);
$ai['latest'] = $document->getLatestContent()->getVersion();
if($ai['latest'] == $ai['version']) {
if($ai['status'] == -3) {
$docs[] = $document;
}
}
}
break;
}
if($docs) {
print "<table class=\"table table-condensed table-sm\">";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
foreach($docs as $document) {
$document->verifyLastestContentExpriry();
$lc = $document->getLatestContent();
if($document->getAccessMode($user) >= M_READ && $lc) {
$txt = $this->callHook('documentListItem', $document, $previewer, false);
if(is_string($txt))
echo $txt;
else {
$extracontent = array();
$extracontent['below_title'] = $this->getListRowPath($document);
echo $this->documentListRowStart($document);
echo $this->documentListRow($document, $previewer, true, 0, $extracontent);
echo $this->documentListRowEnd($document);
}
}
}
echo "</tbody>\n</table>";
}
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
@ -135,7 +361,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', ' '.getMLText('reviews_not_touched_latest', array('no_reviews' => $cr["0"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="reviews_not_touched">', ' '.getMLText('reviews_not_touched_latest', array('no_reviews' => $cr["0"]))."</label>")
)
);
?>
@ -152,7 +378,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', ' '.getMLText('reviews_accepted_latest', array('no_reviews' => $cr["1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="reviews_accepted">', ' '.getMLText('reviews_accepted_latest', array('no_reviews' => $cr["1"]))."</label>")
)
);
?>
@ -169,7 +395,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', ' '.getMLText('reviews_rejected_latest', array('no_reviews' => $cr["-1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="reviews_rejected">', ' '.getMLText('reviews_rejected_latest', array('no_reviews' => $cr["-1"]))."</label>")
)
);
?>
@ -187,7 +413,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('approvals_not_touched_latest', array('no_approvals' => $ca["0"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="approvals_not_touched">', getMLText('approvals_not_touched_latest', array('no_approvals' => $ca["0"]))."</label>")
)
);
?>
@ -204,7 +430,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">',getMLText('approvals_accepted_latest', array('no_approvals' => $ca["1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="approvals_accepted">',getMLText('approvals_accepted_latest', array('no_approvals' => $ca["1"]))."</label>")
)
);
?>
@ -221,7 +447,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('approvals_rejected_latest', array('no_approvals' => $ca["-1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="approvals_rejected">', getMLText('approvals_rejected_latest', array('no_approvals' => $ca["-1"]))."</label>")
)
);
?>
@ -239,7 +465,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('receipts_not_touched_latest', array('no_receipts' => $cb["0"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="receipts_not_touched">', getMLText('receipts_not_touched_latest', array('no_receipts' => $cb["0"]))."</label>")
)
);
?>
@ -256,7 +482,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('receipts_accepted_latest', array('no_receipts' => $cb["1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="receipts_accepted">', getMLText('receipts_accepted_latest', array('no_receipts' => $cb["1"]))."</label>")
)
);
?>
@ -273,7 +499,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('receipts_rejected_latest', array('no_receipts' => $cb["-1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="receipts_rejected">', getMLText('receipts_rejected_latest', array('no_receipts' => $cb["-1"]))."</label>")
)
);
?>
@ -291,7 +517,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('revisions_not_touched_latest', array('no_revisions' => $cc["0"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="revisions_not_touched">', getMLText('revisions_not_touched_latest', array('no_revisions' => $cc["0"]))."</label>")
)
);
?>
@ -308,7 +534,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('revisions_pending_latest', array('no_revisions' => $cc["-3"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="revisions_pending">', getMLText('revisions_pending_latest', array('no_revisions' => $cc["-3"]))."</label>")
)
);
?>
@ -325,7 +551,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('revisions_accepted_latest', array('no_revisions' => $cc["1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="revisions_accepted">', getMLText('revisions_accepted_latest', array('no_revisions' => $cc["1"]))."</label>")
)
);
?>
@ -342,7 +568,7 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
'checked'=>false
),
array(
'field_wrap' => array('<label class="checkbox">', getMLText('revisions_rejected_latest', array('no_revisions' => $cc["-1"]))."</label>")
'field_wrap' => array('<label class="checkbox" data-action="printList" data-userid="'.$rmuser->getId().'" data-task="revisions_rejected">', getMLText('revisions_rejected_latest', array('no_revisions' => $cc["-1"]))."</label>")
)
);
?>
@ -375,6 +601,8 @@ class SeedDMS_View_RemoveUserFromProcesses extends SeedDMS_Theme_Style {
<?php
$this->columnEnd();
$this->columnStart(8);
echo '<div id="kkkk" class="ajax" data-view="RemoveUserFromProcesses" data-action="printList" data-query="userid='.$rmuser->getId().'"></div>';
$this->columnEnd();
$this->rowEnd();
$this->contentEnd();
$this->htmlEndPage();

View File

@ -210,7 +210,7 @@ $(document).ready( function() {
$button['menuitems'][] = array('label'=>'<i class="fa fa-unlink"></i> '.getMLText("rm_user_from_processes"), 'link'=>'../out/out.RemoveUserFromProcesses.php?userid='.$seluser->getID());
$button['menuitems'][] = array('label'=>'<i class="fa fa-share-square-o"></i> '.getMLText("transfer_objects"), 'link'=>'../out/out.TransferObjects.php?userid='.$seluser->getID());
if($user->isAdmin() && $seluser->getID() != $user->getID())
$button['menuitems'][] = array('label'=>'<i class=\"fa fa-exchange\"></i> '.getMLText("substitute_user"), 'link'=>'../op/op.SubstituteUser.php?userid='.$seluser->getID());
$button['menuitems'][] = array('label'=>'<i class="fa fa-exchange"></i> '.getMLText("substitute_user"), 'link'=>'../op/op.SubstituteUser.php?userid='.$seluser->getID());
if($enableemail)
$button['menuitems'][] = array('label'=>'<i class="fa fa-envelope-o"></i> '.getMLText("send_login_data"), 'link'=>'../out/out.SendLoginData.php?userid='.$seluser->getID());
self::showButtonwithMenu($button);