From aff1b48c4445715abc7b350a0cdb6f815e89bdd0 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Thu, 18 May 2017 13:34:25 +0100 Subject: [PATCH] FEAT #5543 add "only_detail" parameter in custom field --- .../class/class_types_Abstract.php | 52 ++++++++++--------- .../indexing_searching/change_doctype.php | 10 +++- .../maarch_entreprise/xml/index_letterbox.xml | 1 + 3 files changed, 37 insertions(+), 26 deletions(-) mode change 100644 => 100755 apps/maarch_entreprise/indexing_searching/change_doctype.php mode change 100644 => 100755 apps/maarch_entreprise/xml/index_letterbox.xml diff --git a/apps/maarch_entreprise/class/class_types_Abstract.php b/apps/maarch_entreprise/class/class_types_Abstract.php index 4f11da36062..37cae27a605 100644 --- a/apps/maarch_entreprise/class/class_types_Abstract.php +++ b/apps/maarch_entreprise/class/class_types_Abstract.php @@ -987,13 +987,14 @@ abstract class types_Abstract extends database ); } $indexes[$col] = array( - 'label' => $label, - 'type' => (string) $item->type, - 'img' => $img, - 'type_field' => 'select', - 'values' => $values, + 'label' => $label, + 'type' => (string) $item->type, + 'img' => $img, + 'type_field' => 'select', + 'values' => $values, 'default_value' => $default, - 'origin' => 'document' + 'origin' => 'document', + 'only_detail' => $item->only_detail ); } else if (isset($item->table)) { $values = array(); @@ -1024,39 +1025,40 @@ abstract class types_Abstract extends database ); } $indexes[$col] = array( - 'label' => $label, - 'type' => (string) $item->type, - 'img' => $img, - 'type_field' => 'select', - 'values' => $values, + 'label' => $label, + 'type' => (string) $item->type, + 'img' => $img, + 'type_field' => 'select', + 'values' => $values, 'default_value' => $default, - 'origin' => 'document' + 'origin' => 'document', + 'only_detail' => $item->only_detail ); } else { $indexes[$col] = array( - 'label' => $label, - 'type' => (string) $item->type, - 'img' => $img, - 'type_field' => 'input', + 'label' => $label, + 'type' => (string) $item->type, + 'img' => $img, + 'type_field' => 'input', 'default_value' => $default, - 'origin' => 'document' + 'origin' => 'document', + 'only_detail' => $item->only_detail ); } } } - //print_r($indexes); + foreach(array_keys($indexes) as $key) { if (is_array($indexes[$key])) { - //print_r($indexes[$key]); - $indexes[$key]['label'] = functions::xssafe($indexes[$key]['label']); - $indexes[$key]['type'] = functions::xssafe($indexes[$key]['type']); - $indexes[$key]['img'] = functions::xssafe($indexes[$key]['img']); - $indexes[$key]['type_field'] = functions::xssafe($indexes[$key]['type_field']); + $indexes[$key]['label'] = functions::xssafe($indexes[$key]['label']); + $indexes[$key]['type'] = functions::xssafe($indexes[$key]['type']); + $indexes[$key]['img'] = functions::xssafe($indexes[$key]['img']); + $indexes[$key]['type_field'] = functions::xssafe($indexes[$key]['type_field']); $indexes[$key]['default_value'] = functions::xssafe($indexes[$key]['default_value']); - $indexes[$key]['origin'] = functions::xssafe($indexes[$key]['origin']); + $indexes[$key]['origin'] = functions::xssafe($indexes[$key]['origin']); + $indexes[$key]['only_detail'] = functions::xssafe($indexes[$key]['only_detail']); if (is_array($indexes[$key]['values'])) { for ($cpt=0;$cpt<count($indexes[$key]['values']);$cpt++) { - //print_r($indexes[$key]['values'][$cpt]); $indexes[$key]['values'][$cpt]['id'] = functions::xssafe($indexes[$key]['values'][$cpt]['id']); $indexes[$key]['values'][$cpt]['label'] = functions::xssafe($indexes[$key]['values'][$cpt]['label']); } diff --git a/apps/maarch_entreprise/indexing_searching/change_doctype.php b/apps/maarch_entreprise/indexing_searching/change_doctype.php old mode 100644 new mode 100755 index af0260a1736..76aa218f92c --- a/apps/maarch_entreprise/indexing_searching/change_doctype.php +++ b/apps/maarch_entreprise/indexing_searching/change_doctype.php @@ -98,7 +98,15 @@ if ($core->service_is_enabled('param_mlb_doctypes')) { } $mandatory_indexes = $type->get_mandatory_indexes($_REQUEST['type_id'], $coll_id); $indexes = $type->get_indexes($_REQUEST['type_id'], $coll_id); -//var_dump($coll_id);exit; + +if(is_array($indexes)){ + foreach ($indexes as $key => $value) { + if(filter_var($value['only_detail'], FILTER_VALIDATE_BOOLEAN)){ + unset($indexes[$key]); + } + } +} + $opt_indexes = ''; if (preg_match("/MSIE 6.0/", $_SERVER["HTTP_USER_AGENT"])) { $browser_ie = true; diff --git a/apps/maarch_entreprise/xml/index_letterbox.xml b/apps/maarch_entreprise/xml/index_letterbox.xml old mode 100644 new mode 100755 index 0869c49d739..ab4d19fcfe6 --- a/apps/maarch_entreprise/xml/index_letterbox.xml +++ b/apps/maarch_entreprise/xml/index_letterbox.xml @@ -13,6 +13,7 @@ <where_clause>enabled = 'Y'</where_clause> <order>order by lastname</order> </table> + <only_detail>true</only_detail> <!-- if true, field appear only in detail page and research. Display in all page otherwise. <default_value></default_value> </INDEX> --> -- GitLab