feat: edit routes
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
@extends('admin.layouts.app')
|
||||
@section('content')
|
||||
<div class="main-content app-content">
|
||||
<div class="container-fluid pt-4">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
|
||||
<form
|
||||
action="{{ route('admin.users.update', $user) }}"
|
||||
method="POST"
|
||||
enctype="multipart/form-data"
|
||||
>
|
||||
@csrf
|
||||
@method('PUT')
|
||||
|
||||
<div class="card custom-card">
|
||||
<div class="card-header">
|
||||
<div class="card-title">ویرایش کاربر</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
|
||||
<!-- User Fields -->
|
||||
<div class="row gy-3">
|
||||
<div class="col-xl-6">
|
||||
<label class="form-label">نام</label>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
name="first_name"
|
||||
value="{{old('first_name', $user->first_name)}}"
|
||||
placeholder="نام را وارد کنید"
|
||||
>
|
||||
@error('first_name')
|
||||
<span style="color: red">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<label class="form-label">نام خانوادگی</label>
|
||||
<input type="text" class="form-control" name="last_name"
|
||||
value="{{old('last_name', $user->last_name)}}"
|
||||
placeholder="نام خانوادگی را وارد کنید">
|
||||
@error('last_name')
|
||||
<span style="color: red">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<label class="form-label">ایمیل</label>
|
||||
<input type="email" class="form-control" name="email"
|
||||
value="{{old('email', $user->email)}}"
|
||||
placeholder="ایمیل را وارد کنید">
|
||||
@error('email')
|
||||
<span style="color: red">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<label class="form-label">شماره موبایل</label>
|
||||
<input type="text" class="form-control" name="mobile"
|
||||
value="{{old('mobile', $user->mobile)}}"
|
||||
placeholder="شماره موبایل را وارد کنید">
|
||||
@error('mobile')
|
||||
<span style="color: red">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<label class="form-label">رمز عبور (در صورت تغییر)</label>
|
||||
<input type="text" class="form-control" name="password" value="{{ old('password') }}"
|
||||
placeholder="رمز عبور را وارد کنید">
|
||||
@error('password')
|
||||
<span style="color: red">{{ $message }}</span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-end">
|
||||
<button type="submit" class="btn btn-primary">ذخیره تغییرات</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
@extends('admin.layouts.app')
|
||||
@section('breadcrumb')<div><h1 class="page-title fw-medium fs-18 mb-1">ثبتنامهای سایت</h1><span class="text-muted fs-12">جستجو، مشاهده، ویرایش، حذف و مدیریت کاربران</span></div>@endsection
|
||||
@section('content')<div class="container-fluid pt-4">@include('admin.partials.errors')
|
||||
<div class="card custom-card"><div class="card-body"><form method="GET"><div class="row g-2"><div class="col-md-6"><input class="form-control" name="search" value="{{ request('search') }}" placeholder="نام، نام خانوادگی، ایمیل یا موبایل"></div><div class="col-md-3"><select name="sort" class="form-control"><option value="newest">جدیدترین ثبتنام</option><option value="oldest" @selected(request('sort')==='oldest')>قدیمیترین</option><option value="name" @selected(request('sort')==='name')>نام</option></select></div><div class="col-md-2"><button class="btn btn-light w-100">جستجو</button></div></div></form></div></div>
|
||||
<div class="card custom-card mt-3"><div class="table-responsive"><table class="table text-nowrap table-hover mb-0"><thead><tr><th>کاربر</th><th>ایمیل</th><th>موبایل</th><th>تاریخ ثبتنام</th><th>عملیات</th></tr></thead><tbody>@forelse(($users ?? []) as $user)<tr><td>{{ trim(($user->first_name ?? '').' '.($user->last_name ?? '')) ?: '-' }}</td><td>{{ $user->email }}</td><td>{{ $user->mobile ?? '-' }}</td><td>{{ isset($user->created_at) ? $user->created_at->toJalali()->format('Y/m/d H:i') : '-' }}</td><td><div class="hstack gap-2"><a href="{{ route('admin.users.show',$user) }}" class="btn btn-primary-light btn-icon btn-sm" title="مشاهده"><i class="ri-eye-line"></i></a><a href="{{ route('admin.users.edit',$user) }}" class="btn btn-secondary-light btn-icon btn-sm" title="ویرایش/تغییر رمز"><i class="ri-edit-line"></i></a><form method="POST" action="{{ route('admin.users.destroy',$user) }}" onsubmit="return confirm('آیا از حذف کاربر مطمئن هستید؟')">@csrf @method('DELETE')<button class="btn btn-danger-light btn-icon btn-sm" title="حذف"><i class="ri-delete-bin-line"></i></button></form></div></td></tr>@empty<tr><td colspan="5" class="text-center py-5 text-muted">کاربری یافت نشد.</td></tr>@endforelse</tbody></table></div></div>{{ ($users ?? collect())->links() }}</div>@endsection
|
||||
@@ -0,0 +1,123 @@
|
||||
@extends('admin.layouts.app')
|
||||
|
||||
@section('content')
|
||||
<div class="main-content app-content">
|
||||
<div class="container-fluid pt-4">
|
||||
|
||||
|
||||
<!-- User Info Card -->
|
||||
<div class="card custom-card mb-4">
|
||||
<div class="card-header">
|
||||
<div class="card-title">اطلاعات کاربر</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex align-items-center p-3 pt-0">
|
||||
<div class="card-body flex-grow-1">
|
||||
<dl class="row mb-0">
|
||||
<dt class="col-sm-3 my-2 fw-semibold">نام کامل:</dt>
|
||||
<dd class="col-sm-9 my-2">{{ getUserFullName($user) }}</dd>
|
||||
|
||||
<dt class="col-sm-3 my-2 fw-semibold">ایمیل:</dt>
|
||||
<dd class="col-sm-9 my-2">{{ $user->email }}</dd>
|
||||
|
||||
<dt class="col-sm-3 my-2 fw-semibold">شماره تلفن:</dt>
|
||||
<dd class="col-sm-9 my-2">{{ $user->mobile }}</dd>
|
||||
|
||||
<dt class="col-sm-3 my-2 fw-semibold">تاریخ ثبتنام:</dt>
|
||||
<dd class="col-sm-9 my-2">{{ $user->created_at->toJalali()->format('H:i Y/m/d') }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order Table -->
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="card custom-card mb-4">
|
||||
<div class="card-header">
|
||||
<div class="card-title">سفارشات اخیر کاربر</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table text-nowrap table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>شناسه</th>
|
||||
<th>مبلغ</th>
|
||||
<th>وضعیت</th>
|
||||
<th>تاریخ ثبت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($userOrders as $order)
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<div>
|
||||
<span class="fw-semibold d-block">#{{ $order->id }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{{ number_format($order->total_price )}}
|
||||
تومان
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-info">
|
||||
@switch($order->status)
|
||||
@case(\App\Enums\OrderStatus::PENDING)
|
||||
<span>در انتظار پرداخت</span>
|
||||
@break
|
||||
@case(\App\Enums\OrderStatus::PROCESSING)
|
||||
<span>در حال پردازش</span>
|
||||
@break
|
||||
@case(\App\Enums\OrderStatus::SENT)
|
||||
<span>ارسال شده</span>
|
||||
@break
|
||||
@case(\App\Enums\OrderStatus::DELIVERED)
|
||||
<span>تحویل شده</span>
|
||||
@break
|
||||
@endswitch</span>
|
||||
</td>
|
||||
<td>{{$order->created_at->toJalali()->format('Y/m/d')}}</td>
|
||||
<td>
|
||||
<div class="btn-list">
|
||||
<a href="{{ route('admin.orders.show' , $order->id) }}"
|
||||
class="btn btn-primary-light btn-icon btn-sm"
|
||||
data-bs-toggle="tooltip" data-bs-placement="top" title="مشاهده">
|
||||
<i class="ri-eye-line"></i>
|
||||
</a>
|
||||
<a href="{{route('admin.orders.edit', $order->id)}}"
|
||||
class="btn btn-secondary-light btn-icon btn-sm"
|
||||
data-bs-toggle="tooltip" data-bs-placement="top" title="ویرایش">
|
||||
<i class="ti ti-pencil"></i>
|
||||
</a>
|
||||
<a href="javascript:void(0);"
|
||||
onclick="if(confirm('آیا از حذف این سفارش مطمئن هستید؟')) { document.getElementById('delete-form-2').submit(); }"
|
||||
class="btn btn-pink-light btn-icon btn-sm"
|
||||
data-bs-toggle="tooltip" data-bs-placement="top" title="حذف">
|
||||
<i class="ri-delete-bin-line"></i>
|
||||
</a>
|
||||
<form id="delete-form-2"
|
||||
action="{{ route('admin.orders.destroy', $order->id) }}"
|
||||
method="POST"
|
||||
style="display:none;"
|
||||
>
|
||||
@csrf
|
||||
@method('delete')
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user