]> _ Git - extranet.git/commitdiff
wip #3712 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 16 Jun 2020 18:18:58 +0000 (20:18 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 16 Jun 2020 18:18:58 +0000 (20:18 +0200)
12 files changed:
app/Console/Commands/ExtranetMigration.php
app/Http/Controllers/Admin/UserCrudController.php [deleted file]
app/Http/Controllers/Admin/UsersCrudController.php [new file with mode: 0644]
app/Http/Controllers/Api/ExtranetV1UserController.php [new file with mode: 0644]
app/Models/Company.php
app/Models/User.php
config/debugbar.php [new file with mode: 0644]
resources/views/vendor/backpack/base/inc/scripts.blade.php [new file with mode: 0644]
resources/views/vendor/backpack/base/inc/sidebar_content.blade.php
routes/api.php
routes/backpack/custom.php
routes/backpack/permissionmanager.php

index ccf36ff52b279efd1b598f50a879489318d373da..51f28b560e0c778e22008fd76e4975ac3bf615a4 100644 (file)
@@ -10,6 +10,7 @@ use Cubist\Backpack\app\Console\Commands\CubistCommand;
 use Illuminate\Console\Command;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Str;
 
 class ExtranetMigration extends CubistCommand
 {
@@ -102,7 +103,8 @@ class ExtranetMigration extends CubistCommand
 
         $extgrades = ['0' => 2, '0.5' => 5, '1' => 3, '2' => 1, '3' => 13];
         $wsgrades = ['1' => 7, '2' => 8, '3' => 10, '4' => 11, '5' => 9];
-        //$hf=[12];
+        $hf = [12];
+        $cube = [14];
 
         $roles = [];
 
@@ -113,9 +115,15 @@ class ExtranetMigration extends CubistCommand
             }
 
             if ($e->entreprise == 1880) {
-                $roles[] = ['model_id' => $e->utilisateur_id, 'role_id' => 12, 'model_type' => 'App\Models\User'];
-            }else if($e->entreprise==7){
-                $roles[] = ['model_id' => $e->utilisateur_id, 'role_id' => 14, 'model_type' => 'App\Models\User'];
+                foreach ($hf as $item) {
+                    $roles[] = ['model_id' => $e->utilisateur_id, 'role_id' => $item, 'model_type' => 'App\Models\User'];
+                }
+
+            } else if ($e->entreprise == 7) {
+                foreach ($cube as $item) {
+                    $roles[] = ['model_id' => $e->utilisateur_id, 'role_id' => $item, 'model_type' => 'App\Models\User'];
+                }
+
             }
             if ($this->_wsRanks[$e->entreprise] > 0) {
                 $roles[] = ['model_id' => $e->utilisateur_id, 'role_id' => $wsgrades[$this->_wsRanks[$e->entreprise]], 'model_type' => 'App\Models\User'];
@@ -126,6 +134,7 @@ class ExtranetMigration extends CubistCommand
             foreach ($map as $old => $new) {
                 $u->setAttribute($new, $e->$old);
             }
+            $u->setAttribute('api_token', Str::random(60));
             $u->setAttribute('address', ['address' => $e->adresse, 'postcode' => $e->code_postal, 'city' => $e->ville, 'country' => $e->pays]);
             $u->setAttribute('password', Hash::make($e->password));
             $u->setAttribute('created_at', new \DateTime('@' . $e->date_creation));
diff --git a/app/Http/Controllers/Admin/UserCrudController.php b/app/Http/Controllers/Admin/UserCrudController.php
deleted file mode 100644 (file)
index 6e98303..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-namespace App\Http\Controllers\Admin;
-
-class UserCrudController extends \Cubist\Backpack\app\Magic\Controllers\CubistMagicController
-{
-    protected $_modelNamespace = 'App\Models\User';
-    protected $_routeURL = 'user';
-    protected $_singular = 'user';
-    protected $_plural = 'users';
-    protected $_clonable = true;
-    protected $_bulk = true;
-    protected $_oneInstance= false;
-}
diff --git a/app/Http/Controllers/Admin/UsersCrudController.php b/app/Http/Controllers/Admin/UsersCrudController.php
new file mode 100644 (file)
index 0000000..6737384
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+class UsersCrudController extends \Cubist\Backpack\app\Magic\Controllers\CubistMagicController
+{
+    protected $_modelNamespace = 'App\Models\User';
+    protected $_routeURL = 'users';
+    protected $_singular = 'user';
+    protected $_plural = 'users';
+    protected $_clonable = true;
+    protected $_bulk = true;
+    protected $_oneInstance= false;
+}
diff --git a/app/Http/Controllers/Api/ExtranetV1UserController.php b/app/Http/Controllers/Api/ExtranetV1UserController.php
new file mode 100644 (file)
index 0000000..0fb5631
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+
+namespace App\Http\Controllers\Api;
+
+use Illuminate\Http\Request;
+
+class ExtranetV1UserController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function show($id)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, $id)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  int  $id
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy($id)
+    {
+        //
+    }
+}
index 039299c77c137f48784010b683fd99f799c5790d..6c2e6a7d63153e2f27b3b61d2c872f7e3c81b33b 100644 (file)
@@ -4,7 +4,7 @@
 namespace App\Models;
 
 
-class Company extends \Cubedesigners\Userdatabase\Company
+class Company extends \Cubedesigners\UserDatabase\Company
 {
     protected $_syncDbSchema = false;
 }
index 72ba70e72a86f11dcf90672d496600622d13f41d..5b16e809a8332bc143dba56d068ff2bbccd02aea 100644 (file)
@@ -2,7 +2,7 @@
 
 namespace App\Models;
 
-class User extends \Cubedesigners\Userdatabase\User
+class User extends \Cubedesigners\UserDatabase\User
 {
     protected $_syncDbSchema = false;
 }
diff --git a/config/debugbar.php b/config/debugbar.php
new file mode 100644 (file)
index 0000000..d1fcc58
--- /dev/null
@@ -0,0 +1,202 @@
+<?php
+
+return [
+
+    /*
+     |--------------------------------------------------------------------------
+     | Debugbar Settings
+     |--------------------------------------------------------------------------
+     |
+     | Debugbar is enabled by default, when debug is set to true in app.php.
+     | You can override the value by setting enable to true or false instead of null.
+     |
+     | You can provide an array of URI's that must be ignored (eg. 'api/*')
+     |
+     */
+
+    'enabled' => env('DEBUGBAR_ENABLED', null),
+    'except' => [
+        'telescope*'
+    ],
+
+    /*
+     |--------------------------------------------------------------------------
+     | Storage settings
+     |--------------------------------------------------------------------------
+     |
+     | DebugBar stores data for session/ajax requests.
+     | You can disable this, so the debugbar stores data in headers/session,
+     | but this can cause problems with large data collectors.
+     | By default, file storage (in the storage folder) is used. Redis and PDO
+     | can also be used. For PDO, run the package migrations first.
+     |
+     */
+    'storage' => [
+        'enabled'    => true,
+        'driver'     => 'file', // redis, file, pdo, custom
+        'path'       => storage_path('debugbar'), // For file driver
+        'connection' => null,   // Leave null for default connection (Redis/PDO)
+        'provider'   => '' // Instance of StorageInterface for custom driver
+    ],
+
+    /*
+     |--------------------------------------------------------------------------
+     | Vendors
+     |--------------------------------------------------------------------------
+     |
+     | Vendor files are included by default, but can be set to false.
+     | This can also be set to 'js' or 'css', to only include javascript or css vendor files.
+     | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files)
+     | and for js: jquery and and highlight.js
+     | So if you want syntax highlighting, set it to true.
+     | jQuery is set to not conflict with existing jQuery scripts.
+     |
+     */
+
+    'include_vendors' => true,
+
+    /*
+     |--------------------------------------------------------------------------
+     | Capture Ajax Requests
+     |--------------------------------------------------------------------------
+     |
+     | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors),
+     | you can use this option to disable sending the data through the headers.
+     |
+     | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools.
+     */
+
+    'capture_ajax' => true,
+    'add_ajax_timing' => false,
+
+    /*
+     |--------------------------------------------------------------------------
+     | Custom Error Handler for Deprecated warnings
+     |--------------------------------------------------------------------------
+     |
+     | When enabled, the Debugbar shows deprecated warnings for Symfony components
+     | in the Messages tab.
+     |
+     */
+    'error_handler' => false,
+
+    /*
+     |--------------------------------------------------------------------------
+     | Clockwork integration
+     |--------------------------------------------------------------------------
+     |
+     | The Debugbar can emulate the Clockwork headers, so you can use the Chrome
+     | Extension, without the server-side code. It uses Debugbar collectors instead.
+     |
+     */
+    'clockwork' => false,
+
+    /*
+     |--------------------------------------------------------------------------
+     | DataCollectors
+     |--------------------------------------------------------------------------
+     |
+     | Enable/disable DataCollectors
+     |
+     */
+
+    'collectors' => [
+        'phpinfo'         => true,  // Php version
+        'messages'        => true,  // Messages
+        'time'            => true,  // Time Datalogger
+        'memory'          => true,  // Memory usage
+        'exceptions'      => true,  // Exception displayer
+        'log'             => true,  // Logs from Monolog (merged in messages if enabled)
+        'db'              => true,  // Show database (PDO) queries and bindings
+        'views'           => true,  // Views with their data
+        'route'           => true,  // Current route information
+        'auth'            => false, // Display Laravel authentication status
+        'gate'            => true,  // Display Laravel Gate checks
+        'session'         => true,  // Display session data
+        'symfony_request' => true,  // Only one can be enabled..
+        'mail'            => true,  // Catch mail messages
+        'laravel'         => false, // Laravel version and environment
+        'events'          => false, // All events fired
+        'default_request' => false, // Regular or special Symfony request logger
+        'logs'            => false, // Add the latest log messages
+        'files'           => false, // Show the included files
+        'config'          => false, // Display config settings
+        'cache'           => false, // Display cache events
+        'models'          => true,  // Display models
+    ],
+
+    /*
+     |--------------------------------------------------------------------------
+     | Extra options
+     |--------------------------------------------------------------------------
+     |
+     | Configure some DataCollectors
+     |
+     */
+
+    'options' => [
+        'auth' => [
+            'show_name' => true,   // Also show the users name/email in the debugbar
+        ],
+        'db' => [
+            'with_params'       => true,   // Render SQL with the parameters substituted
+            'backtrace'         => true,   // Use a backtrace to find the origin of the query in your files.
+            'timeline'          => false,  // Add the queries to the timeline
+            'explain' => [                 // Show EXPLAIN output on queries
+                'enabled' => false,
+                'types' => ['SELECT'],     // // workaround ['SELECT'] only. https://github.com/barryvdh/laravel-debugbar/issues/888 ['SELECT', 'INSERT', 'UPDATE', 'DELETE']; for MySQL 5.6.3+
+            ],
+            'hints'             => true,    // Show hints for common mistakes
+        ],
+        'mail' => [
+            'full_log' => false
+        ],
+        'views' => [
+            'data' => false,    //Note: Can slow down the application, because the data can be quite large..
+        ],
+        'route' => [
+            'label' => true  // show complete route on bar
+        ],
+        'logs' => [
+            'file' => null
+        ],
+        'cache' => [
+            'values' => true // collect cache values
+        ],
+    ],
+
+    /*
+     |--------------------------------------------------------------------------
+     | Inject Debugbar in Response
+     |--------------------------------------------------------------------------
+     |
+     | Usually, the debugbar is added just before </body>, by listening to the
+     | Response after the App is done. If you disable this, you have to add them
+     | in your template yourself. See http://phpdebugbar.com/docs/rendering.html
+     |
+     */
+
+    'inject' => true,
+
+    /*
+     |--------------------------------------------------------------------------
+     | DebugBar route prefix
+     |--------------------------------------------------------------------------
+     |
+     | Sometimes you want to set route prefix to be used by DebugBar to load
+     | its resources from. Usually the need comes from misconfigured web server or
+     | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97
+     |
+     */
+    'route_prefix' => '_debugbar',
+
+    /*
+     |--------------------------------------------------------------------------
+     | DebugBar route domain
+     |--------------------------------------------------------------------------
+     |
+     | By default DebugBar route served from the same domain that request served.
+     | To override default domain, specify it as a non-empty value.
+     */
+    'route_domain' => null,
+];
diff --git a/resources/views/vendor/backpack/base/inc/scripts.blade.php b/resources/views/vendor/backpack/base/inc/scripts.blade.php
new file mode 100644 (file)
index 0000000..2cf1dfe
--- /dev/null
@@ -0,0 +1,44 @@
+@if (config('backpack.base.scripts') && count(config('backpack.base.scripts')))
+    @foreach (config('backpack.base.scripts') as $path)
+    <script type="text/javascript" src="{{ asset($path).'?v='.config('backpack.base.cachebusting_string') }}"></script>
+    @endforeach
+@endif
+
+@if (config('backpack.base.mix_scripts') && count(config('backpack.base.mix_scripts')))
+    @foreach (config('backpack.base.mix_scripts') as $path => $manifest)
+    <script type="text/javascript" src="{{ mix($path, $manifest) }}"></script>
+    @endforeach
+@endif
+
+@include('backpack::inc.alerts')
+
+<!-- page script -->
+<script type="text/javascript">
+    // To make Pace works on Ajax calls
+    $(document).ajaxStart(function() { Pace.restart(); });
+
+    // Ajax calls should always have the CSRF token attached to them, otherwise they won't work
+    $.ajaxSetup({
+        headers: {
+            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
+        }
+    });
+
+    {{-- Enable deep link to tab --}}
+    var activeTab = $('[href="' + location.hash.replace("#", "#tab_") + '"]');
+    location.hash && activeTab && activeTab.tab('show');
+    $('.nav-tabs a').on('shown.bs.tab', function (e) {
+        location.hash = e.target.hash.replace("#tab_", "#");
+    });
+</script>
+@if(config('app.debug'))
+    <script>
+        $('body').on('xhr.dt', function (e, settings, data, xhr) {
+            if (typeof phpdebugbar != "undefined") {
+                if (xhr.getAllResponseHeaders()) {
+                    phpdebugbar.ajaxHandler.handle(xhr);
+                }
+            }
+        });
+    </script>
+@endif
index 07fb54d4679d8292d161a1de3c4597fe06657643..4f78d57df44b8527ae035cc1c0577db2c3c7a45a 100644 (file)
@@ -3,15 +3,15 @@
             class="fa fa-dashboard nav-icon"></i> {{ trans('backpack::base.dashboard') }}</a></li>
 
 
-<li class='nav-item nav-dropdown open'><a class='nav-link nav-dropdown-toggle' href='#'><i
-            class='nav-icon fa fa-question'></i>Quiz</a>
-    <ul class='nav-dropdown-items'>
-        <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiz') }}"><i
-                    class="fa fa-table nav-icon"></i> Quizzes</a></li>
-        <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiztranslation') }}"><i
-                    class="fa fa-language nav-icon"></i> Translations</a></li>
-    </ul>
-</li>
+{{--<li class='nav-item nav-dropdown open'><a class='nav-link nav-dropdown-toggle' href='#'><i--}}
+{{--            class='nav-icon fa fa-question'></i>Quiz</a>--}}
+{{--    <ul class='nav-dropdown-items'>--}}
+{{--        <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiz') }}"><i--}}
+{{--                    class="fa fa-table nav-icon"></i> Quizzes</a></li>--}}
+{{--        <li class="nav-item"><a class="nav-link" href="{{ backpack_url('quiztranslation') }}"><i--}}
+{{--                    class="fa fa-language nav-icon"></i> Translations</a></li>--}}
+{{--    </ul>--}}
+{{--</li>--}}
 @can('maintenance')
     <li class='nav-item nav-dropdown'><a class='nav-link nav-dropdown-toggle' href='#'><i
                 class='nav-icon fa fa-cogs'></i>Maintenance</a>
index c641ca5e5b96c5fb325a43709dea06dd5b3cfade..0fb24943f8a070d07d654c6eb2d570d53d555cc5 100644 (file)
@@ -16,3 +16,4 @@ use Illuminate\Http\Request;
 Route::middleware('auth:api')->get('/user', function (Request $request) {
     return $request->user();
 });
+Route::apiResource('extranetv1/user', \App\Http\Controllers\Api\ExtranetV1UserController::class);
index 7c43ebfc5a8e0742070804b22a91cc5da90b5076..ef5df03d05b732751bf0f3be3253095efabaf3fb 100644 (file)
@@ -1,16 +1,16 @@
 <?php
 Route::group([
-    'prefix' => config('backpack.base.route_prefix', 'admin'),
+    'prefix'     => config('backpack.base.route_prefix', 'admin'),
     'middleware' => ['web', config('backpack.base.middleware_key', 'admin')],
-    'namespace' => 'App\Http\Controllers\Admin',
+    'namespace'  => 'App\Http\Controllers\Admin',
 ], function () { // custom admin routes
     try {
-        Route::crud('locale', 'LocaleCrudController');
-        Route::crud('settings', 'SettingsCrudController');
-        Route::crud('page', 'PageCrudController');
-        Route::crud('company', 'CompanyCrudController');
-        Route::crud('users', 'UsersCrudController');
-    } catch (\Throwable $e) {
+         Route::crud('company', 'CompanyCrudController');
+     Route::crud('locale', 'LocaleCrudController');
+     Route::crud('page', 'PageCrudController');
+     Route::crud('settings', 'SettingsCrudController');
+     Route::crud('users', 'UsersCrudController');
+    } catch(\Throwable $e) {
 
     }
 });
index 4577d6da0436f83dd9547bbca46a6edad3cc2845..f771a68dcea3167e8bce7cb6476aa30c30981dfc 100644 (file)
@@ -17,5 +17,4 @@ Route::group([
 ], function () {
     Route::crud('permission', 'PermissionCrudController');
     Route::crud('role', 'RoleCrudController');
-    Route::crud('user', 'UserCrudController');
 });