From 7ca439cf4a95eeb5c62a8856698f6a4cdc79f193 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 29 Jan 2024 11:07:14 +0100 Subject: [PATCH] wait #6571 @0.25 --- app/Fields/FluidbookExtranetTask.php | 37 ++++++++++++------- .../views/columns/fluidbook_status.blade.php | 5 +++ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/app/Fields/FluidbookExtranetTask.php b/app/Fields/FluidbookExtranetTask.php index 9e97e1f7e..77a8f2014 100644 --- a/app/Fields/FluidbookExtranetTask.php +++ b/app/Fields/FluidbookExtranetTask.php @@ -16,6 +16,8 @@ class FluidbookExtranetTask extends SelectFromArray protected static $_taskOptions = []; + protected static $_taskToProject = null; + public function getOptions() { $invoicable = "all"; @@ -33,12 +35,7 @@ class FluidbookExtranetTask extends SelectFromArray } } - if (null === static::$_projects) { - static::$_projects = static::_getProjects(); - } - if (null === static::$_projectTasks) { - static::$_projectTasks = static::_getTasks(); - } + static::_getData(); if (!isset(static::$_taskOptions[$invoicable])) { static::$_taskOptions[$invoicable] = []; @@ -54,15 +51,28 @@ class FluidbookExtranetTask extends SelectFromArray return static::$_taskOptions[$invoicable]; } - public static function getInvoiceData($company) + protected static function _getData() { if (null === static::$_projects) { static::$_projects = static::_getProjects(); } if (null === static::$_projectTasks) { - static::$_projectTasks = static::_getTasks(); + $t = static::_getTasks(); + static::$_projectTasks = $t['tasks']; + static::$_taskToProject = $t['tasksToProjects']; } + } + + public static function taskToProject($task) + { + static::_getData(); + return static::$_taskToProject[$task] ?? false; + } + + public static function getInvoiceData($company) + { + static::_getData(); $res = []; @@ -104,15 +114,16 @@ class FluidbookExtranetTask extends SelectFromArray protected static function _getTasks() { return Cache::remember('fluidbook_extranet_tasks', 360, function () { - $tasks = []; + $res = ['tasks' => [], 'tasksToProjects' => []]; foreach (DB::connection('extranet')->table('taches')->orderBy('projet', 'DESC')->orderBy('tache_id', 'ASC')->get()->all() as $task) { - if (!isset($tasks[$task->projet])) { - $tasks[$task->projet] = []; + $res['tasksToProjects'][$task->tache_id] = $task->projet; + if (!isset($res['tasks'][$task->projet])) { + $res['tasks'][$task->projet] = []; } - $tasks[$task->projet][$task->tache_id] = $task; + $res['tasks'][$task->projet][$task->tache_id] = $task; } - return $tasks; + return $res; }); } diff --git a/resources/views/columns/fluidbook_status.blade.php b/resources/views/columns/fluidbook_status.blade.php index f84b31fe6..a0bc59134 100644 --- a/resources/views/columns/fluidbook_status.blade.php +++ b/resources/views/columns/fluidbook_status.blade.php @@ -15,6 +15,11 @@ data-context-callback="statusCallback" title="{{__('Changer le status')}}" >{{$v}} + + @if($entry->extranet_task) + + @endif @endcan -- 2.39.5