From 500f192a05d8f5f838c58aafe190af0c077e3495 Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Thu, 4 Mar 2021 10:15:41 +0100 Subject: [PATCH 1/5] Fix #16523 : New column Contact assigned --- htdocs/contact/class/contact.class.php | 9 +++++++-- htdocs/core/lib/project.lib.php | 16 ++++++++++++---- htdocs/projet/tasks.php | 10 ++++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 0c7f3ac73aa..67c098210f5 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -1469,9 +1469,14 @@ class Contact 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); + if ($withpicto == -2) { + $result .= ''.Form::showphoto('contact', $this, 0, 0, 0, 'userphoto'.($withpicto == -3 ? 'small' : ''), 'mini', 0, 1).''; + }else { + $picto = $this->picto; + $result .= img_object(($notooltip ? '' : $label), ($picto ? $picto : 'generic'), ($notooltip ? (($withpicto != 2) ? 'class="paddingright"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); + } } - if ($withpicto != 2) { + if ($withpicto != 2 && $withpicto != -2) { $result .= ($maxlen ?dol_trunc($this->getFullName($langs), $maxlen) : $this->getFullName($langs)); } $result .= $linkend; diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 2b35c2c7779..4e2efcecd26 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -807,8 +807,8 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t } // Contacts of task - if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { - print ''; + if (count($arrayfields) > 0 && !empty($arrayfields['c.assigned']['checked'])) { + print ''; foreach (array('internal', 'external') as $source) { $tab = $lines[$i]->liste_contact(-1, $source); $num = count($tab); @@ -821,7 +821,15 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t $c = new Contact($db); } $c->fetch($contacttask['id']); - print $c->getNomUrl(1).' ('.$contacttask['libelle'].')
'; + if(!empty($c->photo)){ + print $c->getNomUrl(-2).' '; + }else { + if (get_class($c) == 'User') { + print $c->getNomUrl(2,'',0,0,24,1);//.' '; + }else { + print $c->getNomUrl(2);//.' '; + } + } } } } @@ -966,7 +974,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t } } // Contacts of task - if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { + if (count($arrayfields) > 0 && !empty($arrayfields['c.assigned']['checked'])) { print ''; } print ''; diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index fe333a2d01e..ec62952ff30 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -137,6 +137,7 @@ $arrayfields = array( 't.progress_calculated'=>array('label'=>$langs->trans("ProgressCalculated"), 'checked'=>1, 'position'=>8), 't.progress'=>array('label'=>$langs->trans("ProgressDeclared"), 'checked'=>1, 'position'=>9), 't.progress_summary'=>array('label'=>$langs->trans("TaskProgressSummary"), 'checked'=>1, 'position'=>10), + 'c.assigned'=>array('label'=>$langs->trans("TaskRessourceLinks"), 'checked'=>1, 'position'=>11), ); if ($object->usage_bill_time) { $arrayfields['t.tobill'] = array('label'=>$langs->trans("TimeToBill"), 'checked'=>0, 'position'=>11); @@ -809,8 +810,9 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third } } - if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { - print ''; + if (!empty($arrayfields['c.assigned']['checked'])) { + print ''; + print ''; } $extrafieldsobjectkey = $taskstatic->table_element; @@ -863,8 +865,8 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print_liste_field_titre($arrayfields['t.billed']['label'], $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right '); } } - if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { - print_liste_field_titre("TaskRessourceLinks", $_SERVER["PHP_SELF"], '', '', $param, $sortfield, $sortorder); + if (!empty($arrayfields['c.assigned']['checked'])) { + print_liste_field_titre($arrayfields['c.assigned']['label'], $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right ', ''); } // Extra fields $disablesortlink = 1; From e94f703f5dc4e20dd00e5bdb1c69c2a3a714fda3 Mon Sep 17 00:00:00 2001 From: lmarcouiller Date: Thu, 4 Mar 2021 10:33:18 +0100 Subject: [PATCH 2/5] Fix #16523 : return to backward compatibility --- htdocs/contact/class/contact.class.php | 3 +-- htdocs/core/lib/project.lib.php | 26 ++++++++++++++++++++++++++ htdocs/projet/tasks.php | 8 ++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 67c098210f5..f49e2d50fb2 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -1472,8 +1472,7 @@ class Contact extends CommonObject if ($withpicto == -2) { $result .= ''.Form::showphoto('contact', $this, 0, 0, 0, 'userphoto'.($withpicto == -3 ? 'small' : ''), 'mini', 0, 1).''; }else { - $picto = $this->picto; - $result .= img_object(($notooltip ? '' : $label), ($picto ? $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"' : '') : 'class="'.(($withpicto != 2) ? 'paddingright ' : '').'classfortooltip"'), 0, 0, $notooltip ? 0 : 1); } } if ($withpicto != 2 && $withpicto != -2) { diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 4e2efcecd26..806af682276 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -806,6 +806,28 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t } } + // Contacts of tasks for backward compatibility, + if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { + print ''; + foreach (array('internal', 'external') as $source) { + $tab = $lines[$i]->liste_contact(-1, $source); + $num = count($tab); + if (!empty($num)) { + foreach ($tab as $contacttask) { + //var_dump($contacttask); + if ($source == 'internal') { + $c = new User($db); + } else { + $c = new Contact($db); + } + $c->fetch($contacttask['id']); + print $c->getNomUrl(1).' ('.$contacttask['libelle'].')
'; + } + } + } + print ''; + } + // Contacts of task if (count($arrayfields) > 0 && !empty($arrayfields['c.assigned']['checked'])) { print ''; @@ -973,6 +995,10 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t print ''; } } + // Contacts of task for backward compatibility, + if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { + print ''; + } // Contacts of task if (count($arrayfields) > 0 && !empty($arrayfields['c.assigned']['checked'])) { print ''; diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index ec62952ff30..d75ac2fd906 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -809,6 +809,10 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print ''; } } + // Contacts of task for backward compatibility, + if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { + print ''; + } if (!empty($arrayfields['c.assigned']['checked'])) { print ''; @@ -865,6 +869,10 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print_liste_field_titre($arrayfields['t.billed']['label'], $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right '); } } + // Contacts of task for backward compatibility, + if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { + print_liste_field_titre("TaskRessourceLinks", $_SERVER["PHP_SELF"], '', '', $param, $sortfield, $sortorder); + } if (!empty($arrayfields['c.assigned']['checked'])) { print_liste_field_titre($arrayfields['c.assigned']['label'], $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right ', ''); } From 47dd477c614bc8c00bfe20911447451d7e502441 Mon Sep 17 00:00:00 2001 From: stickler-ci Date: Thu, 4 Mar 2021 09:36:17 +0000 Subject: [PATCH 3/5] Fixing style errors. --- htdocs/contact/class/contact.class.php | 2 +- htdocs/core/lib/project.lib.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index f49e2d50fb2..ede8e6698dd 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -1471,7 +1471,7 @@ class Contact extends CommonObject if ($withpicto) { if ($withpicto == -2) { $result .= ''.Form::showphoto('contact', $this, 0, 0, 0, 'userphoto'.($withpicto == -3 ? 'small' : ''), 'mini', 0, 1).''; - }else { + } else { $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); } } diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 806af682276..0bb97d69a95 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -843,12 +843,12 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t $c = new Contact($db); } $c->fetch($contacttask['id']); - if(!empty($c->photo)){ + if (!empty($c->photo)) { print $c->getNomUrl(-2).' '; - }else { + } else { if (get_class($c) == 'User') { - print $c->getNomUrl(2,'',0,0,24,1);//.' '; - }else { + print $c->getNomUrl(2, '', 0, 0, 24, 1);//.' '; + } else { print $c->getNomUrl(2);//.' '; } } From beb8dbcc0120e89c8a32827505b6d8435495a726 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Mar 2021 16:48:25 +0100 Subject: [PATCH 4/5] Update project.lib.php --- htdocs/core/lib/project.lib.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 0bb97d69a95..c5820b42d89 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -806,7 +806,8 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t } } - // Contacts of tasks for backward compatibility, + // Contacts of tasks. Disabled, because available by default just after + /* if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { print ''; foreach (array('internal', 'external') as $source) { @@ -826,11 +827,11 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t } } print ''; - } + }*/ // Contacts of task if (count($arrayfields) > 0 && !empty($arrayfields['c.assigned']['checked'])) { - print ''; + print ''; foreach (array('internal', 'external') as $source) { $tab = $lines[$i]->liste_contact(-1, $source); $num = count($tab); From 87da30d2d9f8e8bf0e68129f71ad8312aa7d0db3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Mar 2021 16:50:39 +0100 Subject: [PATCH 5/5] Update tasks.php --- htdocs/projet/tasks.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index d75ac2fd906..9c642e4a03a 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -809,11 +809,13 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print ''; } } - // Contacts of task for backward compatibility, + // Contacts of task, disabled because available by default jsut after + /* if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { print ''; } - + */ + if (!empty($arrayfields['c.assigned']['checked'])) { print ''; print ''; @@ -869,10 +871,12 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print_liste_field_titre($arrayfields['t.billed']['label'], $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right '); } } - // Contacts of task for backward compatibility, + // Contacts of task, disabled because available by default jsut after + /* if (!empty($conf->global->PROJECT_SHOW_CONTACTS_IN_LIST)) { print_liste_field_titre("TaskRessourceLinks", $_SERVER["PHP_SELF"], '', '', $param, $sortfield, $sortorder); } + */ if (!empty($arrayfields['c.assigned']['checked'])) { print_liste_field_titre($arrayfields['c.assigned']['label'], $_SERVER["PHP_SELF"], "", '', $param, '', $sortfield, $sortorder, 'right ', ''); }