Updated user management
This commit is contained in:
@@ -112,6 +112,25 @@ class UsersController extends Controller
|
|||||||
return view('admin.users.update', compact('user', 'paidPlans'));
|
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)
|
public function update(UpdateUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$validated = $request->validated();
|
$validated = $request->validated();
|
||||||
|
|||||||
@@ -32,11 +32,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- NEW: Manual Subscription Box -->
|
<!-- Manual Subscription & Revoke Box -->
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h4 class="card-title mb-4">افزودن اشتراک دستی (پولی)</h4>
|
<h4 class="card-title mb-4">مدیریت اشتراک</h4>
|
||||||
|
|
||||||
@if(session('success'))
|
@if(session('success'))
|
||||||
<div class="alert alert-success">{{ session('success') }}</div>
|
<div class="alert alert-success">{{ session('success') }}</div>
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
<div class="alert alert-danger">{{ session('error') }}</div>
|
<div class="alert alert-danger">{{ session('error') }}</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
<!-- ADD SUBSCRIPTION FORM -->
|
||||||
<form action="{{ route('admin.subscriptions.manual') }}" method="POST">
|
<form action="{{ route('admin.subscriptions.manual') }}" method="POST">
|
||||||
@csrf
|
@csrf
|
||||||
<input type="hidden" name="user_id" value="{{ $user->id }}">
|
<input type="hidden" name="user_id" value="{{ $user->id }}">
|
||||||
@@ -61,6 +62,20 @@
|
|||||||
|
|
||||||
<button type="submit" class="btn btn-success w-100">ثبت اشتراک دستی</button>
|
<button type="submit" class="btn btn-success w-100">ثبت اشتراک دستی</button>
|
||||||
</form>
|
</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>
|
</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'])
|
Route::post('/users/manual-subscription', [\App\Http\Controllers\Admin\UsersController::class, 'addManualSubscription'])
|
||||||
->name('admin.subscriptions.manual');
|
->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