150 lines
7.6 KiB
PHP
150 lines
7.6 KiB
PHP
@extends('admin.layouts.app')
|
|
@section('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>
|
|
<select name="province_id" id="province_id" class="form-control">
|
|
<option value="">استان را انتخاب کنید</option>
|
|
@foreach($provinces as $province)
|
|
<option
|
|
value="{{ $province->id }}"
|
|
@selected(old('province_id', $user->province_id) == $province->id)
|
|
>
|
|
{{ $province->name }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@error('province_id')
|
|
<span style="color: red">{{ $message }}</span>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="col-xl-6">
|
|
<label class="form-label">شهرستان</label>
|
|
<select name="city_id" id="city_id" class="form-control">
|
|
@if($user->city)
|
|
<option value="{{ $user->city->id }}" selected>
|
|
{{ $user->city->name }}
|
|
</option>
|
|
@else
|
|
<option value="">ابتدا استان را انتخاب کنید</option>
|
|
@endif
|
|
</select>
|
|
@error('city_id')
|
|
<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>
|
|
|
|
<script>
|
|
document.getElementById('province_id').addEventListener('change', function () {
|
|
const provinceId = this.value;
|
|
const citySelect = document.getElementById('city_id');
|
|
|
|
citySelect.innerHTML = '<option value="">در حال بارگذاری...</option>';
|
|
|
|
if (!provinceId) {
|
|
citySelect.innerHTML = '<option value="">ابتدا استان را انتخاب کنید</option>';
|
|
return;
|
|
}
|
|
|
|
fetch(`/admin/users/cities-by-province/${provinceId}`)
|
|
.then(response => response.json())
|
|
.then(cities => {
|
|
citySelect.innerHTML = '<option value="">شهرستان خود را انتخاب کنید</option>';
|
|
|
|
cities.forEach(city => {
|
|
const option = document.createElement('option');
|
|
option.value = city.id;
|
|
option.textContent = city.name;
|
|
citySelect.appendChild(option);
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
@endsection
|