From 74c26d169e42813d8f201572563e53ce86823fec Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 29 Jan 2024 15:58:46 +0100 Subject: [PATCH] wait #6571 @1.5 --- app/Fields/FluidbookExtranetTask.php | 8 ++-- .../FluidbookPublication/LinksOperation.php | 47 ++++++++++--------- .../Admin/Operations/InvoiceOperation.php | 7 ++- app/Models/Traits/PublicationSettings.php | 8 ++++ 4 files changed, 44 insertions(+), 26 deletions(-) diff --git a/app/Fields/FluidbookExtranetTask.php b/app/Fields/FluidbookExtranetTask.php index 77a8f2014..4292fde3a 100644 --- a/app/Fields/FluidbookExtranetTask.php +++ b/app/Fields/FluidbookExtranetTask.php @@ -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; } } diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php index 483a9878e..5aa247016 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php @@ -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)]); } } diff --git a/app/Http/Controllers/Admin/Operations/InvoiceOperation.php b/app/Http/Controllers/Admin/Operations/InvoiceOperation.php index df81a18e5..872e2fa10 100644 --- a/app/Http/Controllers/Admin/Operations/InvoiceOperation.php +++ b/app/Http/Controllers/Admin/Operations/InvoiceOperation.php @@ -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); } diff --git a/app/Models/Traits/PublicationSettings.php b/app/Models/Traits/PublicationSettings.php index 3d23b5915..af787beb3 100644 --- a/app/Models/Traits/PublicationSettings.php +++ b/app/Models/Traits/PublicationSettings.php @@ -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() -- 2.39.5