diff --git a/class/actions_dolisirh.class.php b/class/actions_dolisirh.class.php index badedc2..40e35c0 100644 --- a/class/actions_dolisirh.class.php +++ b/class/actions_dolisirh.class.php @@ -600,7 +600,7 @@ public function constructCategory(array $parameters) */ public function formObjectOptions(array $parameters, $object, string $action) { - global $conf, $langs; + global $conf, $extrafields, $langs; if ($parameters['currentcontext'] == 'invoicecard') { require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; @@ -654,7 +654,67 @@ public function formObjectOptions(array $parameters, $object, string $action) } } } - } + + if ($parameters['currentcontext'] == 'ticketcard') { + + $project = GETPOSTISSET('projectid') ? GETPOST('projectid') : 0; + + if (GETPOSTISSET('id')) { + $object->fetch(GETPOST('id')); + $project = $object->fk_project; + } + + if (!empty($project)) { + + require_once DOL_DOCUMENT_ROOT . '/projet/class/task.class.php'; + + $objectCard = 'ticket'; + + $task = new Task($this->db); + $taskList = $task->getTasksArray(0, 0, $project); + $taskList = array_column($taskList, 'label', 'id'); + + $out2 = ''; + $out2 .= ''; + $out2 .= $extrafields->attributes[$objectCard]['label']['fk_task']; + $out2 .= ''; + $out2 .= Form::selectarray('options_fk_task', $taskList, $object->array_options['options_fk_task'], -1, 0, 0, '', '', 0, 0, '', 'minwidth100imp maxwidth500 widthcentpercentminusxx'); + $out2 .= ''; + $out2 .= ''; + + echo $out2; + + } else { + ?> + + + + addExtraField('fk_facture_name', 'Facture', 'link', 100, null, 'projet_task', 1, 0, null, $param, 1, 1, 1); //extrafields task. unset($param); - $param['options']['projet_task:label:rowid::entity = $ENTITY$ AND fk_projet = ($SEL$ fk_project FROM '. MAIN_DB_PREFIX .'ticket WHERE rowid = $ID$)'] = null; + $param['options']['projet_task:label:rowid::(entity:=:$ENTITY$)'] = null; $extraFields->update('fk_task', 'Tâche', 'sellist', '', 'ticket', 0, 0, 100, $param, 1, 1, '1', '','','',0); $extraFields->addExtraField('fk_task', 'Tâche', 'sellist', 100, null, 'ticket', 0, 0, null, $param, 1, 1, '1', '','',0); //extrafields ticket. unset($param);