332 lines
13 KiB
PHP
332 lines
13 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('breadcrumb')
|
|
<div>
|
|
<h1 class="page-title fw-medium fs-18 mb-2">
|
|
لیست کاربران
|
|
</h1>
|
|
|
|
<nav>
|
|
<ol class="breadcrumb mb-0">
|
|
<li class="breadcrumb-item">
|
|
<a href="{{ route('admin.users.index') }}">
|
|
مدیریت کاربران
|
|
</a>
|
|
</li>
|
|
|
|
<li class="breadcrumb-item active" aria-current="page">
|
|
لیست کاربران
|
|
</li>
|
|
</ol>
|
|
</nav>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('content')
|
|
|
|
@php
|
|
$permission = auth('admin')->user()->permission;
|
|
@endphp
|
|
|
|
<div class="container-fluid pt-4">
|
|
|
|
@if(session('success'))
|
|
<div class="alert alert-success">
|
|
{{ session('success') }}
|
|
</div>
|
|
@endif
|
|
|
|
@if(session('error'))
|
|
<div class="alert alert-danger">
|
|
{{ session('error') }}
|
|
</div>
|
|
@endif
|
|
<div class="row">
|
|
<div class="col-xl-12">
|
|
|
|
<div class="card custom-card">
|
|
|
|
<div class="card-body p-3">
|
|
|
|
<form
|
|
action="{{ route('admin.users.index') }}"
|
|
method="GET"
|
|
>
|
|
<div class="d-flex align-items-center justify-content-between flex-wrap gap-3">
|
|
|
|
<div class="d-flex flex-wrap gap-2 align-items-center">
|
|
|
|
<div class="d-flex me-2">
|
|
|
|
<input
|
|
class="form-control me-2"
|
|
type="search"
|
|
name="search"
|
|
placeholder="جستجو (نام، ایمیل، موبایل)"
|
|
value="{{ request('search') }}"
|
|
>
|
|
|
|
<button
|
|
class="btn btn-light"
|
|
type="submit"
|
|
>
|
|
جستجو
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<input
|
|
class="form-control"
|
|
type="text"
|
|
name="mobile"
|
|
placeholder="موبایل"
|
|
value="{{ request('mobile') }}"
|
|
>
|
|
<input
|
|
class="form-control"
|
|
type="text"
|
|
name="email"
|
|
placeholder="ایمیل"
|
|
value="{{ request('email') }}"
|
|
>
|
|
<link rel="stylesheet"
|
|
href="https://unpkg.com/persian-datepicker@latest/dist/css/persian-datepicker.min.css">
|
|
|
|
<input
|
|
class="form-control"
|
|
type="text"
|
|
name="from_date"
|
|
id="from_date"
|
|
placeholder="از تاریخ"
|
|
value="{{ request('from_date') }}"
|
|
autocomplete="off"
|
|
>
|
|
<input
|
|
class="form-control"
|
|
type="text"
|
|
name="to_date"
|
|
id="to_date"
|
|
placeholder="تا تاریخ"
|
|
value="{{ request('to_date') }}"
|
|
autocomplete="off"
|
|
>
|
|
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
<script
|
|
src="https://unpkg.com/persian-date@latest/dist/persian-date.min.js"></script>
|
|
<script
|
|
src="https://unpkg.com/persian-datepicker@latest/dist/js/persian-datepicker.min.js"></script>
|
|
|
|
<script>
|
|
$('#from_date, #to_date').persianDatepicker({
|
|
format: 'YYYY/MM/DD',
|
|
autoClose: true,
|
|
observer: true
|
|
});
|
|
</script>
|
|
|
|
<select
|
|
class="form-control"
|
|
name="sort"
|
|
>
|
|
|
|
<option value="">
|
|
مرتبسازی بر اساس
|
|
</option>
|
|
|
|
<option
|
|
value="newest"
|
|
@selected(request('sort', 'newest') == 'newest')
|
|
>
|
|
جدیدترین
|
|
</option>
|
|
|
|
<option
|
|
value="oldest"
|
|
@selected(request('sort') == 'oldest')
|
|
>
|
|
قدیمیترین
|
|
</option>
|
|
|
|
<option
|
|
value="name_asc"
|
|
@selected(request('sort') == 'name_asc')
|
|
>
|
|
الفبا (الف - ی)
|
|
</option>
|
|
|
|
<option
|
|
value="name_desc"
|
|
@selected(request('sort') == 'name_desc')
|
|
>
|
|
الفبا (ی - الف)
|
|
</option>
|
|
|
|
</select>
|
|
|
|
|
|
<button
|
|
class="btn btn-primary"
|
|
type="submit"
|
|
>
|
|
اعمال فیلتر
|
|
</button>
|
|
|
|
|
|
{{-- حذف فیلتر --}}
|
|
@if(request()->anyFilled([
|
|
'search',
|
|
'mobile',
|
|
'email',
|
|
'from_date',
|
|
'to_date',
|
|
'sort'
|
|
]))
|
|
|
|
<a
|
|
href="{{ route('admin.users.index') }}"
|
|
class="btn btn-light"
|
|
>
|
|
حذف فیلتر
|
|
</a>
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
{{-- جدول کاربران --}}
|
|
<div class="row">
|
|
|
|
<div class="col-xl-12">
|
|
|
|
<div class="card custom-card">
|
|
|
|
<div class="table-responsive">
|
|
|
|
<table class="table text-nowrap">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
<th>نام و نام خانوادگی</th>
|
|
<th>ایمیل</th>
|
|
<th>شماره موبایل</th>
|
|
<th>تاریخ ثبتنام</th>
|
|
<th>عملیات</th>
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
|
|
<tbody>
|
|
|
|
@forelse($users as $user)
|
|
|
|
<tr>
|
|
<td>
|
|
{{ getUserFullName($user) }}
|
|
</td>
|
|
|
|
<td>
|
|
{{ $user->email }}
|
|
</td>
|
|
|
|
<td>
|
|
{{ $user->mobile }}
|
|
</td>
|
|
|
|
|
|
<td>
|
|
{{ verta($user->created_at)->format('Y/m/d H:i') }}
|
|
</td>
|
|
<td>
|
|
|
|
<div class="btn-list">
|
|
|
|
@if($permission?->user_edit)
|
|
|
|
<a
|
|
href="{{ route('admin.users.edit', $user) }}"
|
|
class="btn btn-secondary-light btn-icon btn-sm"
|
|
data-bs-toggle="tooltip"
|
|
title="ویرایش"
|
|
>
|
|
<i class="ri-edit-line"></i>
|
|
</a>
|
|
|
|
@endif
|
|
@if($permission?->user_delete)
|
|
|
|
<form
|
|
action="{{ route('admin.users.destroy', $user) }}"
|
|
method="POST"
|
|
class="d-inline"
|
|
onsubmit="return confirm('آیا از حذف این کاربر مطمئن هستید؟')"
|
|
>
|
|
|
|
@csrf
|
|
@method('DELETE')
|
|
|
|
<button
|
|
type="submit"
|
|
class="btn btn-pink-light btn-icon btn-sm"
|
|
data-bs-toggle="tooltip"
|
|
title="حذف"
|
|
>
|
|
<i class="ri-delete-bin-line"></i>
|
|
</button>
|
|
|
|
</form>
|
|
|
|
@endif
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
@empty
|
|
|
|
<tr>
|
|
<td
|
|
colspan="5"
|
|
class="text-center py-4"
|
|
>
|
|
کاربری پیدا نشد.
|
|
</td>
|
|
</tr>
|
|
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="d-flex justify-content-end mt-3">
|
|
|
|
{{ $users->links() }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endsection
|