]> _ Git - fluidbook-toolbox.git/commitdiff
wip #6482 @0:30
authorsoufiane <soufiane@cubedesigners.com>
Tue, 12 Dec 2023 09:44:18 +0000 (10:44 +0100)
committersoufiane <soufiane@cubedesigners.com>
Tue, 12 Dec 2023 09:44:18 +0000 (10:44 +0100)
app/Http/Controllers/Admin/Operations/FluidbookPublication/LinksOperation.php
app/Http/Middleware/ClearRouteCache.php
resources/linkeditor/js/linkeditor.js
resources/views/fluidbook_publication/link_editor.blade.php

index 0c6dd1789c6dea73cc82cbaf1144775a4d4d0bfb..c181e0621fe60753360d117f9375682df897ae54 100644 (file)
@@ -299,8 +299,11 @@ trait LinksOperation
         $token = $request->token;
         $userId = backpack_user()->id;
 
+        if($request->clear) {
+            cache()->forget('connexion'.$fluidbookId);
+        }
+
         $connexionExist = cache()->get('connexion'.$fluidbookId);
-        //cache()->forget('connexion');
         if($connexionExist && $fluidbookId === $connexionExist['f_id']) {
             if($userId != $connexionExist['id'] || $token !== $connexionExist['token']) {
                 return "unavailable";
index a2cd7510e650c9e09fe4e383861ff4af45612428..602f755b92c9619527f22e48f8e206a288078ba8 100644 (file)
@@ -19,7 +19,9 @@ class ClearRouteCache
         $response = $next($request);
 
         $fluidbookId = $request->route('id');
-        cache()->forget('connexion'.$fluidbookId);
+        if(!cache()->get('connexion'.$fluidbookId)) {
+            cache()->forget('connexion' . $fluidbookId);
+        }
 
         return $response;
     }
index 77bfe556d521a5d5b27d23a0376c8eb4ab479496..c49bd9101d49baa2a9f0722966997949dc656286 100644 (file)
@@ -582,23 +582,41 @@ $(function () {
     }, 5000)*/
 
 
-    setInterval(function() {
+    let interval = null;
+    function intervalConnection() {
+        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") {
+                    if ($("#popup-overlay").find('.popup').length === 0) {
+                        $("#popup-overlay").addClass("show")
+                        window.linkeditor.popup.open('unavailable');
+                    }
+                } else {
+                    $("#popup-overlay").removeClass("show")
+                    window.linkeditor.popup.close();
+                }
+            });
+        }, 2000)
+    }
+    intervalConnection()
+
+    //
+    $("body").on("click", "#connectTo", function(e) {
+        e.preventDefault()
+        clearInterval(interval)
         $.ajax({
             method: "POST",
             url: '/fluidbook-publication/' + FLUIDBOOK_DATA.id + '/edit/links',
-            data: {id: FLUIDBOOK_DATA.id, token: $("[data-token]").data("token") }
+            data: {id: FLUIDBOOK_DATA.id, token: $("[data-token]").data("token"), clear: true }
         }).done(function (msg) {
-            if(msg === "unavailable") {
-                if($("#popup-overlay").find('.popup').length === 0) {
-                    $("#popup-overlay").addClass("show")
-                    window.linkeditor.popup.open('unavailable');
-                }
-            } else {
-                $("#popup-overlay").removeClass("show")
-                window.linkeditor.popup.close();
-            }
+            intervalConnection();
         });
-    }, 5000)
+
+    })
 });
 
 
index 8f01a8eeaa41d8d75eab7727c8050eb39b6bd938..1fc2c39c21d0b6c35bf5c112895f10533889034d 100644 (file)
             <h2>{{__('Fluidbook en cours d\'utilisation')}}</h2>
             <p>{{__('Utilisateur : ')}} {{ $user->firstname }} {{ $user->lastname }}</p>
             <p>Identifiant: {{ $user->id }}</p>
-            <!--<p class="button">
-                <button type="submit">{{__('Ejecter l\'utilisateur')}}</button>
-            </p>-->
+            <p class="button">
+                <button id="connectTo" type="submit">{{__('Ejecter l\'utilisateur')}}</button>
+            </p>
         </div>
     </div>