add new configuration noFolderFormFields

This commit is contained in:
Uwe Steinmann 2021-09-22 09:53:53 +02:00
parent da8765fe33
commit 3e1dcc3c75
5 changed files with 35 additions and 2 deletions

View File

@ -86,6 +86,9 @@ class Settings { /* {{{ */
// list of form fields which are visible by default but can be explixitly
// turn off (comment, keywords, categories, sequence, expiration, owner
var $_noDocumentFormFields = array();
// list of form fields which are visible by default but can be explixitly
// turn off (comment, keywords, categories, sequence, expiration, owner
var $_noFolderFormFields = array();
// Path to where SeedDMS is located
var $_rootDir = null;
// Path to SeedDMS_Core
@ -499,6 +502,8 @@ class Settings { /* {{{ */
$this->_inlineEditing = Settings::boolVal($tab["inlineEditing"]);
if(trim(strval($tab["noDocumentFormFields"])))
$this->_noDocumentFormFields = explode(',',strval($tab["noDocumentFormFields"]));
if(trim(strval($tab["noFolderFormFields"])))
$this->_noFolderFormFields = explode(',',strval($tab["noFolderFormFields"]));
$this->setViewOnlineFileTypesFromString(strval($tab["viewOnlineFileTypes"]));
$this->setEditOnlineFileTypesFromString(strval($tab["editOnlineFileTypes"]));
$this->_enableConverting = Settings::boolVal($tab["enableConverting"]);
@ -877,6 +882,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "strictFormCheck", $this->_strictFormCheck);
$this->setXMLAttributValue($node, "inlineEditing", $this->_inlineEditing);
$this->setXMLAttributValue($node, "noDocumentFormFields", implode(',', $this->_noDocumentFormFields));
$this->setXMLAttributValue($node, "noFolderFormFields", implode(',', $this->_noFolderFormFields));
$this->setXMLAttributValue($node, "viewOnlineFileTypes", $this->getViewOnlineFileTypesToString());
$this->setXMLAttributValue($node, "editOnlineFileTypes", $this->getEditOnlineFileTypesToString());
$this->setXMLAttributValue($node, "enableConverting", $this->_enableConverting);

View File

@ -120,6 +120,7 @@ if ($action == "saveSettings")
setBoolValue('strictFormCheck');
setBoolValue('inlineEditing');
setArrayValue('noDocumentFormFields');
setArrayValue('noFolderFormFields');
if(isset($_POST['viewOnlineFileTypes']) && !in_array('viewOnlineFileTypes', $settings->_hiddenConfFields))
$settings->setViewOnlineFileTypesFromString($_POST["viewOnlineFileTypes"]);
if(isset($_POST['editOnlineFileTypes']) && !in_array('editOnlineFileTypes', $settings->_hiddenConfFields))

View File

@ -50,7 +50,8 @@ $accessop = new SeedDMS_AccessOperation($dms, $folder, $user, $settings);
if($view) {
$view->setParam('folder', $folder);
$view->setParam('strictformcheck', $settings->_strictFormCheck);
$view->setParam('defaultposition', $settings->_defaultDocPosition);
$view->setParam('nofolderformfields', $settings->_noFolderFormFields);
$view->setParam('defaultposition', $settings->_defaultFolderPosition);
$view->setParam('orderby', $settings->_sortFoldersDefault);
$view->setParam('accessobject', $accessop);
$view($_GET);

View File

@ -52,6 +52,7 @@ $(document).ready( function() {
$user = $this->params['user'];
$folder = $this->params['folder'];
$strictformcheck = $this->params['strictformcheck'];
$nofolderformfields = $this->params['nofolderformfields'];
$orderby = $this->params['orderby'];
$this->htmlAddHeader('<script type="text/javascript" src="../views/'.$this->theme.'/vendors/jquery-validation/jquery.validate.js"></script>'."\n", 'js');
@ -85,6 +86,7 @@ $(document).ready( function() {
'required'=>true
)
);
if(!$nofolderformfields || !in_array('comment', $nofolderformfields))
$this->formField(
getMLText("comment"),
array(
@ -95,7 +97,25 @@ $(document).ready( function() {
'required'=>$strictformcheck
)
);
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getSubFolders('s')).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
if(!$nofolderformfields || !in_array('sequence', $nofolderformfields)) {
$this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getSubFolders('s')).($orderby != 's' ? "<br />".getMLText('order_by_sequence_off') : ''));
} else {
$minmax = $folder->getFoldersMinMax();
if($this->params['defaultposition'] == 'start') {
$seq = $minmax['min'] - 1;
} else {
$seq = $minmax['max'] + 1;
}
$this->formField(
null,
array(
'element'=>'input',
'type'=>'hidden',
'name'=>'sequence',
'value'=>(string) $seq,
)
);
}
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_folder, SeedDMS_Core_AttributeDefinition::objtype_all));
if($attrdefs) {
@ -130,6 +150,9 @@ $(document).ready( function() {
}
$this->contentContainerEnd();
/* FIXME: add section for adding notifications like in AddDocument */
$this->formSubmit("<i class=\"fa fa-save\"></i> ".getMLText('add_subfolder'));
?>
</form>

View File

@ -322,6 +322,7 @@ $this->showStartPaneContent('site', (!$currenttab || $currenttab == 'site'));
<?php $this->showConfigCheckbox('settings_strictFormCheck', 'strictFormCheck'); ?>
<?php $this->showConfigCheckbox('settings_inlineEditing', 'inlineEditing'); ?>
<?php $this->showConfigOption('settings_noDocumentFormFields', 'noDocumentFormFields', array('comment', 'keywords', 'categories', 'sequence', 'expires', 'version', 'version_comment', 'notification'), true, true); ?>
<?php $this->showConfigOption('settings_noFolderFormFields', 'noFolderFormFields', array('comment', 'sequence', 'notification'), true, true); ?>
<?php $this->showConfigText('settings_viewOnlineFileTypes', 'viewOnlineFileTypes', 'array'); ?>
<?php $this->showConfigText('settings_editOnlineFileTypes', 'editOnlineFileTypes', 'array'); ?>
<?php $this->showConfigCheckbox('settings_enableConverting', 'enableConverting'); ?>
@ -357,6 +358,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
<?php $this->showConfigOption('settings_sortUsersInList', 'sortUsersInList', array(' '=>'settings_sortUsersInList_val_login', 'fullname'=>'settings_sortUsersInList_val_fullname'), false, true); ?>
<?php $this->showConfigOption('settings_sortFoldersDefault', 'sortFoldersDefault', array('u'=>'settings_sortFoldersDefault_val_unsorted', 's'=>'settings_sortFoldersDefault_val_sequence', 'n'=>'settings_sortFoldersDefault_val_name'), false, true); ?>
<?php $this->showConfigOption('settings_defaultDocPosition', 'defaultDocPosition', array('end'=>'settings_defaultDocPosition_val_end', 'start'=>'settings_defaultDocPosition_val_start'), false, true); ?>
<?php $this->showConfigOption('settings_defaultFolderPosition', 'defaultFolderPosition', array('end'=>'settings_defaultDocPosition_val_end', 'start'=>'settings_defaultDocPosition_val_start'), false, true); ?>
<!--
-- SETTINGS - SITE - WEBDAV