Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 62 additions & 2 deletions class/actions_dolisirh.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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 = '<tr id="fk_task_container">';
$out2 .= '<td class="titlefieldmax45 wordbreak">';
$out2 .= $extrafields->attributes[$objectCard]['label']['fk_task'];
$out2 .= '</td><td class="valuefieldcreate ' . $objectCard . '_extras_fk_task">';
$out2 .= Form::selectarray('options_fk_task', $taskList, $object->array_options['options_fk_task'], -1, 0, 0, '', '', 0, 0, '', 'minwidth100imp maxwidth500 widthcentpercentminusxx');
$out2 .= '</td>';
$out2 .= '</tr>';

echo $out2;

} else {
?>
<script>
$(document).ready(function() {
$('#options_fk_task').closest('tr').hide();
});
</script>
<?php
}

?>
<script>
$('#projectid').on('change', function() {
var value = $(this).val();
if (value > 0) {
$.ajax({
url: document.URL + window.saturne.toolbox.getQuerySeparator(document.URL) + 'projectid=' + $(this).val(),
type: 'GET',
success: function(data) {
$('#options_fk_task').closest('tr').html($(data).find('#fk_task_container').html());
$('#options_fk_task').closest('tr').show();
}
})
} else {
$('#options_fk_task').closest('tr').hide();
}
});
</script>
<?php
}
}

/**
* Overloading the afterCreationOfRecurringInvoice function : replacing the parent's function with the one below
Expand Down
2 changes: 1 addition & 1 deletion core/modules/modDoliSIRH.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,7 @@ public function init($options = ''): int
$param['options']['Facture:compta/facture/class/facture.class.php'] = null;
$extraFields->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);
Expand Down