From eef350d1d37af2a9d531d73f292956c529d84e1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Tue, 7 Feb 2023 21:44:39 +0100 Subject: [PATCH] add ajax tooltip on dolresource --- .../adherents/class/adherent_type.class.php | 3 +- htdocs/core/ajax/ajaxtooltip.php | 5 +- .../class/emailcollector.class.php | 3 +- htdocs/langs/en_US/dict.lang | 1 + htdocs/resource/class/dolresource.class.php | 55 +++++++++++++++---- 5 files changed, 52 insertions(+), 15 deletions(-) diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 9819110e6bc..a744ce71bdc 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -698,8 +698,9 @@ class AdherentType extends CommonObject { global $conf, $langs, $user; - $datas = []; + $langs->load('members'); + $datas = []; $datas['picto'] = img_picto('', $this->picto).' '.$langs->trans("MemberType").' '.$this->getLibStatut(4); $datas['label'] = '
'.$langs->trans("Label").': '.$this->label; if (isset($this->subscription)) { diff --git a/htdocs/core/ajax/ajaxtooltip.php b/htdocs/core/ajax/ajaxtooltip.php index 7afbc88ae17..d10b0f1a43e 100644 --- a/htdocs/core/ajax/ajaxtooltip.php +++ b/htdocs/core/ajax/ajaxtooltip.php @@ -154,6 +154,10 @@ if ($objecttype == 'facture' || $objecttype == 'invoice') { $classpath = 'user/class'; $module = 'user'; $myobject = 'usergroup'; +} elseif ($objecttype == 'dolresource') { + $classpath = 'resource/class'; + $module = 'resource'; + $myobject = 'dolresource'; } // Generic case for $classfile and $classname @@ -189,7 +193,6 @@ if ($objecttype == 'invoice_supplier') { $classfile = 'mailing'; $classname = 'Mailing'; } elseif ($objecttype == 'adherent_type') { - $langs->load('members'); $classpath = 'adherents/class'; $classfile = 'adherent_type'; $module = 'adherent'; diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index 13fcbfbef6b..f832a6ff842 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -382,11 +382,10 @@ class EmailCollector extends CommonObject // Clear fields $object->ref = "copy_of_".$object->ref; - $object->title = $langs->trans("CopyOf")." ".$object->title; + $object->label = $langs->trans("CopyOf")." ".$object->label; if (empty($object->host)) { $object->host = 'imap.example.com'; } - // ... // Clear extrafields that are unique if (is_array($object->array_options) && count($object->array_options) > 0) { $extrafields->fetch_name_optionals_label($this->table_element); diff --git a/htdocs/langs/en_US/dict.lang b/htdocs/langs/en_US/dict.lang index 00ab5a05f24..e3b159e50de 100644 --- a/htdocs/langs/en_US/dict.lang +++ b/htdocs/langs/en_US/dict.lang @@ -247,6 +247,7 @@ CountryJE=Jersey CountryME=Montenegro CountryBL=Saint Barthelemy CountryMF=Saint Martin +CountryXK=Kosovo ##### Civilities ##### CivilityMME=Mrs. diff --git a/htdocs/resource/class/dolresource.class.php b/htdocs/resource/class/dolresource.class.php index 99cc586cbb9..5d0c0481b98 100644 --- a/htdocs/resource/class/dolresource.class.php +++ b/htdocs/resource/class/dolresource.class.php @@ -52,6 +52,9 @@ class Dolresource extends CommonObject public $type_label; + /** + * @var string description + */ public $description; public $fk_country; @@ -761,6 +764,33 @@ class Dolresource extends CommonObject } } + /** + * getTooltipContentArray + * + * @param array $params ex option, infologin + * @since v18 + * @return array + */ + public function getTooltipContentArray($params) + { + global $conf, $langs; + + $langs->load('resource'); + + $datas = []; + + $datas['picto'] = img_picto('', $this->picto).' '.$langs->trans("Resource").''; + $datas['ref'] = '
'.$langs->trans('Ref').': '.$this->ref; + /*if (isset($this->status)) { + $datas['status'] = '
' . $langs->trans("Status").": ".$this->getLibStatut(5); + }*/ + if (isset($this->type_label)) { + $datas['label'] = '
'.$langs->trans("ResourceType").": ".$this->type_label; + } + + return $datas; + } + /** * Return clicable link of object (with eventually picto) * @@ -777,15 +807,18 @@ class Dolresource extends CommonObject global $conf, $langs, $hookmanager; $result = ''; - $label = img_picto('', $this->picto).' '.$langs->trans("Resource").''; - $label .= '
'; - $label .= ''.$langs->trans('Ref').': '.$this->ref; - /*if (isset($this->status)) { - $label.= '
' . $langs->trans("Status").": ".$this->getLibStatut(5); - }*/ - if (isset($this->type_label)) { - $label .= '
'.$langs->trans("ResourceType").": ".$this->type_label; + $params = [ + 'id' => $this->id, + 'objecttype' => $this->element, + ]; + $classfortooltip = 'classfortooltip'; + $dataparams = ''; + if (getDolGlobalInt('MAIN_ENABLE_AJAX_TOOLTIP')) { + $classfortooltip = 'classforajaxtooltip'; + $dataparams = ' data-params='.json_encode($params); + // $label = $langs->trans('Loading'); } + $label = implode($this->getTooltipContentArray($params)); $url = DOL_URL_ROOT.'/resource/card.php?id='.$this->id; @@ -806,8 +839,8 @@ class Dolresource extends CommonObject $label = $langs->trans("ShowMyObject"); $linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"'; } - $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; - $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; + $linkclose .= $dataparams.' title="'.dol_escape_htmltag($label, 1).'"'; + $linkclose .= ' class="'.$classfortooltip.($morecss ? ' '.$morecss : '').'"'; } else { $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); } @@ -820,7 +853,7 @@ class Dolresource extends CommonObject $result .= $linkstart; if ($withpicto) { - $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + $result .= img_object(($notooltip ? '' : $label), ($this->picto ? $this->picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : $dataparams.' class="'.(($withpicto != 2) ? 'paddingright ' : '').$classfortooltip.'"'), 0, 0, $notooltip ? 0 : 1); } if ($withpicto != 2) { $result .= $this->ref;