]> _ Git - fluidbook-toolbox.git/commitdiff
wait #6571 @1.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 29 Jan 2024 14:58:46 +0000 (15:58 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 29 Jan 2024 14:58:46 +0000 (15:58 +0100)
app/Fields/FluidbookExtranetTask.php
app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php
app/Http/Controllers/Admin/Operations/InvoiceOperation.php
app/Models/Traits/PublicationSettings.php

index 77a8f2014369b993874f69453a6cd7f5b50cd329..4292fde3a900f747dbd64b2237674c35e052f815 100644 (file)
@@ -75,22 +75,18 @@ class FluidbookExtranetTask extends SelectFromArray
         static::_getData();
         $res = [];
 
-
         foreach (static::$_projects as $project_id => $p) {
             if (Permissions::getCompanyByUser($p->client) != $company) {
                 continue;
             }
             $res[$project_id] = ['entry' => $p, 'tasks' => []];
 
-
             if (isset(static::$_projectTasks[$project_id])) {
                 foreach (static::$_projectTasks[$project_id] as $id => $task) {
                     $res[$project_id]['tasks'][$id] = ['name' => $task->nom, 'amount' => $task->budget];
                 }
             }
         }
-
-
         return $res;
     }
 
@@ -131,5 +127,9 @@ class FluidbookExtranetTask extends SelectFromArray
     {
         Cache::forget('fluidbook_extranet_tasks');
         Cache::forget('fluidbook_extranet_tasks_projects');
+        static::$_projects = null;
+        static::$_projectTasks = null;
+        static::$_taskOptions = [];
+        static::$_taskToProject = null;
     }
 }
index 483a9878ecd59b084e7716b24fc8ddf728474acb..5aa2470164d3e23b0996f73a1cf8ab2715fd0006 100644 (file)
@@ -67,11 +67,14 @@ trait LinksOperation
             abort(401);
         }
 
+        $links = request('links', '[]');
+        $rulers = request('rulers', '[]');
+
         LinksData::saveLinksInFile($fluidbook_id,
             backpack_user()->id,
             request('message'),
-            json_decode(request('links', '[]'), true),
-            json_decode(request('rulers', '[]'), true),
+            is_array($links) ? $links : json_decode($links, true),
+            is_array($rulers) ? $rulers : json_decode($rulers, true),
         );
 
         $fb = FluidbookPublication::withoutGlobalScopes()->find($fluidbook_id);
@@ -309,19 +312,21 @@ trait LinksOperation
         /* Reset
          *
         */
-        if(!cache()->has('queue_editor'.$fluidbookId)) {
+        if (!cache()->has('queue_editor' . $fluidbookId)) {
             $entries = [["token" => $token, "date" => now()]];
-            cache(['queue_editor'.$fluidbookId => $entries]);
+            cache(['queue_editor' . $fluidbookId => $entries]);
         } else {
-            $queueEditor = cache()->get('queue_editor'.$fluidbookId); // on récupère la liste des onglets
-            $connexion = array_filter($queueEditor, function($n) use($token) { return $n["token"] === $token; });
+            $queueEditor = cache()->get('queue_editor' . $fluidbookId); // on récupère la liste des onglets
+            $connexion = array_filter($queueEditor, function ($n) use ($token) {
+                return $n["token"] === $token;
+            });
             $key = key($connexion);
 
             if ((int)$unload === 1 && $key) {
                 unset($queueEditor[$key]); // on supprime l'onglet de la liste au chargement ou à sa fermeture
             }
 
-            if(!$key) {
+            if (!$key) {
                 $queueEditor[] = ["token" => $token, "date" => now()];
             } else {
                 $queueEditor[$key]["token"] = $token;
@@ -329,18 +334,18 @@ trait LinksOperation
             }
 
             // on supprime les connexions afk
-            $queueEditor = array_filter($queueEditor, function($n) {
-                return strtotime($n["date"]) > strtotime(now())-10;
+            $queueEditor = array_filter($queueEditor, function ($n) {
+                return strtotime($n["date"]) > strtotime(now()) - 10;
             });
 
-            cache(['queue_editor'.$fluidbookId => $queueEditor]);
+            cache(['queue_editor' . $fluidbookId => $queueEditor]);
         }
 
-        $connexionExist = cache()->get('connexion'.$fluidbookId);
-        $queueEditor = cache()->get('queue_editor'.$fluidbookId);
+        $connexionExist = cache()->get('connexion' . $fluidbookId);
+        $queueEditor = cache()->get('queue_editor' . $fluidbookId);
 
         // réinitialiser la connexion courante quand on clique sur "déconnecter l'utilisateur"
-        if($request->clear) {
+        if ($request->clear) {
             $queueEditorCurrent = $queueEditor[$key];
             unset($queueEditor[$key]);
             $queueEditor = array_merge([$queueEditorCurrent], $queueEditor);
@@ -351,25 +356,25 @@ trait LinksOperation
         /*cache()->forget('queue_editor'.$fluidbookId);*/
         /*cache()->forget('connexion'.$fluidbookId);*/
 
-        if(cache()->has('queue_editor'.$fluidbookId)) {
+        if (cache()->has('queue_editor' . $fluidbookId)) {
             if (sizeof(cache()->get('queue_editor' . $fluidbookId)) === 1) {
                 cache(['connexion' . $fluidbookId => ['id' => $userId, 'token' => $token, 'f_id' => $fluidbookId]]);
                 return json_encode(["queueEditor" => $queueEditor, "status" => "available", $connexionExist]);
             }
         }
 
-        if($connexionExist && $fluidbookId === $connexionExist['f_id']) {
+        if ($connexionExist && $fluidbookId === $connexionExist['f_id']) {
             $user = User::withoutGlobalScopes()->find($connexionExist['id']);
-            $user = $user->firstname.' '.$user->lastname;
+            $user = $user->firstname . ' ' . $user->lastname;
 
-            if(current($queueEditor)["token"] !== $token) {
-                return json_encode(["queueEditor"=>$queueEditor,"token"=>$token,"status"=>"unavailable","infos_connection"=>array_merge(["user" => $user],$connexionExist)]);
+            if (current($queueEditor)["token"] !== $token) {
+                return json_encode(["queueEditor" => $queueEditor, "token" => $token, "status" => "unavailable", "infos_connection" => array_merge(["user" => $user], $connexionExist)]);
             } else {
-                return json_encode(["queueEditor"=>$queueEditor,"status"=>"available",$connexionExist]);
+                return json_encode(["queueEditor" => $queueEditor, "status" => "available", $connexionExist]);
             }
         } else {
-            cache(['connexion'.$fluidbookId => ['id' => $userId, 'token' => $token,'f_id' => $fluidbookId] ]);
-            return json_encode(["queueEditor"=>$queueEditor,"status"=>"available",cache()->get('connexion'.$fluidbookId)]);
+            cache(['connexion' . $fluidbookId => ['id' => $userId, 'token' => $token, 'f_id' => $fluidbookId]]);
+            return json_encode(["queueEditor" => $queueEditor, "status" => "available", cache()->get('connexion' . $fluidbookId)]);
         }
     }
 
index df81a18e56fb1cfd20d51423787b078389c0bfff..872e2fa10d58cfc870a8e664da17be3ca68c40a4 100644 (file)
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin\Operations;
 
 use App\Fields\FluidbookExtranetTask;
 use App\Models\FluidbookPublication;
+use Cubedesigners\UserDatabase\Permissions;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Route;
 
@@ -20,8 +21,12 @@ trait InvoiceOperation
     {
         $entry = FluidbookPublication::find($id);
 
-        if ($entry && $entry->invoicable_company) {
+        if ($entry) {
             $invoicable = $entry->invoicable_company;
+            if (!$invoicable) {
+                $company = Permissions::getCompanyByUser($entry->owner);
+                $invoicable = Permissions::getInvoicableCompany($company);
+            }
             $data = FluidbookExtranetTask::getInvoiceData($invoicable);
         }
 
index 3d23b5915f81a86fba943ca0763c749de796007c..af787beb349b02d315b0e39850a9b6ca6fc226e7 100644 (file)
@@ -73,11 +73,19 @@ trait PublicationSettings
 
     protected function _disabled()
     {
+
+        $disabled = ['phonegapId', 'phonegapVersion', 'phonegapPlugins', 'appScreenshots'];
+
+        foreach ($disabled as $item) {
+            $this->addSettingField($item, Hidden::class);
+        }
+
 //        $this->addSettingField('', FormSeparator::class);
         $this->addSettingField('mobileVideosPath', Hidden::class, $this->__('Chemin vers les vidéos'), [
             'v2' => '{"type":"text","default":"","editable":true,"label":"\\u00a7!\\u00a7Chemin vers les vid\\u00e9os!\\u00a7!","grade":5}',
         ]);
 
+
     }
 
     protected function _mainSettings()