Erreur lors de l'ajout d'une tache si le champ "charge de travail prévue" contient une valeur

Bonjour à tous,
Actuellement sur dolibarr 18.0.6, je développe un module, et je me suis rendu compte en faisant des tests que cela m’affichais une erreur lors de l’ajout d’une tache si je spécifie une charge de travail prévue.
J’ai donc remonter un dolibarr en partant de zéro, sur lequel je n’ai installé aucun de mes module externes (au cas ou le problème venais de ceux ci).
il s’avère que le problème est toujours présent, voici l’erreur qui ressort :

Warning: Invalid argument supplied for foreach() in /htdocs/core/lib/project.lib.php on line 1117 Call Stack: 0.0001 367832 1. 
{main}() /volume1/web/dolibarr/htdocs/projet/tasks.php:0 0.2341 1965136 2. projectLinesa($inc 
= 1, $parent = 0, $lines = [0 => class Task { public $element = 'project_task'; public 
$table_element = 'projet_task'; public $fk_element = 'fk_element'; public $picto = 'projecttask'; 
protected $childtables = [...]; public $fk_task_parent = '0'; public $label = 'test'; public 
$description = ''; public $duration_effective = '0'; public $planned_workload = '7200'; public 
$date_c = NULL; public $date_start = 1747605600; public $date_end = ''; public $progress = 
NULL; public $datee = NULL; public $fk_statut = '0'; public $priority = NULL; public 
$fk_user_creat = NULL; public $fk_user_valid = NULL; public $rang = '0'; public 
$timespent_min_date = NULL; public $timespent_max_date = NULL; public 
$timespent_total_duration = NULL; public $timespent_total_amount = NULL; public 
$timespent_nblinesnull = NULL; public $timespent_nblines = NULL; public $timespent_id = 
NULL; public $timespent_duration = NULL; public $timespent_old_duration = NULL; public 
$timespent_date = NULL; public $timespent_datehour = NULL; public $timespent_withhour = 
NULL; public $timespent_fk_user = NULL; public $timespent_thm = NULL; public 
$timespent_note = NULL; public $timespent_fk_product = NULL; public $timespent_invoiceid = 
NULL; public $timespent_invoicelineid = NULL; public $comments = [...]; public $statuts = NULL;
 public $statuts_short = NULL; public $tobill = NULL; public $billed = NULL; public $projectref = 
'PJ2504-0001'; public $projectstatus = '0'; public $projectlabel = 'projet 1'; public $opp_amount = 
NULL; public $opp_percent = '0.00'; public $fk_opp_status = '1'; public $usage_bill_time = '0'; 
public $public = '0'; public $array_options_project = NULL; public $socid = NULL; public 
$thirdparty_id = NULL; public $thirdparty_name = NULL; public $thirdparty_email = NULL; public 
$budget_amount = NULL; public $project_budget_amount = NULL; public $id = '1'; public $rowid 
= NULL; public $fk_unit = NULL; public $date_debut_prevue = NULL; public $date_debut_reel = 
NULL; public $date_fin_prevue = NULL; public $date_fin_reel = NULL; public $weight = NULL; 
public $weight_units = NULL; public $width = NULL; public $width_units = NULL; public $height 
= NULL; public $height_units = NULL; public $length = NULL; public $length_units = NULL; 
public $surface = NULL; public $surface_units = NULL; public $volume = NULL; public 
$volume_units = NULL; public $multilangs = NULL; public $product_type = NULL; public 
$fk_product = NULL; public $desc = NULL; public $product = NULL; public $product_ref = 
NULL; public $product_label = NULL; public $product_barcode = NULL; public $product_desc =
 NULL; public $fk_product_type = NULL; public $qty = NULL; public $duree = NULL; public 
$remise_percent = NULL; public $info_bits = NULL; public $special_code = NULL; public 
$subprice = NULL; public $tva_tx = NULL; public $module = NULL; public $db = class 
DB { ... }; public $entity = NULL; public $error = NULL; public $errorhidden = NULL; 
public $errors = [...]; private ${CommonObject}validateFieldsErrors = [...]; public 
element_for_permission = NULL; public $table_element_line = ''; public $ismultientitymanaged =
 NULL; public $import_key = NULL; public $array_options = [...]; public $fields = [...]; public 
$array_languages = NULL; public $contacts_ids = NULL; public $linked_objects = NULL; public 
linkedObjectsIds = NULL; public $linkedObjects = NULL; private 
${CommonObject}linkedObjectsFullLoaded = [...]; public $oldcopy = NULL; public $oldref = 
NULL; protected $table_ref_field = ''; public $restrictiononfksoc = 0; public $context = [...]; public
$canvas = NULL; public $project = NULL; public $fk_project = '1'; public $projet = NULL; public 
$fk_projet = NULL; public $contact = NULL; public $contact_id = NULL; public $thirdparty = 
NULL; public $user = NULL; public $origin = NULL; ... }], $level = 0, $var = TRUE, $showproject

Est ce que quelqu’un à la même erreur ?

Merci d’avance à tous !

Je crois avoir trouvé le problème, la vérification se fait même lorsqu’aucun extrafield n’est encore ajouté, il faut donc modifier le bloc de code existant de la ligne 1117 du fichier project.lib.php, et ajouter une condition pour vérifier s’il est vide ou non :

if (!empty($extrafields) && !empty($extrafields->attributes['projet_task']['totalizable'])) {
    foreach ($extrafields->attributes['projet_task']['totalizable'] as $key => $value) {
        if (!empty($arrayfields['efpt.'.$key]['checked']) && $arrayfields['efpt.'.$key]['checked'] == 1) {
            print '<td class="right">';
            if ($value == 1) {
                print empty($totalarray['totalizable'][$key]['total']) ? '' : $totalarray['totalizable'][$key]['total'];
            }
            print '</td>';
        }
    }
}

D’ailleurs, dans les dernières versions c’est écrit de cette manière la dans le core.