فهرست منبع

Log-in-as pro fix

Vijayakrishnan 4 سال پیش
والد
کامیت
aac6691173
3فایلهای تغییر یافته به همراه20 افزوده شده و 2 حذف شده
  1. 10 0
      public/js/mc.js
  2. 8 1
      resources/views/app/log-in-as.blade.php
  3. 2 1
      resources/views/app/mc.blade.php

+ 10 - 0
public/js/mc.js

@@ -181,6 +181,16 @@ function onFastLoaded(_data, _href, _history) {
 }
 function fastLoad(_href, _history = true, _useCache = true, _replaceState = false) {
 
+    let domPro = $(window.top.document.body).attr('data-pro-uid'),
+        lsPro = window.top.localStorage.currentProUid;
+    console.log('ALIX DOM: ', domPro);
+    console.log('ALIX LS: ', lsPro);
+    if(lsPro && domPro && lsPro !== domPro) {
+        console.warn('ALIX Looks like you have a session as another pro on another tab. Refreshing window.top...');
+        window.top.location.href = _href;
+        return false;
+    }
+
     showMask();
 
     if (_href === '') _href = '/';

+ 8 - 1
resources/views/app/log-in-as.blade.php

@@ -25,7 +25,7 @@
                                 <td>{{$pro->cell_number}}</td>
                                 <td>{{$pro->email}}</td>
                                 <td class="text-right pr-2">
-                                    <form action="{{route('process-log-in-as')}}" method="POST" target="_top">
+                                    <form action="{{route('process-log-in-as')}}" onsubmit="saveProUid('{{$pro->uid}}')" method="POST" target="_top">
                                         @csrf
                                         <input type="hidden" name="proUid" value="{{$pro->uid}}">
                                         <button class="btn btn-sm btn-primary font-weight-bold px-4 py-1">Login</button>
@@ -40,4 +40,11 @@
         </div>
     </div>
 
+    <script>
+    function saveProUid(_uid) {
+        window.top.localStorage.currentProUid = _uid;
+        return true;
+    }
+    </script>
+
 @endsection

+ 2 - 1
resources/views/app/mc.blade.php

@@ -14,7 +14,7 @@
     <script src="{{ asset('js/toastr.min.js') }}" type="application/javascript"></script>
     <title>Leadership Health</title>
 </head>
-<body class="h-100">
+<body class="h-100" data-pro-uid="{{$pro ? $pro->uid : ''}}">
     <div class="row mx-0 h-100">
         <div class="col-9 px-0 app-left-panel">
             <iframe id="stag_mcp_lhs" src="/blank" frameborder="0" class="h-100 w-100"></iframe>
@@ -24,6 +24,7 @@
         </div>
     </div>
     <script>
+        window.top.localStorage.currentProUid = "{{$pro ? $pro->uid : ''}}";
         initVSplitter('stag-mc-main', $('.app-left-panel'), $('.app-right-panel'));
         window.openInLHS = function(_url) {
             $('#stag_mcp_lhs')[0].contentWindow.fastLoad(_url, true, false);