From 8b5df26f1662edd94cd4904b0ffd513f2b787f4c Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Thu, 7 Mar 2024 09:28:03 +0800 Subject: [PATCH] * Adjust dtable fields display rule. --- module/datatable/model.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/module/datatable/model.php b/module/datatable/model.php index 1271ef5329..94485379d4 100644 --- a/module/datatable/model.php +++ b/module/datatable/model.php @@ -116,15 +116,13 @@ class datatableModel extends model { foreach($fieldSetting as $field => $set) { - if(isset($fieldList[$field])) + if(!$showAll && empty($set['required']) && empty($set['show'])) { - foreach($fieldList[$field] as $key => $value) - { - if(!isset($set[$key])) $fieldSetting[$field][$key] = $value; - } + unset($fieldSetting[$field]); + continue; } - if(!$showAll && empty($set['required']) && empty($set['show'])) + if(isset($set['display']) && $set['display'] === false) { unset($fieldSetting[$field]); continue; @@ -136,11 +134,20 @@ class datatableModel extends model continue; } + if(isset($fieldList[$field])) + { + foreach($fieldList[$field] as $key => $value) + { + if(!isset($set[$key])) $fieldSetting[$field][$key] = $value; + } + } + if(!isset($set['name'])) $fieldSetting[$field]['name'] = $field; if($module == 'testcase' && $field == 'id') $fieldSetting[$field]['name'] = 'caseID'; if($field == 'actions' && empty($fieldSetting[$field]['width'])) $fieldSetting[$field]['width'] = $fieldList[$field]['width']; - if(in_array($module, array('product', 'project', 'execution')) and empty($this->config->setCode)) unset($fieldSetting['code']); } + + if(in_array($module, array('product', 'project', 'execution')) and empty($this->config->setCode)) unset($fieldSetting['code']); } uasort($fieldSetting, array('datatableModel', 'sortCols'));