]> _ Git - cubedesigners_userdatabase.git/commitdiff
wip #4050 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 5 Nov 2020 18:33:26 +0000 (19:33 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 5 Nov 2020 18:33:26 +0000 (19:33 +0100)
src/Operations/LoginasOperation.php [new file with mode: 0644]
src/User.php

diff --git a/src/Operations/LoginasOperation.php b/src/Operations/LoginasOperation.php
new file mode 100644 (file)
index 0000000..bae0b1c
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+
+namespace Cubedesigners\UserDatabase\Operations;
+
+use Cubedesigners\UserDatabase\User;
+use Illuminate\Support\Facades\Route;
+
+trait LoginasOperation
+{
+    protected function setupLoginasRoutes($segment, $routeName, $controller)
+    {
+        Route::match(['get'], $segment . '/{id}/loginas', $controller . '@loginas');
+    }
+
+    protected function setupLoginasDefaults()
+    {
+        $this->crud->addButtonFromView('line', 'loginas', 'user.loginas', 'end');
+    }
+
+    protected function loginas($id)
+    {
+        $user=User::find($id);
+        backpack_auth()->login($user);
+    }
+}
index 1fc9745a28545c5edd509c29e82133e306f46ca1..d92f65d379f1b85c03f3bec2a1830f0be273fabb 100644 (file)
@@ -12,6 +12,8 @@ class User extends CubistMagicAuthenticatable
         'singular' => 'user',
         'plural' => 'users'];
 
+    protected $_operations = ['\Cubedesigners\UserDatabase\Operations\LoginasOperation'];
+
     protected static $_companyNames = null;
 
     public function setFields()