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 @@ - +
با این کار، تمامی روزهای باقیمانده از اشتراک فعلی کاربر صفر خواهد شد.
+ +