mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-03-12 00:45:34 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
4eba2e3283
|
@ -206,10 +206,14 @@ class Settings { /* {{{ */
|
|||
var $_addManagerAsReviewer = false;
|
||||
// group manager is mandatory approver
|
||||
var $_addManagerAsApprover = false;
|
||||
// global reviewer
|
||||
// global individuel reviewer
|
||||
var $_globalReviewer = array();
|
||||
// global approver
|
||||
// global individuel approver
|
||||
var $_globalApprover = array();
|
||||
// global group reviewer
|
||||
var $_globalGroupReviewer = array();
|
||||
// global group approver
|
||||
var $_globalGroupApprover = array();
|
||||
// enable/disable default notification for owner
|
||||
var $_enableOwnerNotification = false;
|
||||
// enable/disable deleting of versions for regular users
|
||||
|
@ -819,6 +823,10 @@ class Settings { /* {{{ */
|
|||
$this->_globalReviewer = explode(',',strval($tab["globalReviewer"]));
|
||||
if(trim(strval($tab["globalApprover"])))
|
||||
$this->_globalApprover = explode(',',strval($tab["globalApprover"]));
|
||||
if(trim(strval($tab["globalGroupReviewer"])))
|
||||
$this->_globalGroupReviewer = explode(',',strval($tab["globalGroupReviewer"]));
|
||||
if(trim(strval($tab["globalGroupApprover"])))
|
||||
$this->_globalGroupApprover = explode(',',strval($tab["globalGroupApprover"]));
|
||||
$this->_presetExpirationDate = strval($tab["presetExpirationDate"]);
|
||||
$this->_initialDocumentStatus = intval($tab["initialDocumentStatus"]);
|
||||
$this->_versioningFileName = strval($tab["versioningFileName"]);
|
||||
|
@ -1195,6 +1203,8 @@ class Settings { /* {{{ */
|
|||
$this->setXMLAttributValue($node, "addManagerAsApprover", $this->_addManagerAsApprover);
|
||||
$this->setXMLAttributValue($node, "globalReviewer", implode(',', $this->_globalReviewer));
|
||||
$this->setXMLAttributValue($node, "globalApprover", implode(',', $this->_globalApprover));
|
||||
$this->setXMLAttributValue($node, "globalGroupReviewer", implode(',', $this->_globalGroupReviewer));
|
||||
$this->setXMLAttributValue($node, "globalGroupApprover", implode(',', $this->_globalGroupApprover));
|
||||
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
|
||||
$this->setXMLAttributValue($node, "apiOrigin", $this->_apiOrigin);
|
||||
$this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName);
|
||||
|
|
|
@ -1105,6 +1105,11 @@ function getMandatoryReviewers($folder, $document, $user) { /* {{{ */
|
|||
$revi = array_merge($revi, $settings->_globalReviewer);
|
||||
}
|
||||
|
||||
/* Add global group reviewers as mandatory reviewers */
|
||||
if(!empty($settings->_globalGroupReviewer)) {
|
||||
$revg = array_merge($revg, $settings->_globalGroupReviewer);
|
||||
}
|
||||
|
||||
/* Check if reviewers are allowed to review */
|
||||
$revi = array_unique($revi);
|
||||
$revg = array_unique($revg);
|
||||
|
@ -1186,6 +1191,11 @@ function getMandatoryApprovers($folder, $document, $user) { /* {{{ */
|
|||
$appi = array_merge($appi, $settings->_globalApprover);
|
||||
}
|
||||
|
||||
/* Add global group approvers as mandatory approvers */
|
||||
if(!empty($settings->_globalGroupApprover)) {
|
||||
$appg = array_merge($appg, $settings->_globalGroupApprover);
|
||||
}
|
||||
|
||||
/* Check if approvers are allowed to approve */
|
||||
$appi = array_unique($appi);
|
||||
$appg = array_unique($appg);
|
||||
|
|
|
@ -263,6 +263,8 @@ if ($action == "saveSettings")
|
|||
setBoolValue("addManagerAsApprover");
|
||||
setArrayValue("globalReviewer");
|
||||
setArrayValue("globalApprover");
|
||||
setArrayValue("globalGroupReviewer");
|
||||
setArrayValue("globalGroupApprover");
|
||||
setBoolValue("enableUpdateRevApp");
|
||||
setBoolValue("enableRemoveRevApp");
|
||||
setBoolValue("enableAdminReceipt");
|
||||
|
|
|
@ -149,6 +149,7 @@ $(document).ready( function() {
|
|||
function showGroupForm($group) { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
$settings = $this->params['settings'];
|
||||
$allUsers = $this->params['allusers'];
|
||||
$groups = $this->params['allgroups'];
|
||||
$sortusersinlist = $this->params['sortusersinlist'];
|
||||
|
@ -213,7 +214,16 @@ $(document).ready( function() {
|
|||
print "<form action=\"../op/op.GroupMgr.php\" method=\"post\" class=\"form-inline\" style=\"display: inline-block; margin-bottom: 0px;\"><input type=\"hidden\" name=\"action\" value=\"rmmember\" /><input type=\"hidden\" name=\"groupid\" value=\"".$group->getID()."\" /><input type=\"hidden\" name=\"userid\" value=\"".$member->getID()."\" />".createHiddenFieldWithKey('rmmember')."<button type=\"submit\" class=\"btn btn-danger btn-mini btn-sm\"><i class=\"fa fa-remove\"></i><span class=\"d-none d-lg-block\"> ".getMLText("delete")."</span></button></form>";
|
||||
print " ";
|
||||
print "<form action=\"../op/op.GroupMgr.php\" method=\"post\" class=\"form-inline\" style=\"display: inline-block; margin-bottom: 0px;\"><input type=\"hidden\" name=\"groupid\" value=\"".$group->getID()."\" /><input type=\"hidden\" name=\"action\" value=\"tmanager\" /><input type=\"hidden\" name=\"userid\" value=\"".$member->getID()."\" />".createHiddenFieldWithKey('tmanager')."<button type=\"submit\" class=\"btn btn-secondary btn-mini btn-sm\"><i class=\"fa fa-random\"></i><span class=\"d-none d-lg-block\"> ".getMLText("toggle_manager")."</span></button></form>";
|
||||
print "</td></tr>";
|
||||
print "</td>";
|
||||
echo "<td>";
|
||||
if($group->isMember($member, true) && $member->isAdmin() && $settings->_addManagerAsReviewer && !$settings->_enableAdminRevApp) {
|
||||
$this->warningMsg(getMLText("settings_manager_reviewer_is_admin", ['login'=>$member->getLogin()]));
|
||||
}
|
||||
if($group->isMember($member, true) && $member->isAdmin() && $settings->_addManagerAsApprover && !$settings->_enableAdminRevApp) {
|
||||
$this->warningMsg(getMLText("settings_manager_approver_is_admin", ['login'=>$member->getLogin()]));
|
||||
}
|
||||
echo "</td>";
|
||||
print "</tr>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -548,6 +548,8 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
|
|||
<?php $this->showConfigCheckbox('settings_addManagerAsApprover', 'addManagerAsApprover'); ?>
|
||||
<?php $this->showConfigUser('settings_globalReviewer', 'globalReviewer', true, true); ?>
|
||||
<?php $this->showConfigUser('settings_globalApprover', 'globalApprover', true, true); ?>
|
||||
<?php $this->showConfigGroup('settings_globalGroupReviewer', 'globalGroupReviewer', true, true); ?>
|
||||
<?php $this->showConfigGroup('settings_globalGroupApprover', 'globalGroupApprover', true, true); ?>
|
||||
<?php $this->showConfigCheckbox('settings_enableVersionDeletion', 'enableVersionDeletion'); ?>
|
||||
<?php $this->showConfigCheckbox('settings_enableVersionModification', 'enableVersionModification'); ?>
|
||||
<?php $this->showConfigCheckbox('settings_enableDuplicateDocNames', 'enableDuplicateDocNames'); ?>
|
||||
|
@ -786,6 +788,22 @@ if(is_writeable($settings->_configFilePath)) {
|
|||
$this->warningMsg(getMLText("settings_partionsize_below_max_filesize"));
|
||||
}
|
||||
|
||||
/* Check if globally defined reviewer/approvers are admins */
|
||||
if(!$settings->_enableAdminRevApp) {
|
||||
foreach($settings->_globalReviewer as $uid) {
|
||||
$u = $dms->getUser($uid);
|
||||
if($u->isAdmin()) {
|
||||
$this->warningMsg(getMLText("settings_global_reviewer_is_admin", ['login'=>$u->getLogin()]));
|
||||
}
|
||||
}
|
||||
foreach($settings->_globalReviewer as $uid) {
|
||||
$u = $dms->getUser($uid);
|
||||
if($u->isAdmin()) {
|
||||
$this->warningMsg(getMLText("settings_global_approver_is_admin", ['login'=>$u->getLogin()]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
|
||||
if($this->hasHook('checkConfig'))
|
||||
$this->callHook('checkConfig', $extname, $extconf);
|
||||
|
|
Loading…
Reference in New Issue
Block a user