From 27b365c7e2799ae0b9fc1e0ee3ee8999844b2edb Mon Sep 17 00:00:00 2001 From: "m.razaghi" Date: Sun, 16 Aug 2026 17:15:47 +0330 Subject: [PATCH] Updated user management --- .../Controllers/Admin/UsersController.php | 19 +++++++++++++++++++ resources/views/admin/users/update.blade.php | 19 +++++++++++++++++-- routes/web.php | 5 +++++ 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/UsersController.php b/app/Http/Controllers/Admin/UsersController.php index a4cbcf8..f84ac7e 100644 --- a/app/Http/Controllers/Admin/UsersController.php +++ b/app/Http/Controllers/Admin/UsersController.php @@ -112,6 +112,25 @@ class UsersController extends Controller return view('admin.users.update', compact('user', 'paidPlans')); } + /** + * Instantly revoke a user's active subscriptions (Set to 0 days) + */ + public function revokeSubscription(Request $request) + { + $request->validate([ + 'user_id' => 'required|exists:users,id', + ]); + + $user = \App\Models\User::findOrFail($request->user_id); + + // Instantly expire ALL active subscriptions by setting them to 'now()' + $user->userSubscribers() + ->where('expired_at', '>', now()) + ->update(['expired_at' => now()]); + + return back()->with('success', 'اشتراک کاربر با موفقیت صفر (لغو) شد.'); + } + public function update(UpdateUserRequest $request, User $user) { $validated = $request->validated(); diff --git a/resources/views/admin/users/update.blade.php b/resources/views/admin/users/update.blade.php index 4241d16..70ecbe6 100644 --- a/resources/views/admin/users/update.blade.php +++ b/resources/views/admin/users/update.blade.php @@ -32,11 +32,11 @@ - +
-

افزودن اشتراک دستی (پولی)

+

مدیریت اشتراک

@if(session('success'))
{{ session('success') }}
@@ -45,6 +45,7 @@
{{ session('error') }}
@endif +
@csrf @@ -61,6 +62,20 @@
+ +
+ + +
لغو اشتراک
+

با این کار، تمامی روزهای باقی‌مانده از اشتراک فعلی کاربر صفر خواهد شد.

+
+ @csrf + + +
+
diff --git a/routes/web.php b/routes/web.php index 1296dbd..abd07ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -85,4 +85,9 @@ Route::middleware(['auth', config('jetstream.auth_session')])->group(function () Route::post('/users/manual-subscription', [\App\Http\Controllers\Admin\UsersController::class, 'addManualSubscription']) ->name('admin.subscriptions.manual'); + + Route::post('/users/revoke-subscription', [\App\Http\Controllers\Admin\UsersController::class, 'revokeSubscription']) + ->name('admin.subscriptions.revoke'); + + });