From 292dab192b5f9547e86127fbcfda26b4a842fa0b Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Oct 2018 09:42:11 +0200 Subject: [PATCH 1/4] FIX : #9161 --- htdocs/core/lib/company.lib.php | 40 ++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 2dd4cf090f5..9440f911eeb 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1213,6 +1213,8 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= global $param; + dol_include_once('/comm/action/class/actioncomm.class.php'); + // Check parameters if (! is_object($filterobj) && ! is_object($objcon)) dol_print_error('','BadParameter'); @@ -1261,6 +1263,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= $sql.= " AND a.fk_element = o.rowid AND a.elementtype = 'product'"; if ($filterobj->id) $sql.= " AND a.fk_element = ".$filterobj->id; } + //TODO check how ot work with new table actioncomm_resources and multiple contact affectation if (is_object($objcon) && $objcon->id) $sql.= " AND a.fk_contact = ".$objcon->id; // Condition on actioncode if (! empty($actioncode)) @@ -1297,6 +1300,14 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= { $obj = $db->fetch_object($resql); + $contactaction = new ActionComm($db); + $contactaction->id=$obj->id; + $result = $contactaction->fetchResources(); + if ($result<0) { + dol_print_error($db); + setEventMessage("company.lib::show_actions_done Error fetch ressource"); + } + //if ($donetodo == 'todo') $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))"; //if ($donetodo == 'done') $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep <= '".$db->idate($now)."'))"; $tododone=''; @@ -1318,6 +1329,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= 'userphoto'=>$obj->user_photo, 'contact_id'=>$obj->fk_contact, + 'socpeopleassigned' => $contactaction->socpeopleassigned, 'lastname'=>$obj->lastname, 'firstname'=>$obj->firstname, 'fk_element'=>$obj->fk_element, @@ -1470,7 +1482,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= $out.=getTitleFieldOfList($langs->trans("Label"), 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder); $out.=getTitleFieldOfList($langs->trans("Date"), 0, $_SERVER["PHP_SELF"], 'a.datep,a.id', '', $param, 'align="center"', $sortfield, $sortorder); $out.=getTitleFieldOfList(''); - $out.=getTitleFieldOfList($langs->trans("ActionOnContact"), 0, $_SERVER["PHP_SELF"], 'a.fk_contact', '', $param, '', $sortfield, $sortorder); + $out.=getTitleFieldOfList($langs->trans("ActionOnContact"), 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder); $out.=getTitleFieldOfList($langs->trans("Status"), 0, $_SERVER["PHP_SELF"], 'a.percent', '', $param, 'align="center"', $sortfield, $sortorder); $out.=getTitleFieldOfList('', 0, $_SERVER["PHP_SELF"], '', '', $param, '', $sortfield, $sortorder, 'maxwidthsearch '); $out.=''; @@ -1616,11 +1628,33 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= $contactstatic->lastname=$histo[$key]['lastname']; $contactstatic->firstname=$histo[$key]['firstname']; $contactstatic->id=$histo[$key]['contact_id']; + var_dump($histo[$key]['contact_id']); $out.=''.$contactstatic->getNomUrl(1,'',10).''; } - else + elseif (isset($histo[$key]['socpeopleassigned']) && is_array($histo[$key]['socpeopleassigned']) && count($histo[$key]['socpeopleassigned'])>0) { - $out.=' '; + $out.=''; + foreach ($histo[$key]['socpeopleassigned'] as $cid => $Tab) + { + $contact = new Contact($db); + $result = $contact->fetch($cid); + + if ($result < 0) dol_print_error($db,$contact->error); + + if ($result > 0) + { + $out.= $contact->getNomUrl(1); + if ($object->type_code == 'AC_TEL') + { + if (!empty($contact->phone_pro)) $out.= '('.dol_print_phone($contact->phone_pro).')'; + } + $out.= '
'; + } + } + $out.=''; + } + else { + $out.=' '; } // Status From 7f4f27ebfec407b419ed2e782881d4b0d05691de Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Oct 2018 09:45:12 +0200 Subject: [PATCH 2/4] indent --- htdocs/core/lib/company.lib.php | 41 +++++++++++++++------------------ 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 9440f911eeb..4dfbe47e9e3 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1305,7 +1305,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= $result = $contactaction->fetchResources(); if ($result<0) { dol_print_error($db); - setEventMessage("company.lib::show_actions_done Error fetch ressource"); + setEventMessage("company.lib::show_actions_done Error fetch ressource",'errors'); } //if ($donetodo == 'todo') $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))"; @@ -1630,29 +1630,26 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= $contactstatic->id=$histo[$key]['contact_id']; var_dump($histo[$key]['contact_id']); $out.=''.$contactstatic->getNomUrl(1,'',10).''; - } - elseif (isset($histo[$key]['socpeopleassigned']) && is_array($histo[$key]['socpeopleassigned']) && count($histo[$key]['socpeopleassigned'])>0) - { - $out.=''; - foreach ($histo[$key]['socpeopleassigned'] as $cid => $Tab) - { - $contact = new Contact($db); - $result = $contact->fetch($cid); + } elseif (isset($histo[$key]['socpeopleassigned']) && is_array($histo[$key]['socpeopleassigned']) && count($histo[$key]['socpeopleassigned']) > 0) { + $out .= ''; + foreach ( $histo[$key]['socpeopleassigned'] as $cid => $Tab ) { + $contact = new Contact($db); + $result = $contact->fetch($cid); - if ($result < 0) dol_print_error($db,$contact->error); + if ($result < 0) + dol_print_error($db, $contact->error); - if ($result > 0) - { - $out.= $contact->getNomUrl(1); - if ($object->type_code == 'AC_TEL') - { - if (!empty($contact->phone_pro)) $out.= '('.dol_print_phone($contact->phone_pro).')'; - } - $out.= '
'; - } - } - $out.=''; - } + if ($result > 0) { + $out .= $contact->getNomUrl(1); + if ($object->type_code == 'AC_TEL') { + if (! empty($contact->phone_pro)) + $out .= '(' . dol_print_phone($contact->phone_pro) . ')'; + } + $out .= '
'; + } + } + $out .= ''; + } else { $out.=' '; } From e95921eb934d8d3f3d891978ad0cf489269777fc Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Oct 2018 09:47:04 +0200 Subject: [PATCH 3/4] better test --- htdocs/core/lib/company.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 4dfbe47e9e3..02652892305 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1641,7 +1641,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= if ($result > 0) { $out .= $contact->getNomUrl(1); - if ($object->type_code == 'AC_TEL') { + if (isset($histo[$key]['acode']) && $histo[$key]['acode'] == 'AC_TEL') { if (! empty($contact->phone_pro)) $out .= '(' . dol_print_phone($contact->phone_pro) . ')'; } From 68c99d01a7a545ec91965e2f717c2437d717733a Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Fri, 5 Oct 2018 10:35:32 +0200 Subject: [PATCH 4/4] OMG!!!! var_dump.... --- htdocs/core/lib/company.lib.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 02652892305..db6ef2de6cb 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1628,7 +1628,6 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= $contactstatic->lastname=$histo[$key]['lastname']; $contactstatic->firstname=$histo[$key]['firstname']; $contactstatic->id=$histo[$key]['contact_id']; - var_dump($histo[$key]['contact_id']); $out.=''.$contactstatic->getNomUrl(1,'',10).''; } elseif (isset($histo[$key]['socpeopleassigned']) && is_array($histo[$key]['socpeopleassigned']) && count($histo[$key]['socpeopleassigned']) > 0) { $out .= '';