From 779bfd5cd615d6f87d0cab3558370b445bcbfee4 Mon Sep 17 00:00:00 2001 From: soufiane Date: Tue, 12 Dec 2023 17:53:13 +0100 Subject: [PATCH] wip #6482 @0:20 --- .../FluidbookPublication/LinksOperation.php | 9 +++++--- resources/linkeditor/js/linkeditor.js | 22 +++++++++++++++---- .../link_editor.blade.php | 9 ++++++-- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php b/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php index c181e0621..16c4f08db 100644 --- a/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php +++ b/app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php @@ -7,6 +7,7 @@ namespace App\Http\Controllers\Admin\Operations\FluidbookPublication; use App\Fluidbook\Compiler\Compiler; use App\Fluidbook\Link\LinksData; use App\Models\FluidbookPublication; +use App\Models\User; use Cubist\Backpack\Http\Controllers\Base\XSendFileController; use Cubist\Util\Files\Files; use Illuminate\Http\UploadedFile; @@ -298,17 +299,19 @@ trait LinksOperation $fluidbookId = $request->id; $token = $request->token; $userId = backpack_user()->id; + $user = User::find($userId); + $user = $user->firstname.' '.$user->lastname; + // réinitialiser la connexion courante quand on clique sur "éjecter l'utilisateur" if($request->clear) { cache()->forget('connexion'.$fluidbookId); } - $connexionExist = cache()->get('connexion'.$fluidbookId); if($connexionExist && $fluidbookId === $connexionExist['f_id']) { if($userId != $connexionExist['id'] || $token !== $connexionExist['token']) { - return "unavailable"; + return json_encode(["status"=>"unavailable","infos_connection"=>array_merge(["user" => $user],$connexionExist)]); } else { - return $connexionExist; + return json_encode(["status"=>"available",$connexionExist]); } } else { cache(['connexion'.$fluidbookId => ['id' => $userId, 'token' => $token,'f_id' => $fluidbookId] ]); diff --git a/resources/linkeditor/js/linkeditor.js b/resources/linkeditor/js/linkeditor.js index e053120f7..792ad8979 100644 --- a/resources/linkeditor/js/linkeditor.js +++ b/resources/linkeditor/js/linkeditor.js @@ -60,6 +60,7 @@ import 'spectrum-colorpicker/spectrum.css'; require('select2'); import 'select2/dist/css/select2.css'; import 'select2-bootstrap-theme/dist/select2-bootstrap.css'; +import {isObject} from "../../fluidbookpublication/packager/_node_modules_win/util"; window.MD5 = require("crypto-js/md5"); @@ -589,24 +590,37 @@ $(function () { let interval = null; + let userID = $("#userID").data("id"); function intervalConnection() { - interval = setInterval(function () { + //interval = setInterval(function () { $.ajax({ method: "POST", url: '/fluidbook-publication/' + FLUIDBOOK_DATA.id + '/edit/links', data: {id: FLUIDBOOK_DATA.id, token: $("[data-token]").data("token")} }).done(function (msg) { - if (msg === "unavailable") { + let response = JSON.parse(msg) + + if (response.status === "unavailable") { if ($("#popup-overlay").find('.popup').length === 0) { $("#popup-overlay").addClass("show") - window.linkeditor.popup.open('unavailable'); + + let popupName = 'unavailable'; + if(response.infos_connection.id === userID) popupName = 'twin-connection'; + window.linkeditor.popup.open(popupName); + + // Bloquer les raccourcis clavier keyfilter(false,true) + + $("#username").text(response.infos_connection.user) + $("#id").text(response.infos_connection.id) } } else { if ($("#popup-overlay").find('.popup[data-popup="unavailable"]').length > 0) { + $("#popup-overlay").removeClass("show") window.linkeditor.popup.close(); } + console.log('ok 2') window.key.filter = function (event) { let tagName = (event.target || event.srcElement).tagName; if (tagName === 'TEXTAREA' && event.keyCode === 13) { @@ -617,7 +631,7 @@ $(function () { }; } }); - }, 2000) + //}, 2000) } intervalConnection() diff --git a/resources/views/fluidbook_publication/link_editor.blade.php b/resources/views/fluidbook_publication/link_editor.blade.php index 1fc2c39c2..8fd954e2b 100644 --- a/resources/views/fluidbook_publication/link_editor.blade.php +++ b/resources/views/fluidbook_publication/link_editor.blade.php @@ -136,6 +136,7 @@ @section('content') @include('fluidbook_publication.link_editor_icons')
+
-- 2.39.5