]> _ Git - bastide-resah.git/commitdiff
wip #6867 @2
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 17 Apr 2024 16:43:16 +0000 (18:43 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Wed, 17 Apr 2024 16:43:16 +0000 (18:43 +0200)
app/Http/Controllers/Admin/ClientCrudController.php [new file with mode: 0644]
app/Http/Controllers/Admin/CrudController.php [new file with mode: 0644]
app/Http/Controllers/Admin/OrderCrudController.php [new file with mode: 0644]
app/Http/Controllers/Operations/Client/Fluidbook.php [new file with mode: 0644]
app/Models/Client.php

diff --git a/app/Http/Controllers/Admin/ClientCrudController.php b/app/Http/Controllers/Admin/ClientCrudController.php
new file mode 100644 (file)
index 0000000..1376ba9
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+class ClientCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
+{
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       use \App\Http\Controllers\Operations\Client\Fluidbook;
+       
+
+
+    /*
+       __('client')
+       __('clients')
+       */
+
+    protected $_modelNamespace = 'App\Models\Client';
+    protected $_routeURL = 'client';
+    protected $_singular = 'client';
+    protected $_plural = 'clients';
+    protected $_oneInstance= false;
+}
diff --git a/app/Http/Controllers/Admin/CrudController.php b/app/Http/Controllers/Admin/CrudController.php
new file mode 100644 (file)
index 0000000..9f58734
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+class CrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
+{
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       
+
+
+    /*
+       */
+
+    protected $_modelNamespace = 'App\Models\User';
+    protected $_routeURL = '';
+    protected $_singular = '';
+    protected $_plural = '';
+    protected $_oneInstance= false;
+}
diff --git a/app/Http/Controllers/Admin/OrderCrudController.php b/app/Http/Controllers/Admin/OrderCrudController.php
new file mode 100644 (file)
index 0000000..ef68052
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+class OrderCrudController extends \Cubist\Backpack\Magic\Controllers\CubistMagicController
+{
+    use \Cubist\Backpack\Magic\Operations\CreateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\CloneEditOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\BulkPublishOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\CloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkCloneOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
+       use \Backpack\CRUD\app\Http\Controllers\Operations\BulkDeleteOperation;
+       use \Cubist\Backpack\Http\Controllers\Operations\ReviseOperation;
+       
+
+
+    /*
+       __('commande')
+       __('commandes')
+       */
+
+    protected $_modelNamespace = 'App\Models\Order';
+    protected $_routeURL = 'order';
+    protected $_singular = 'commande';
+    protected $_plural = 'commandes';
+    protected $_oneInstance= false;
+}
diff --git a/app/Http/Controllers/Operations/Client/Fluidbook.php b/app/Http/Controllers/Operations/Client/Fluidbook.php
new file mode 100644 (file)
index 0000000..756b48e
--- /dev/null
@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Http\Controllers\Operations\Client;
+
+use App\Http\Middleware\CheckIfAdmin;
+use App\Http\Middleware\VerifyCsrfToken;
+use App\Models\Client;
+use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Facades\Password;
+use Illuminate\Support\Facades\Route;
+use Illuminate\Support\Facades\Validator;
+
+trait Fluidbook
+{
+    protected function setupFluidbookRoutes($segment, $routeName, $controller)
+    {
+        Route::match(['post'], $segment . '/signin', $controller . '@signin')->withoutMiddleware([CheckIfAdmin::class, VerifyCsrfToken::class]);
+        Route::match(['post'], $segment . '/login', $controller . '@login')->withoutMiddleware([CheckIfAdmin::class, VerifyCsrfToken::class]);
+        Route::match(['post'], $segment . '/forgotpassword', $controller . '@login')->withoutMiddleware([CheckIfAdmin::class, VerifyCsrfToken::class]);
+    }
+
+    protected function signin()
+    {
+        $validator = Validator::make(request()->all(), [
+            'finess' => 'required|regex:/^[0-9]{9}$/',
+            'password' => 'required|confirmed|min:8',
+            'hospital' => 'required',
+            'firstname' => 'required',
+            'name' => 'required',
+            'function' => 'required',
+            'phone' => 'required|regex:/^0[0-9]{9}$/',
+            'email' => 'required|confirmed|unique:App\Models\Client,email',
+        ]);
+
+        if ($validator->fails()) {
+            return response()->setStatusCode(422)->json(['errors' => $validator->errors()]);
+        } else {
+
+            $client = new Client();
+            foreach ($validator->valid() as $k => $v) {
+                if ($k === 'password') {
+                    $client->$k = Hash::make($v);
+                } else {
+                    $client->$k = $v;
+                }
+            }
+            $client->enabled = false;
+            $client->save();
+
+            return response()->setStatusCode(200)->json(['success' => 'ok']);
+
+        }
+    }
+
+    protected function login()
+    {
+//
+    }
+
+    protected function forgotpassword()
+    {
+        //
+    }
+}
index 271751dca49d9d0514f0536bc216dfec122e3734..12d466f92fd9cb030e6899f36f4f207a7fcf1139 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace App\Models;
 
+use App\Http\Controllers\Operations\Client\Fluidbook;
 use Cubist\Backpack\Magic\Fields\Text;
 use Cubist\Backpack\Magic\Models\CubistMagicAuthenticatable;
 
@@ -12,6 +13,7 @@ class Client extends CubistMagicAuthenticatable
         'singular' => 'client',
         'plural' => 'clients'];
 
+    protected $_operations = [Fluidbook::class];
 
     public function setFields()
     {