diff --git a/htdocs/adherents/admin/adherent_extrafields.php b/htdocs/adherents/admin/adherent_extrafields.php index ef986dacbbb..34420ee0121 100755 --- a/htdocs/adherents/admin/adherent_extrafields.php +++ b/htdocs/adherents/admin/adherent_extrafields.php @@ -41,7 +41,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='member'; +$elementtype='adherent'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/adherents/admin/adherent_type_extrafields.php b/htdocs/adherents/admin/adherent_type_extrafields.php index 7873573ff34..ce2787752a7 100644 --- a/htdocs/adherents/admin/adherent_type_extrafields.php +++ b/htdocs/adherents/admin/adherent_type_extrafields.php @@ -42,7 +42,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='adherent_type'; +$elementtype='adherent_type'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 17a39148eba..cf5ed660a32 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -479,8 +479,6 @@ if ($rowid) { $res=$object->fetch($rowid); if ($res < 0) { dol_print_error($db,$object->error); exit; } - //$res=$object->fetch_optionals($object->id,$extralabels); - //if ($res < 0) { dol_print_error($db); exit; } $adht->fetch($object->typeid); diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 325b5cf6426..e405b9a4a2c 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1095,6 +1095,15 @@ class Adherent extends CommonObject $this->user_id = $obj->user_id; $this->user_login = $obj->user_login; + // Retreive all extrafield for thirdparty + // fetch optionals attributes and labels + require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); + $extrafields=new ExtraFields($this->db); + $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); + if (count($extralabels)>0) { + $this->fetch_optionals($this->id,$extralabels); + } + $result=$this->fetch_optionals($this->id); // Load other properties $result=$this->fetch_subscriptions(); diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index d829c5a84f9..69515671080 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -33,6 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; class AdherentType extends CommonObject { public $table_element = 'adherent_type'; + public $element = 'adherent_type'; var $id; var $libelle; diff --git a/htdocs/adherents/fiche.php b/htdocs/adherents/fiche.php index 0453633afc4..52f2c3fb13e 100644 --- a/htdocs/adherents/fiche.php +++ b/htdocs/adherents/fiche.php @@ -65,7 +65,7 @@ $object = new Adherent($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('member'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Get object canvas (By default, this is not defined, so standard usage of dolibarr) $object->getCanvas($rowid); diff --git a/htdocs/admin/agenda_extrafields.php b/htdocs/admin/agenda_extrafields.php index ac66f3cb44f..a7763893bb5 100644 --- a/htdocs/admin/agenda_extrafields.php +++ b/htdocs/admin/agenda_extrafields.php @@ -47,7 +47,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='actioncomm'; +$elementtype='actioncomm'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/admin/order_extrafields.php b/htdocs/admin/order_extrafields.php index cb57c0d2e45..7e748cdbc4a 100644 --- a/htdocs/admin/order_extrafields.php +++ b/htdocs/admin/order_extrafields.php @@ -48,7 +48,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='commande'; +$elementtype='commande'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/admin/supplierinvoice_extrafields.php b/htdocs/admin/supplierinvoice_extrafields.php index a95a61c98cf..8f9865981f5 100644 --- a/htdocs/admin/supplierinvoice_extrafields.php +++ b/htdocs/admin/supplierinvoice_extrafields.php @@ -49,7 +49,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='commande_fournisseur'; +$elementtype='commande_fournisseur'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/admin/supplierorder_extrafields.php b/htdocs/admin/supplierorder_extrafields.php index 68747cf417c..9aa7770f820 100644 --- a/htdocs/admin/supplierorder_extrafields.php +++ b/htdocs/admin/supplierorder_extrafields.php @@ -48,7 +48,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='commande_fournisseur'; +$elementtype='commande_fournisseur'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index 618a6e4fa3e..a68427c9ef7 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -64,7 +64,7 @@ $contact = new Contact($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('actioncomm'); +$extralabels=$extrafields->fetch_name_optionals_label($actioncomm->table_element); //var_dump($_POST); diff --git a/htdocs/comm/admin/propal_extrafields.php b/htdocs/comm/admin/propal_extrafields.php index 350583a5427..28534e08140 100755 --- a/htdocs/comm/admin/propal_extrafields.php +++ b/htdocs/comm/admin/propal_extrafields.php @@ -42,7 +42,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='propal'; +$elementtype='propal'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/comm/mailing/fiche.php b/htdocs/comm/mailing/fiche.php index 2616850748e..a58e7d6ad4f 100644 --- a/htdocs/comm/mailing/fiche.php +++ b/htdocs/comm/mailing/fiche.php @@ -49,7 +49,7 @@ $result=$object->fetch($id); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('mailing'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('mailingcard')); diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index ab536ddee63..abf54329c6a 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -83,7 +83,7 @@ $object = new Propal($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('propal'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Load object if ($id > 0 || ! empty($ref)) @@ -1116,7 +1116,7 @@ else if ($action == 'down' && $user->rights->propal->creer) else if ($action == 'update_extras') { // Fill array 'array_options' with data from update form - $extralabels=$extrafields->fetch_name_optionals_label('propal'); + $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); $ret = $extrafields->setOptionalsFromPost($extralabels,$object); // Actions on extra fields (by external module or standard code) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 92664782f3f..40a6fb9e142 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -1187,15 +1187,10 @@ class Propal extends CommonObject if(!class_exists('Extrafields')) require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); $extrafields=new ExtraFields($this->db); - $extralabels=$extrafields->fetch_name_optionals_label('propal',true); - //$this->fetch_optionals($this->id,$extralabels); + $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); if (count($extralabels)>0) { - $this->array_options = array(); + $this->fetch_optionals($this->id,$extralabels); } - foreach($extrafields->attribute_label as $key=>$label) - { - $this->array_options['options_'.$key]=$label; - } return 1; } diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php index 1166dcbd8e1..92bcc0187f0 100644 --- a/htdocs/commande/fiche.php +++ b/htdocs/commande/fiche.php @@ -82,7 +82,7 @@ $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('commande'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Load object if ($id > 0 || ! empty($ref)) @@ -1127,7 +1127,7 @@ else if ($action == 'print_file' AND $user->rights->printipp->use) else if ($action == 'update_extras') { // Fill array 'array_options' with data from update form - $extralabels=$extrafields->fetch_name_optionals_label('commande'); + $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); $ret = $extrafields->setOptionalsFromPost($extralabels,$object); // Actions on extra fields (by external module or standard code) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 55276b8c7a3..f630de3f8aa 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1860,7 +1860,7 @@ if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture- if ($action == 'update_extras') { // Fill array 'array_options' with data from add form - $extralabels=$extrafields->fetch_name_optionals_label('facture'); + $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); $ret = $extrafields->setOptionalsFromPost($extralabels,$object); // Actions on extra fields (by external module or standard code) @@ -1905,7 +1905,7 @@ llxHeader('',$langs->trans('Bill'),'EN:Customers_Invoices|FR:Factures_Clients|ES if ($action == 'create') { $facturestatic=new Facture($db); - $extralabels=$extrafields->fetch_name_optionals_label('facture'); + $extralabels=$extrafields->fetch_name_optionals_label($facturestatic->table_element); print_fiche_titre($langs->trans('NewBill')); @@ -2399,7 +2399,7 @@ else if ($id > 0 || ! empty($ref)) $result=$object->fetch($id,$ref); // fetch optionals attributes and labels - $extralabels=$extrafields->fetch_name_optionals_label('facture'); + $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); if ($result > 0) { diff --git a/htdocs/compta/facture/admin/facture_cust_extrafields.php b/htdocs/compta/facture/admin/facture_cust_extrafields.php index 57f4be119e6..8d6fb63cf80 100644 --- a/htdocs/compta/facture/admin/facture_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facture_cust_extrafields.php @@ -43,7 +43,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='facture'; +$elementtype='facture'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index a2a9cf6da13..239b1cc089c 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -879,13 +879,9 @@ class Facture extends CommonInvoice if(!class_exists('Extrafields')) require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); $extrafields=new ExtraFields($this->db); - $extralabels=$extrafields->fetch_name_optionals_label('facture',true); + $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); if (count($extralabels)>0) { - $this->array_options = array(); - } - foreach($extrafields->attribute_label as $key=>$label) - { - $this->array_options['options_'.$key]=$label; + $this->fetch_optionals($this->id,$extralabels); } /* diff --git a/htdocs/contact/fiche.php b/htdocs/contact/fiche.php index 9711654fa03..a41b01cb14c 100644 --- a/htdocs/contact/fiche.php +++ b/htdocs/contact/fiche.php @@ -53,7 +53,7 @@ $object = new Contact($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('contact'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Get object canvas (By default, this is not defined, so standard usage of dolibarr) $object->getCanvas($id); diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index c56516257f7..a7e92bc463c 100755 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -177,7 +177,7 @@ abstract class CommonDocGenerator if(!class_exists('Extrafields')) require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; $extrafields = new ExtraFields($this->db); - $extralabels = $extrafields->fetch_name_optionals_label('company',true); + $extralabels = $extrafields->fetch_name_optionals_label('societe',true); $object->fetch_optionals($object->id,$extralabels); foreach($extrafields->attribute_label as $key=>$label) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 5b47b3811fb..3dd183a5b13 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -2020,7 +2020,7 @@ abstract class CommonObject // optionsArray not already loaded, so we load it require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; $extrafields = new ExtraFields($this->db); - $optionsArray = $extrafields->fetch_name_optionals_label(); + $optionsArray = $extrafields->fetch_name_optionals_label($this->table_element); } // Request to get complementary values @@ -2108,7 +2108,7 @@ abstract class CommonObject $langs->load('admin'); require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; $extrafields = new ExtraFields($this->db); - $optionsArray = $extrafields->fetch_name_optionals_label($this->elementType); + $optionsArray = $extrafields->fetch_name_optionals_label($this->table_element); foreach($this->array_options as $key => $value) { diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index fb13c92b0e7..6f82520c230 100755 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -152,11 +152,6 @@ class ExtraFields { $table=$elementtype.'_extrafields'; - // Special case for not normalized table names - if ($elementtype == 'member') $table='adherent_extrafields'; - elseif ($elementtype == 'company') $table='societe_extrafields'; - elseif ($elementtype == 'contact') $table='socpeople_extrafields'; - if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { if ($type=='boolean') { @@ -283,11 +278,6 @@ class ExtraFields { $table=$elementtype.'_extrafields'; - // Special case for not normalized table names - if ($elementtype == 'member') $table='adherent_extrafields'; - elseif ($elementtype == 'company') $table='societe_extrafields'; - elseif ($elementtype == 'contact') $table='socpeople_extrafields'; - if (! empty($attrname) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { $result=$this->db->DDLDropField(MAIN_DB_PREFIX.$table,$attrname); // This also drop the unique key @@ -362,10 +352,6 @@ class ExtraFields function update($attrname,$label,$type,$length,$elementtype,$unique=0,$required=0,$pos=0,$param='') { $table=$elementtype.'_extrafields'; - // Special case for not normalized table names - if ($elementtype == 'member') $table='adherent_extrafields'; - elseif ($elementtype == 'company') $table='societe_extrafields'; - elseif ($elementtype == 'contact') $table='socpeople_extrafields'; if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { @@ -533,7 +519,7 @@ class ExtraFields * @param boolean $forceload Force load of extra fields whatever is option MAIN_EXTRAFIELDS_DISABLED * @return array Array of attributes for all extra fields */ - function fetch_name_optionals_label($elementtype='member',$forceload=false) + function fetch_name_optionals_label($elementtype='adherent',$forceload=false) { global $conf; diff --git a/htdocs/install/mysql/migration/3.3.0-3.4.0.sql b/htdocs/install/mysql/migration/3.3.0-3.4.0.sql index acebc660662..5023a253f14 100755 --- a/htdocs/install/mysql/migration/3.3.0-3.4.0.sql +++ b/htdocs/install/mysql/migration/3.3.0-3.4.0.sql @@ -350,3 +350,7 @@ ALTER TABLE llx_opensurvey_user_studs ADD INDEX idx_id_sondage (id_sondage); ALTER TABLE llx_boxes ADD COLUMN params varchar(255); +UPDATE llx_extrafield SET elementtype='socpeople' WHERE elementtype='contact'; +UPDATE llx_extrafield SET elementtype='actioncomm' WHERE elementtype='action'; +UPDATE llx_extrafield SET elementtype='adherent' WHERE elementtype='member'; +UPDATE llx_extrafield SET elementtype='societe' WHERE elementtype='company'; diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 24fb61dee4a..2751c963158 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -193,7 +193,10 @@ if ($ok) // Search list of fields declared and list of fields created into databases and create fields missing $extrafields=new ExtraFields($db); -$listofmodulesextra=array('societe'=>'company','adherent'=>'member','product'=>'product'); +$listofmodulesextra=array('societe'=>'societe','adherent'=>'adherent','product'=>'product', + 'socpeople'=>'socpeople', 'commande'=>'commande', 'facture'=>'facture', + 'commande_fournisseur'=>'commande_fournisseur', 'actioncomm'=>'actioncomm', + 'adherent_type'=>'adherent_type','user'=>'user','projet'=>'projet', 'projet_task'=>'projet_task'); foreach($listofmodulesextra as $tablename => $elementtype) { // Get list of fields diff --git a/htdocs/product/admin/product_extrafields.php b/htdocs/product/admin/product_extrafields.php index 69bc6f481b2..98b85746051 100755 --- a/htdocs/product/admin/product_extrafields.php +++ b/htdocs/product/admin/product_extrafields.php @@ -43,7 +43,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='product'; +$elementtype='product'; //Must be the $element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/product/fiche.php b/htdocs/product/fiche.php index d2b81d4ce04..509a1302050 100644 --- a/htdocs/product/fiche.php +++ b/htdocs/product/fiche.php @@ -57,7 +57,7 @@ $object = new Product($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('product'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); if ($id > 0 || ! empty($ref)) { diff --git a/htdocs/projet/admin/project_extrafields.php b/htdocs/projet/admin/project_extrafields.php index e397b7c7c1a..a23da939757 100755 --- a/htdocs/projet/admin/project_extrafields.php +++ b/htdocs/projet/admin/project_extrafields.php @@ -42,7 +42,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='projet'; +$elementtype='projet'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/projet/fiche.php b/htdocs/projet/fiche.php index 7df49a38bd0..a9d3895879d 100644 --- a/htdocs/projet/fiche.php +++ b/htdocs/projet/fiche.php @@ -62,7 +62,7 @@ if ($object->id > 0) } // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('projet'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); $date_start=dol_mktime(0,0,0,GETPOST('projectmonth','int'),GETPOST('projectday','int'),GETPOST('projectyear','int')); $date_end=dol_mktime(0,0,0,GETPOST('projectendmonth','int'),GETPOST('projectendday','int'),GETPOST('projectendyear','int'));; diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index d9530f2d232..b79bb65ed74 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -44,6 +44,7 @@ $mine = ($mode == 'mine' ? 1 : 0); //if (! $user->rights->projet->all->lire) $mine=1; // Special for projects $object = new Project($db); +$taskstatic = new Task($db); $extrafields_project = new ExtraFields($db); $extrafields_task = new ExtraFields($db); if ($ref) @@ -54,8 +55,8 @@ if ($ref) // fetch optionals attributes and labels if (!empty($id)) { - $extralabels_projet=$extrafields_project->fetch_name_optionals_label('projet'); - $extralabels_task=$extrafields_task->fetch_name_optionals_label('projet_task'); + $extralabels_projet=$extrafields_project->fetch_name_optionals_label($object->table_element); + $extralabels_task=$extrafields_task->fetch_name_optionals_label($taskstatic->table_element); } @@ -167,7 +168,6 @@ if ($action == 'createtask' && $user->rights->projet->creer) $form=new Form($db); $formother=new FormOther($db); -$taskstatic = new Task($db); $userstatic=new User($db); $help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php index 977858cf35b..275f54c5c44 100644 --- a/htdocs/projet/tasks/task.php +++ b/htdocs/projet/tasks/task.php @@ -50,7 +50,7 @@ $extrafields = new ExtraFields($db); $projectstatic = new Project($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('projet_task'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); /* * Actions */ diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index b8d763748f2..9cf992561bf 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -361,7 +361,7 @@ $form = new Form($db); $formcompany = new FormCompany($db); $adht = new AdherentType($db); $extrafields = new ExtraFields($db); -$extrafields->fetch_name_optionals_label('member'); // fetch optionals attributes and labels +$extrafields->fetch_name_optionals_label('adherent'); // fetch optionals attributes and labels llxHeaderVierge($langs->trans("NewSubscription")); diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php index d250b838386..0fc725c8ed4 100644 --- a/htdocs/public/members/public_card.php +++ b/htdocs/public/members/public_card.php @@ -69,7 +69,7 @@ $extrafields = new ExtraFields($db); llxHeaderVierge($langs->trans("MemberCard")); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('member'); +$extralabels=$extrafields->fetch_name_optionals_label('adherent'); if ($id > 0) { $res=$object->fetch($id); diff --git a/htdocs/societe/admin/contact_extrafields.php b/htdocs/societe/admin/contact_extrafields.php index a2460c6cda4..36adc4f38b2 100755 --- a/htdocs/societe/admin/contact_extrafields.php +++ b/htdocs/societe/admin/contact_extrafields.php @@ -41,7 +41,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='contact'; +$elementtype='socpeople'; //Must be the $element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/societe/admin/societe_extrafields.php b/htdocs/societe/admin/societe_extrafields.php index 11cb02e80ae..15ccdac8ef7 100755 --- a/htdocs/societe/admin/societe_extrafields.php +++ b/htdocs/societe/admin/societe_extrafields.php @@ -42,7 +42,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='company'; +$elementtype='societe'; //Must be the $element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index e630dbf899d..d6fbe61dcd0 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -852,13 +852,9 @@ class Societe extends CommonObject // fetch optionals attributes and labels require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); $extrafields=new ExtraFields($this->db); - $extralabels=$extrafields->fetch_name_optionals_label('company',true); + $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); if (count($extralabels)>0) { - $this->array_options = array(); - } - foreach($extrafields->attribute_label as $key=>$label) - { - $this->array_options['options_'.$key]=$label; + $this->fetch_optionals($this->id,$extralabels); } } else diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 24db1206917..518a511b183 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -56,7 +56,7 @@ $object = new Societe($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('company'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); // Get object canvas (By default, this is not defined, so standard usage of dolibarr) $object->getCanvas($socid); diff --git a/htdocs/user/admin/user_extrafields.php b/htdocs/user/admin/user_extrafields.php index 8b4bc780cbf..83878126858 100644 --- a/htdocs/user/admin/user_extrafields.php +++ b/htdocs/user/admin/user_extrafields.php @@ -41,7 +41,7 @@ foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); $action=GETPOST('action', 'alpha'); $attrname=GETPOST('attrname', 'alpha'); -$elementtype='user'; +$elementtype='user'; //Must be the $table_element of the class that manage extrafield if (!$user->admin) accessforbidden(); diff --git a/htdocs/user/fiche.php b/htdocs/user/fiche.php index db957d219e6..7769a9da06c 100644 --- a/htdocs/user/fiche.php +++ b/htdocs/user/fiche.php @@ -561,7 +561,7 @@ if ($action == 'adduserldap') */ // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('user'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); llxHeader('',$langs->trans("UserCard")); diff --git a/htdocs/webservices/server_contact.php b/htdocs/webservices/server_contact.php index c10c4183468..08d21d5cba2 100644 --- a/htdocs/webservices/server_contact.php +++ b/htdocs/webservices/server_contact.php @@ -118,7 +118,7 @@ $contact_fields = array( //Retreive all extrafield for contact // fetch optionals attributes and labels $extrafields=new ExtraFields($db); -$extralabels=$extrafields->fetch_name_optionals_label('contact',true); +$extralabels=$extrafields->fetch_name_optionals_label('socpeople',true); if (count($extrafields)>0) { $extrafield_array = array(); } @@ -306,7 +306,7 @@ function getContact($authentication,$id,$ref='',$ref_ext='') //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('contact',true); + $extralabels=$extrafields->fetch_name_optionals_label('socpeople',true); //Get extrafield values $contact->fetch_optionals($contact->id,$extralabels); @@ -413,7 +413,7 @@ function createContact($authentication,$contact) //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('contact',true); + $extralabels=$extrafields->fetch_name_optionals_label('socpeople',true); foreach($extrafields->attribute_label as $key=>$label) { $key='options_'.$key; @@ -657,7 +657,7 @@ function updateContact($authentication,$contact) //Retreive all extrafield for contact // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('contact',true); + $extralabels=$extrafields->fetch_name_optionals_label('socpeople',true); foreach($extrafields->attribute_label as $key=>$label) { $key='options_'.$key; diff --git a/htdocs/webservices/server_thirdparty.php b/htdocs/webservices/server_thirdparty.php index 448da44ece2..a8ef028a9c8 100755 --- a/htdocs/webservices/server_thirdparty.php +++ b/htdocs/webservices/server_thirdparty.php @@ -124,7 +124,7 @@ $thirdparty_fields= array( //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); -$extralabels=$extrafields->fetch_name_optionals_label('company',true); +$extralabels=$extrafields->fetch_name_optionals_label('societe',true); if (count($extrafields)>0) { $extrafield_array = array(); } @@ -331,7 +331,7 @@ function getThirdParty($authentication,$id='',$ref='',$ref_ext='') //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('company',true); + $extralabels=$extrafields->fetch_name_optionals_label('societe',true); //Get extrafield values $thirdparty->fetch_optionals($thirdparty->id,$extralabels); @@ -446,7 +446,7 @@ function createThirdParty($authentication,$thirdparty) //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('company',true); + $extralabels=$extrafields->fetch_name_optionals_label('societe',true); foreach($extrafields->attribute_label as $key=>$label) { $key='options_'.$key; @@ -567,7 +567,7 @@ function updateThirdParty($authentication,$thirdparty) //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('company',true); + $extralabels=$extrafields->fetch_name_optionals_label('societe',true); foreach($extrafields->attribute_label as $key=>$label) { $key='options_'.$key; diff --git a/htdocs/webservices/server_user.php b/htdocs/webservices/server_user.php index 5b644b150bf..3a7d0a89283 100644 --- a/htdocs/webservices/server_user.php +++ b/htdocs/webservices/server_user.php @@ -187,7 +187,7 @@ $thirdpartywithuser_fields = array( //Retreive all extrafield for contact // fetch optionals attributes and labels $extrafields=new ExtraFields($db); -$extralabels=$extrafields->fetch_name_optionals_label('contact',true); +$extralabels=$extrafields->fetch_name_optionals_label('socpeople',true); if (count($extrafields)>0) { $extrafield_array = array(); } @@ -574,7 +574,7 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser) //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('contact',true); + $extralabels=$extrafields->fetch_name_optionals_label('socpeople',true); foreach($extrafields->attribute_label as $key=>$label) { $key='contact_options_'.$key;