From b36b776f10a3a3627223f1385fde1ccc5e24abf5 Mon Sep 17 00:00:00 2001 From: jfefe Date: Fri, 15 Mar 2013 23:39:18 +0100 Subject: [PATCH] IKM : work on new extrafield separator type --- htdocs/core/class/extrafields.class.php | 27 ++++++++++++++----- htdocs/core/tpl/admin_extrafields_add.tpl.php | 14 +++++++--- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index b09ee145ebf..d917d6283ce 100755 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -64,7 +64,7 @@ class ExtraFields 'phone'=>'ExtrafieldPhone', 'mail'=>'ExtrafieldMail', 'select' => 'ExtrafieldSelect', - 'separator' => 'ExtrafieldSeparator' + 'separate' => 'ExtrafieldSeparator' ); /** @@ -103,14 +103,13 @@ class ExtraFields if (empty($attrname)) return -1; if (empty($label)) return -1; - - // Create field into database except for separator type - if ($elementtype != 'separator') + // Create field into database except for separator type which is not stored in database + if ($type != 'separate') { $result=$this->create($attrname,$type,$size,$elementtype, $unique, $required, $default_value,$param); } $err1=$this->errno; - if ($result > 0 || $err1 == 'DB_ERROR_COLUMN_ALREADY_EXISTS' || $elementtype == 'separator') + if ($result > 0 || $err1 == 'DB_ERROR_COLUMN_ALREADY_EXISTS' || $type == 'separate') { // Add declaration of field into table $result2=$this->create_label($attrname,$label,$type,$pos,$size,$elementtype, $unique, $required, $param); @@ -550,8 +549,13 @@ class ExtraFields { while ($tab = $this->db->fetch_object($resql)) { + // we can add this attribute to adherent object - $array_name_label[$tab->name]=$tab->label; + if ($tab->type != 'separate') + { + $array_name_label[$tab->name]=$tab->label; + } + $this->attribute_type[$tab->name]=$tab->type; $this->attribute_label[$tab->name]=$tab->label; $this->attribute_size[$tab->name]=$tab->size; @@ -734,5 +738,16 @@ class ExtraFields return $out; } + /** + * Return HTML string to print separator extrafield + * + * @param string $key Key of attribute + * @return string + */ + function showSeparator($key) + { + $out = ''.$this->attribute_label[$key].''; + return $out; + } } ?> diff --git a/htdocs/core/tpl/admin_extrafields_add.tpl.php b/htdocs/core/tpl/admin_extrafields_add.tpl.php index 864eaa13f0d..5be1b8baaae 100644 --- a/htdocs/core/tpl/admin_extrafields_add.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_add.tpl.php @@ -25,11 +25,18 @@ var size = jQuery("#size"); var unique = jQuery("#unique"); var required = jQuery("#required"); + var default_value = jQuery("#default_value"); if (type == 'date') { size.val('').attr('disabled','disabled'); unique.removeAttr('disabled','disabled'); jQuery("#value_choice").hide(); } @@ -41,6 +48,7 @@ else if (type == 'boolean') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").hide();} else if (type == 'price') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").hide();} else if (type == 'select') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").show();} + else if (type == 'separate') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); required.val('').attr('disabled','disabled'); default_value.val('').attr('disabled','disabled'); jQuery("#value_choice").hide();} else size.val('').attr('disabled','disabled'); } init_typeoffields(''); @@ -64,7 +72,7 @@ trans("Label"); ?> -trans("AttributeCode"); ?> (trans("AlphaNumOnlyCharsAndNoSpace"); ?>) +trans("AttributeCode"); ?> (trans("AlphaNumOnlyCharsAndNoSpace"); ?>) @@ -75,7 +83,7 @@ -trans("DefaultValue"); ?>"> +trans("DefaultValue"); ?>"> trans("Size"); ?>