mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
list documents in revision/reception without access
This commit is contained in:
parent
761247fe0d
commit
69e1bb66ad
|
@ -71,6 +71,36 @@ $unlinkeddocuments = $dms->checkDocuments();
|
|||
$nofilesizeversions = $dms->getNoFileSizeDocumentContent();
|
||||
$nochecksumversions = $dms->getNoChecksumDocumentContent();
|
||||
$duplicateversions = $dms->getDuplicateDocumentContent();
|
||||
$tmprevs = $dms->getDocumentsInRevision();
|
||||
$docsinrevision = array();
|
||||
foreach($tmprevs as $rev) {
|
||||
if($doc = $dms->getDocument($rev['documentID'])) {
|
||||
if($rev['type'] == 0) {
|
||||
$ruser = $dms->getUser($rev['required']);
|
||||
$mode = $doc->getAccessMode($ruser);
|
||||
} elseif($rev['type'] == 1) {
|
||||
$rgroup = $dms->getGroup($rev['required']);
|
||||
$mode = $doc->getGroupAccessMode($rgroup);
|
||||
}
|
||||
if($mode < M_READ)
|
||||
$docsinrevision[] = $doc;
|
||||
}
|
||||
}
|
||||
$tmprevs = $dms->getDocumentsInReception();
|
||||
$docsinreception = array();
|
||||
foreach($tmprevs as $rev) {
|
||||
if($doc = $dms->getDocument($rev['documentID'])) {
|
||||
if($rev['type'] == 0) {
|
||||
$ruser = $dms->getUser($rev['required']);
|
||||
$mode = $doc->getAccessMode($ruser);
|
||||
} elseif($rev['type'] == 1) {
|
||||
$rgroup = $dms->getGroup($rev['required']);
|
||||
$mode = $doc->getGroupAccessMode($rgroup);
|
||||
}
|
||||
if($mode < M_READ)
|
||||
$docsinreception[] = $doc;
|
||||
}
|
||||
}
|
||||
$rootfolder = $dms->getFolder($settings->_rootFolderID);
|
||||
|
||||
function repair_tree($dms, $user, $folder, $path=':') { /* {{{ */
|
||||
|
@ -133,12 +163,18 @@ if($view) {
|
|||
$view->setParam('nofilesizeversions', $nofilesizeversions);
|
||||
$view->setParam('nochecksumversions', $nochecksumversions);
|
||||
$view->setParam('duplicateversions', $duplicateversions);
|
||||
$view->setParam('docsinrevision', $docsinrevision);
|
||||
$view->setParam('docsinreception', $docsinreception);
|
||||
$view->setParam('unlink', $unlink);
|
||||
$view->setParam('setfilesize', $setfilesize);
|
||||
$view->setParam('setchecksum', $setchecksum);
|
||||
$view->setParam('repair', $repair);
|
||||
$view->setParam('rootfolder', $rootfolder);
|
||||
$view->setParam('repairobjects', $repairobjects);
|
||||
$view->setParam('cachedir', $settings->_cacheDir);
|
||||
$view->setParam('previewWidthList', $settings->_previewWidthList);
|
||||
$view->setParam('previewconverters', $settings->_converters['preview']);
|
||||
$view->setParam('timeout', $settings->_cmdTimeout);
|
||||
$view->setParam('accessobject', $accessop);
|
||||
$view($_GET);
|
||||
exit;
|
||||
|
|
|
@ -18,6 +18,11 @@
|
|||
*/
|
||||
require_once("class.Bootstrap.php");
|
||||
|
||||
/**
|
||||
* Include class to preview documents
|
||||
*/
|
||||
require_once("SeedDMS/Preview.php");
|
||||
|
||||
/**
|
||||
* Class which outputs the html page for ObjectCheck view
|
||||
*
|
||||
|
@ -31,6 +36,55 @@ require_once("class.Bootstrap.php");
|
|||
*/
|
||||
class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
|
||||
|
||||
protected function printListHeader($resArr, $previewer, $order=false) { /* {{{ */
|
||||
$orderby = $this->params['orderby'];
|
||||
$orderdir = $this->params['orderdir'];
|
||||
|
||||
print "<table class=\"table table-condensed\">";
|
||||
print "<thead>\n<tr>\n";
|
||||
print "<th></th>\n";
|
||||
if($order)
|
||||
print "<th><a data-action=\"".$order."\" data-orderby=\"n\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("name")."</a> ".($orderby == 'n' || $orderby == '' ? ($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')." · <a data-action=\"".$order."\" data-orderby=\"u\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("last_update")."</a> ".($orderby == 'u' ? ($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')." · <a data-action=\"".$order."\" data-orderby=\"e\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("expires")."</a> ".($orderby == 'e' ? ($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')."</th>\n";
|
||||
else
|
||||
print "<th>".getMLText("name")."</th>\n";
|
||||
if($order)
|
||||
print "<th><a data-action=\"".$order."\" data-orderby=\"s\" data-orderdir=\"".($orderdir == 'desc' ? '' : 'desc')."\">".getMLText("status")."</a>".($orderby == 's' ? " ".($orderdir == 'desc' ? '<i class="icon-arrow-up"></i>' : '<i class="icon-arrow-down"></i>') : '')."</th>\n";
|
||||
else
|
||||
print "<th>".getMLText("status")."</th>\n";
|
||||
print "<th>".getMLText("action")."</th>\n";
|
||||
print "</tr>\n</thead>\n<tbody>\n";
|
||||
} /* }}} */
|
||||
|
||||
protected function printListFooter() { /* {{{ */
|
||||
echo "</tbody>\n</table>";
|
||||
} /* }}} */
|
||||
|
||||
protected function printList($resArr, $previewer, $order=false) { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
|
||||
$this->printListHeader($resArr, $previewer, $order);
|
||||
$noaccess = 0;
|
||||
foreach ($resArr as $document) {
|
||||
$document->verifyLastestContentExpriry();
|
||||
|
||||
if($document->getAccessMode($user) >= M_READ && $document->getLatestContent()) {
|
||||
$txt = $this->callHook('documentListItem', $document, $previewer, false);
|
||||
if(is_string($txt))
|
||||
echo $txt;
|
||||
else
|
||||
echo $this->documentListRow($document, $previewer, false);
|
||||
} else {
|
||||
$noaccess++;
|
||||
}
|
||||
}
|
||||
$this->printListFooter();
|
||||
|
||||
if($noaccess) {
|
||||
$this->warningMsg(getMLText('list_contains_no_access_docs', array('count'=>$noaccess)));
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
function _tree($dms, $user, $folder, $path=':') { /* {{{ */
|
||||
|
||||
$objects = array();
|
||||
|
@ -459,6 +513,46 @@ class SeedDMS_View_ObjectCheck extends SeedDMS_Bootstrap_Style {
|
|||
}
|
||||
} /* }}} */
|
||||
|
||||
function listDocsInRevisionNoAccess() { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
$folder = $this->params['folder'];
|
||||
$docsinrevision = $this->params['docsinrevision'];
|
||||
$cachedir = $this->params['cachedir'];
|
||||
$previewwidth = $this->params['previewWidthList'];
|
||||
$previewconverters = $this->params['previewconverters'];
|
||||
$timeout = $this->params['timeout'];
|
||||
|
||||
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
|
||||
$previewer->setConverters($previewconverters);
|
||||
|
||||
$this->contentHeading(getMLText("docs_in_revision_no_access"));
|
||||
|
||||
if($docsinrevision) {
|
||||
$this->printList($docsinrevision, $previewer, 'listDocsInRevisionNoAccess');
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
function listDocsInReceptionNoAccess() { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
$folder = $this->params['folder'];
|
||||
$docsinreception = $this->params['docsinreception'];
|
||||
$cachedir = $this->params['cachedir'];
|
||||
$previewwidth = $this->params['previewWidthList'];
|
||||
$previewconverters = $this->params['previewconverters'];
|
||||
$timeout = $this->params['timeout'];
|
||||
|
||||
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
|
||||
$previewer->setConverters($previewconverters);
|
||||
|
||||
$this->contentHeading(getMLText("docs_in_revision_no_access"));
|
||||
|
||||
if($docsinreception) {
|
||||
$this->printList($docsinreception, $previewer, 'listDocsInReceptionNoAccess');
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
function js() { /* {{{ */
|
||||
$user = $this->params['user'];
|
||||
$folder = $this->params['folder'];
|
||||
|
@ -494,6 +588,8 @@ $(document).ready( function() {
|
|||
$nofilesizeversions = $this->params['nofilesizeversions'];
|
||||
$nochecksumversions = $this->params['nochecksumversions'];
|
||||
$duplicateversions = $this->params['duplicateversions'];
|
||||
$docsinrevision = $this->params['docsinrevision'];
|
||||
$docsinreception = $this->params['docsinreception'];
|
||||
$repair = $this->params['repair'];
|
||||
$unlink = $this->params['unlink'];
|
||||
$setfilesize = $this->params['setfilesize'];
|
||||
|
@ -523,6 +619,8 @@ $(document).ready( function() {
|
|||
$this->contentHeading(getMLText("object_check_warning"));
|
||||
echo '<ul class="nav nav-list bs-docs-sidenav _affix">';
|
||||
echo '<li class=""><a data-href="#duplicate_content" data-action="listDuplicateContent"><span class="badge '.($duplicateversions ? 'badge-info ' : '').'badge-right">'.count($duplicateversions).'</span>'.getMLText("duplicate_content").'</a></li>';
|
||||
echo '<li class=""><a data-href="#inrevision_no_access" data-action="listDocsInRevisionNoAccess"><span class="badge '.($docsinrevision ? 'badge-info ' : '').'badge-right">'.count($docsinrevision).'</span>'.getMLText("docs_in_revision_no_access").'</a></li>';
|
||||
echo '<li class=""><a data-href="#inreception_no_access" data-action="listDocsInReceptionNoAccess"><span class="badge '.($docsinreception ? 'badge-info ' : '').'badge-right">'.count($docsinreception).'</span>'.getMLText("docs_in_reception_no_access").'</a></li>';
|
||||
echo '</ul>';
|
||||
echo '</div>';
|
||||
echo '<div class="span9">';
|
||||
|
|
Loading…
Reference in New Issue
Block a user