use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Str;
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 = [];
}
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'];
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));
+++ /dev/null
-<?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;
-}
--- /dev/null
+<?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;
+}
--- /dev/null
+<?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)
+ {
+ //
+ }
+}
namespace App\Models;
-class Company extends \Cubedesigners\Userdatabase\Company
+class Company extends \Cubedesigners\UserDatabase\Company
{
protected $_syncDbSchema = false;
}
namespace App\Models;
-class User extends \Cubedesigners\Userdatabase\User
+class User extends \Cubedesigners\UserDatabase\User
{
protected $_syncDbSchema = false;
}
--- /dev/null
+<?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,
+];
--- /dev/null
+@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
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>
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
+Route::apiResource('extranetv1/user', \App\Http\Controllers\Api\ExtranetV1UserController::class);
<?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) {
}
});
], function () {
Route::crud('permission', 'PermissionCrudController');
Route::crud('role', 'RoleCrudController');
- Route::crud('user', 'UserCrudController');
});