Преглед на файлове

add delete profile

(cherry picked from commit 8e7a5a6eb4da2390a6bf2d2f147211edff46cb51)
Alexander Musikhin преди 2 месеца
родител
ревизия
1c5e0ae843
променени са 4 файла, в които са добавени 15 реда и са изтрити 2 реда
  1. 8 0
      app/Http/Controllers/UserController.php
  2. 1 1
      resources/views/partials/submit.blade.php
  3. 5 1
      resources/views/users/profile.blade.php
  4. 1 0
      routes/web.php

+ 8 - 0
app/Http/Controllers/UserController.php

@@ -7,6 +7,7 @@ use App\Http\Requests\User\StoreProfile;
 use App\Http\Requests\User\StoreUser;
 use App\Models\User;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Hash;
 
 class UserController extends Controller
@@ -132,5 +133,12 @@ class UserController extends Controller
         return redirect()->route('user.profile')->with(['success' => 'Профиль обновлён!']);
     }
 
+    public function deleteProfile(Request $request)
+    {
+        User::query()->where('id', '=', $request->user()->id)->delete();
+        Auth::logout();
+        return redirect()->route('login')->with(['success' => 'Профиль удалён!']);
+    }
+
 
 }

+ 1 - 1
resources/views/partials/submit.blade.php

@@ -12,7 +12,7 @@
     <script type="module">
 
         $('a.delete').on('click', function (){
-            if(confirm('Удалить запись?')) {
+            if(confirm('{{ $delete['question']  ?? 'Удалить запись?' }}')) {
                 $('#{{ $delete['form_id'] ?? 'destroy_form'}}').submit();
             }
         });

+ 5 - 1
resources/views/users/profile.blade.php

@@ -21,9 +21,13 @@
                 @include('partials.input', ['name' => 'password', 'type' => 'password', 'title' => 'Новый пароль'])
                 @include('partials.input', ['name' => 'password_confirmation', 'type' => 'password', 'title' => 'Подтверждение пароля'])
             </div>
-            @include('partials.submit', [''])
+            @include('partials.submit', ['delete' => ['title' => 'Удалить', 'question' => 'Удалить профиль?']])
 {{--            <a href="#" class="btn btn-outline-info my-3 d-inline-block d-md-none" onclick="$('#logout').submit();">Выход</a>--}}
         </form>
+        <form action="{{ route('profile.delete') }}" method="post" id="destroy_form" class="d-none">
+            @csrf
+            @method('DELETE')
+        </form>
     </div>
 @endsection
 

+ 1 - 0
routes/web.php

@@ -57,6 +57,7 @@ Route::middleware('auth:web')->group(function () {
     // profile
     Route::get('profile', [UserController::class, 'profile'])->name('user.profile');
     Route::post('profile/store', [UserController::class, 'storeProfile'])->name('profile.store');
+    Route::delete('profile', [UserController::class, 'deleteProfile'])->name('profile.delete');
 
     // catalog
     Route::get('catalog', [ProductController::class, 'index'])->name('catalog.index');