git add .

git commit "Add admin management search sort and permission structure preparation"
This commit is contained in:
2026-08-18 12:56:32 +03:30
parent d7bd95f71a
commit 78a3b1d63d
24 changed files with 1167 additions and 75 deletions
+132 -3
View File
@@ -1,3 +1,132 @@
<div>
<!-- Live as if you were to die tomorrow. Learn as if you were to live forever. - Mahatma Gandhi -->
</div>
@extends('admin.layouts.app')
@section('content')
<div class="container mt-4">
<div class="card shadow">
<div class="card-body">
<h3 class="mb-4">
افزودن مدیر جدید
</h3>
<form action="{{ route('admin.admins.store') }}" method="POST">
@csrf
<div class="row">
<div class="col-md-6 mb-3">
<label>نام</label>
<input
type="text"
name="first_name"
class="form-control"
value="{{old('first_name')}}"
>
@error('first_name')
<small class="text-danger">
{{$message}}
</small>
@enderror
</div>
<div class="col-md-6 mb-3">
<label>نام خانوادگی</label>
<input
type="text"
name="last_name"
class="form-control"
value="{{old('last_name')}}"
>
</div>
<div class="col-md-6 mb-3">
<label>نام کاربری</label>
<input
type="text"
name="username"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>ایمیل</label>
<input
type="email"
name="email"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>موبایل</label>
<input
type="text"
name="mobile"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>رمز عبور</label>
<input
type="password"
name="password"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>وضعیت</label>
<select name="status" class="form-control">
<option value="1">
فعال
</option>
<option value="0">
غیرفعال
</option>
</select>
</div>
</div>
<button class="btn btn-success">
ذخیره
</button>
</form>
</div>
</div>
</div>
@endsection
+132 -3
View File
@@ -1,3 +1,132 @@
<div>
<!-- Let all your things have their places; let each part of your business have its time. - Benjamin Franklin -->
</div>
@extends('admin.layouts.app')
@section('content')
<div class="container mt-4">
<div class="card shadow">
<div class="card-body">
<h3 class="mb-4">
ویرایش مدیر
</h3>
<form action="{{ route('admin.admins.update', $admin->id) }}" method="POST">
@csrf
@method('PUT')
<div class="row">
<div class="col-md-6 mb-3">
<label>نام</label>
<input
type="text"
name="first_name"
class="form-control"
value="{{old('first_name')}}"
>
@error('first_name')
<small class="text-danger">
{{$message}}
</small>
@enderror
</div>
<div class="col-md-6 mb-3">
<label>نام خانوادگی</label>
<input
type="text"
name="last_name"
class="form-control"
value="{{old('last_name')}}"
>
</div>
<div class="col-md-6 mb-3">
<label>نام کاربری</label>
<input
type="text"
name="username"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>ایمیل</label>
<input
type="email"
name="email"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>موبایل</label>
<input
type="text"
name="mobile"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>رمز عبور</label>
<input
type="password"
name="password"
class="form-control"
>
</div>
<div class="col-md-6 mb-3">
<label>وضعیت</label>
<select name="status" class="form-control">
<option value="1">
فعال
</option>
<option value="0">
غیرفعال
</option>
</select>
</div>
</div>
<button class="btn btn-success">
ذخیره
</button>
</form>
</div>
</div>
</div>
@endsection
+209 -3
View File
@@ -1,3 +1,209 @@
<div>
<!-- Simplicity is the essence of happiness. - Cedric Bledsoe -->
</div>
@extends('admin.layouts.app')
@section('breadcrumb')
<span>
مدیریت مدیران
</span>
@endsection
@section('content')
<div class="container mt-4">
<div class="d-flex justify-content-between align-items-center mb-3">
<h5 class="mb-0">
لیست مدیران
</h5>
<a href="{{ route('admin.admins.create') }}" class="btn btn-primary">
افزودن مدیر جدید
</a>
</div>
<div class="card shadow-sm mb-3">
<div class="card-body">
<form method="GET" action="{{ route('admin.admins.index') }}">
<div class="row g-2">
<div class="col-md-5">
<input
type="text"
name="keyword"
value="{{ request('keyword') }}"
class="form-control"
placeholder="جستجو بر اساس نام..."
>
</div>
<div class="col-md-3">
<select
class="form-control"
name="sort"
onchange="this.form.submit()"
>
<option value="">
مرتب‌سازی بر اساس
</option>
<option value="first_name_asc"
{{ request('sort') == 'first_name_asc' ? 'selected' : '' }}>
نام (الف - ی)
</option>
<option value="first_name_desc"
{{ request('sort') == 'first_name_desc' ? 'selected' : '' }}>
نام (ی - الف)
</option>
<option value="newest"
{{ request('sort') == 'newest' ? 'selected' : '' }}>
جدیدترین
</option>
</select>
</div>
<div class="col-md-2">
<button class="btn btn-primary w-100">
جستجو
</button>
</div>
</div>
</form>
</div>
</div>
<div class="card shadow">
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-hover text-center align-middle">
<thead class="table-light">
<tr>
<th>شناسه</th>
<th>نام</th>
<th>نام خانوادگی</th>
<th>نام کاربری</th>
<th>ایمیل</th>
<th>وضعیت</th>
<th>عملیات</th>
</tr>
</thead>
<tbody>
@forelse($admins as $admin)
<tr>
<td>{{ $admin->id }}</td>
<td>{{ $admin->first_name }}</td>
<td>{{ $admin->last_name }}</td>
<td>{{ $admin->username }}</td>
<td>{{ $admin->email }}</td>
<td>
@if($admin->status)
<span class="badge bg-success">
فعال
</span>
@else
<span class="badge bg-danger">
غیرفعال
</span>
@endif
</td>
<td>
<a href="{{ route('admin.admins.edit', $admin->id) }}"
class="btn btn-sm btn-warning">
ویرایش
</a>
<form action="{{ route('admin.admins.destroy', $admin->id) }}"
method="POST"
class="d-inline">
@csrf
@method('DELETE')
<button class="btn btn-sm btn-danger"
onclick="return confirm('آیا مطمئن هستید؟')">
حذف
</button>
</form>
</td>
</tr>
@empty
<tr>
<td colspan="7">
رکوردی پیدا نشد
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
{{ $admins->links() }}
</div>
</div>
</div>
@endsection
@@ -1,3 +0,0 @@
<div>
<!-- Happiness is not something readymade. It comes from your own actions. - Dalai Lama -->
</div>
+84 -3
View File
@@ -1,3 +1,84 @@
<div>
<!-- Smile, breathe, and go slowly. - Thich Nhat Hanh -->
</div>
@extends('admin.layouts.app')
@section('content')
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-md-5">
<div class="card shadow rounded-4">
<div class="card-body p-4">
<h3 class="text-center mb-4">
ورود مدیر
</h3>
@error('general')
<span style="color: #42a5f5"> {{$message}} </span>
@enderror
<form action="{{ route('admin.auth.login.post') }}" method="POST">
@csrf
<div class="mb-3">
<label>
نام کاربری
</label>
<input
type="text"
name="username"
class="form-control"
value="{{old('username')}}"
>
@error('username')
<span style="color: #42a5f5"> {{$message}} </span>
@enderror
</div>
<div class="mb-3">
<label>
رمز عبور
</label>
<input
type="password"
name="password"
class="form-control"
>
@error('password')
<span style="color: #42a5f5"> {{$message}} </span>
@enderror
</div>
<button class="btn btn-primary w-100">
ورود
</button>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
+134 -6
View File
@@ -1,21 +1,149 @@
@extends('admin.layouts.app')
@section('breadcrumb')
@section('title','داشبورد')
<span>
داشبورد
</span>
@endsection
@section('content')
<div class="card shadow">
<div class="card-body">
<div class="container-fluid">
<h3 class="mb-4">
داشبورد مدیریت
</h3>
<div class="row g-4">
<div class="col-md-3">
<div class="card dashboard-card shadow-sm">
<div class="card-body">
<h6>
مدیران
</h6>
<h2>
{{ $adminsCount ?? 0 }}
</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card dashboard-card shadow-sm">
<div class="card-body">
<h6>
کاربران
</h6>
<h2>
{{ $usersCount ?? 0 }}
</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card dashboard-card shadow-sm">
<div class="card-body">
<h6>
تورها
</h6>
<h2>
{{ $toursCount ?? 0 }}
</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card dashboard-card shadow-sm">
<div class="card-body">
<h6>
پروازها
</h6>
<h2>
{{ $flightsCount ?? 0 }}
</h2>
</div>
</div>
</div>
<h3>
خوش آمدید به پنل مدیریت
</h3>
</div>
<div class="card shadow-sm mt-5">
<div class="card-header">
آخرین فعالیت‌ها
</div>
<div class="card-body">
<p class="text-muted">
هنوز فعالیتی ثبت نشده است.
</p>
</div>
</div>
</div>
@endsection
+11 -22
View File
@@ -8,43 +8,32 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
@yield('title', 'پنل مدیریت')
پنل مدیریت
@isset($title)
|
@endisset
</title>
<link href="{{asset('assets/css/bootstrap.css')}}" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.rtl.min.css" rel="stylesheet">
<link href="{{ asset('assets/admin/css/style.css') }}" rel="stylesheet">
</head>
<body>
@includeUnless(isset($rawLayout),'admin.layouts.header')
<div class="d-flex">
@includeUnless(isset($rawLayout),'admin.layouts.sidebar')
@include('admin.layouts.sidebar')
<div class="flex-grow-1">
@include('admin.layouts.header')
<main class="p-4">
@yield('content')
</main>
@include('admin.layouts.footer')
<div class="main-content flex-grow-1">
@yield('content')
</div>
</div>
@includeUnless(isset($rawLayout),'admin.layouts.footer')
</body>
</html>
@@ -4,6 +4,11 @@
<span class="navbar-brand">
داشبورد مدیریت
</span>
<div class="breadcrumb-wrapper">
@yield('breadcrumb')
</div>
<div>
@@ -20,6 +20,16 @@
</a>
</li>
<li class="nav-item mb-2">
<a href="{{ route('admin.admins.index') }}"
class="nav-link text-white">
مدیریت مدیران
</a>
</li>
<li class="nav-item mb-2">