]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6571 @0.25
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 29 Jan 2024 10:07:14 +0000 (11:07 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 29 Jan 2024 10:07:14 +0000 (11:07 +0100)
app/Fields/FluidbookExtranetTask.php
resources/views/columns/fluidbook_status.blade.php

index 9e97e1f7e39a05436c8e85310b004d000de2d56b..77a8f2014369b993874f69453a6cd7f5b50cd329 100644 (file)
@@ -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;
         });
     }
 
index f84b31fe679e6d5160fc256d58a915ed5e21ae08..a0bc5913472b33fdfe411c34657cdc09def60da2 100644 (file)
            data-context-callback="statusCallback"
            title="{{__('Changer le status')}}"
         >{{$v}}</a>
+
+        @if($entry->extranet_task)
+            <a href="https://extranet.cubedesigners.com/projet/{{\App\Fields\FluidbookExtranetTask::taskToProject($entry->extranet_task)}}"
+               title="{{__('Voir les détails du projet')}}"><i class="las la-coins"></i></a>
+        @endif
 </span>
 @endcan