Updated user management
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -32,11 +32,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- NEW: Manual Subscription Box -->
|
||||
<!-- Manual Subscription & Revoke Box -->
|
||||
<div class="col-lg-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title mb-4">افزودن اشتراک دستی (پولی)</h4>
|
||||
<h4 class="card-title mb-4">مدیریت اشتراک</h4>
|
||||
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success">{{ session('success') }}</div>
|
||||
@@ -45,6 +45,7 @@
|
||||
<div class="alert alert-danger">{{ session('error') }}</div>
|
||||
@endif
|
||||
|
||||
<!-- ADD SUBSCRIPTION FORM -->
|
||||
<form action="{{ route('admin.subscriptions.manual') }}" method="POST">
|
||||
@csrf
|
||||
<input type="hidden" name="user_id" value="{{ $user->id }}">
|
||||
@@ -61,6 +62,20 @@
|
||||
|
||||
<button type="submit" class="btn btn-success w-100">ثبت اشتراک دستی</button>
|
||||
</form>
|
||||
|
||||
<hr class="my-4">
|
||||
|
||||
<!-- REVOKE (0 DAYS) FORM -->
|
||||
<h5 class="text-danger mb-2">لغو اشتراک</h5>
|
||||
<p class="text-muted font-size-13">با این کار، تمامی روزهای باقیمانده از اشتراک فعلی کاربر صفر خواهد شد.</p>
|
||||
<form action="{{ route('admin.subscriptions.revoke') }}" method="POST">
|
||||
@csrf
|
||||
<input type="hidden" name="user_id" value="{{ $user->id }}">
|
||||
<button type="submit" class="btn btn-outline-danger w-100" onclick="return confirm('آیا مطمئنید که میخواهید اشتراک این کاربر را صفر کنید؟')">
|
||||
صفر کردن اشتراک (۰ روز)
|
||||
</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user