From fa53147d0a529875b9963d465172ad382c94abba Mon Sep 17 00:00:00 2001 From: jfefe Date: Sat, 16 Feb 2013 03:41:11 +0100 Subject: [PATCH] Retrieve extrafields when fetch thirparty Work on extrafields support in thirpdparty ODT document --- htdocs/core/class/commondocgenerator.class.php | 13 ++++++++++++- htdocs/societe/class/societe.class.php | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 8c8d79f7422..ec9ae1d2870 100755 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -134,7 +134,7 @@ abstract class CommonDocGenerator $object->state=getState($object->state_code,0); } - return array( + $array_thirdparty = array( 'company_name'=>$object->name, 'company_email'=>$object->email, 'company_phone'=>$object->phone, @@ -163,6 +163,17 @@ abstract class CommonDocGenerator 'company_idprof6'=>$object->idprof6, 'company_note'=>$object->note ); + + $extrafields = array(); + if(is_array($object->array_options) && count($object->array_options)) + { + foreach($object->array_options as $key=>$label) + { + $extrafields['company_options_'.$key] = $label; + } + $array_thirdparty = array_merge($array_thirdparty,$extrafields); + } + return $array_thirdparty; } /** diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 0f5e7051010..28b38702fb9 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -139,6 +139,8 @@ class Societe extends CommonObject var $logo; var $logo_small; var $logo_mini; + + var $array_options; var $oldcopy; @@ -852,6 +854,18 @@ class Societe extends CommonObject $this->import_key = $obj->import_key; $result = 1; + + // Retreive all extrafield for thirdparty + // fetch optionals attributes and labels + $extrafields=new ExtraFields($this->db); + $extralabels=$extrafields->fetch_name_optionals_label('company',true); + if (count($extralabels)>0) { + $this->array_options = array(); + } + foreach($extrafields->attribute_label as $key=>$label) + { + $this->array_options[$key]=$label; + } } else {