git add .

git commit "Complete project development and finalize features"
This commit is contained in:
2026-08-22 11:14:07 +03:30
parent e72f68cd86
commit 2f431971c0
40 changed files with 126 additions and 637 deletions
@@ -8,8 +8,7 @@ use Illuminate\Http\Request;
class ActivityLogController extends Controller
{
//
public function index()
public function index()
{
$logs=ActivityLog::with('admin')
->latest()
@@ -18,20 +18,21 @@ class AuthController extends Controller
}
public function loginPost(LoginPostRequest $request)
{
$loginData=$request->validated();
$login=$request->validated();
$admins=Admin::query()
->where('username',$request->input('username'))
->where('status',AdminStatus::Active)
->first();
if (!$admins){
if (!$admins || !\Hash::check($login['password'],$admins->password)){
return back()->withErrors([
'general' => 'اطلاعات وارد شده نامعتبر است'
]);
}
Auth::guard('admin')->login($admins);
$request->session()->regenerate();
return redirect()->route('admin.dashboard.index');
}
@@ -24,14 +24,10 @@ class FlightController extends Controller
return view('admin.flights.index', compact('flights'));
}
public function create()
{
return view('admin.flights.create');
}
public function store(FlightStoreRequest $request)
{
DB::beginTransaction();
@@ -46,8 +42,6 @@ class FlightController extends Controller
)->formatGregorian('Y-m-d');
}
if ($request->hasFile('image')) {
$data['image'] = $request
@@ -70,7 +64,6 @@ class FlightController extends Controller
DB::commit();
return redirect()
->route('admin.flights.index')
->with('success','پرواز ثبت شد');
@@ -84,14 +77,10 @@ class FlightController extends Controller
}
}
public function edit(Flight $flight)
{
return view('admin.flights.edit',compact('flight'));
}
public function update(FlightStoreRequest $request, Flight $flight)
{
@@ -118,12 +107,9 @@ class FlightController extends Controller
->delete($flight->image);
}
$data['image'] = $request
->file('image')
->store('flights','public');
}
$data['updated_by'] = auth('admin')->id();
@@ -140,12 +126,10 @@ class FlightController extends Controller
DB::commit();
return redirect()
->route('admin.flights.index')
->with('success','پرواز ویرایش شد');
}catch(\Exception $e){
DB::rollBack();
@@ -155,7 +139,6 @@ class FlightController extends Controller
}
}
public function destroy(Flight $flight)
{
@@ -179,6 +162,5 @@ class FlightController extends Controller
return back()
->with('success','پرواز حذف شد');
}
}
@@ -8,7 +8,6 @@ use Illuminate\Http\Request;
class ProvinceController extends Controller
{
public function index()
{
$provinces = Province::latest()->paginate(5);
@@ -16,15 +15,11 @@ class ProvinceController extends Controller
return view('admin.provinces.index', compact('provinces'));
}
public function create()
{
return view('admin.provinces.create');
}
public function store(Request $request)
{
@@ -42,41 +37,27 @@ class ProvinceController extends Controller
->route('admin.provinces.index');
}
public function edit(Province $province)
{
return view('admin.provinces.edit',compact('province'));
}
public function update(Request $request, Province $province)
{
$request->validate([
'name'=>'required'
]);
$province->update([
'name'=>$request->name
]);
return redirect()
->route('admin.provinces.index');
}
public function destroy(Province $province)
{
$province->delete();
return back();
}
}
@@ -26,7 +26,5 @@ class RoleController extends Controller
return redirect()->back()->with('success','دسترسی‌ها با موفقیت ذخیره شد');
}
}
@@ -18,14 +18,12 @@ class SettingController extends Controller
return view('admin.settings.index', compact('settings'));
}
public function create()
{
$settings = Setting::all();
return view('admin.settings.create',compact('settings'));
}
public function store(SettingStoreRequest $request)
{
Setting::create($request->validated());
@@ -36,18 +34,14 @@ class SettingController extends Controller
public function edit(Setting $setting)
{
return view('admin.settings.edit', compact('setting'));
}
public function update(SettingUpdateRequest $request,Setting $setting)
{
$setting->update($request->validated());
return redirect()
->route('admin.settings.index')
->with('success', 'تنظیمات با موفقیت ویرایش شد.');
}
public function destroy(Setting $setting)
@@ -25,15 +25,10 @@ class TourController extends Controller
return view('admin.tours.index', compact('tours'));
}
public function create()
{
return view('admin.tours.create' );
}
public function store(TourStoreRequest $request)
{
DB::beginTransaction();
@@ -49,7 +44,6 @@ class TourController extends Controller
)->formatGregorian('Y-m-d');
}
if ($request->hasFile('image')) {
$data['image'] = $request
@@ -69,8 +63,6 @@ class TourController extends Controller
'model_id' => $tour->id,
'description' => 'ثبت تور جدید',
]);
DB::commit();
@@ -78,7 +70,6 @@ class TourController extends Controller
->route('admin.tours.index')
->with('success','تور ثبت شد');
} catch(\Exception $e) {
DB::rollBack();
@@ -92,8 +83,6 @@ class TourController extends Controller
return view('admin.tours.edit',compact('tour'));
}
public function update(TourStoreRequest $request, Tour $tour)
{
@@ -121,7 +110,6 @@ class TourController extends Controller
}
$data['image'] = $request
->file('image')
->store('tours','public');
@@ -139,15 +127,12 @@ class TourController extends Controller
'description' => 'ویرایش تور',
]);
DB::commit();
return redirect()
->route('admin.tours.index')
->with('success','تور ویرایش شد');
}catch(\Exception $e){
DB::rollBack();
@@ -155,12 +140,10 @@ class TourController extends Controller
dd($e->getMessage());
}
}
public function destroy(Tour $tour)
{
if($tour->image){
Storage::disk('public')
@@ -176,12 +159,9 @@ class TourController extends Controller
'description' => 'حذف تور',
]);
$tour->delete();
return back()
->with('success','تور حذف شد');
}
}
@@ -49,7 +49,5 @@ class UserController extends Controller
$user->update(['password'=>Hash::make($request->password)]);
return back();
}
}
@@ -18,7 +18,6 @@ class LoginController extends Controller
return view('auth.login',compact('withoutHeader','withoutHero','withoutFooter'));
}
public function post(LoginPostRequest $request)
{
$user = $request->validated();
@@ -16,6 +16,5 @@ class LogoutController extends Controller
Request()->session()->regenerateToken();
return redirect()->route('index');
}
}
@@ -40,8 +40,6 @@ class RegisterController extends Controller
$inputs['profile_image'] = $imageName;
}
$inputs['password']=Hash::make($inputs['password']);
$inputs['status']=UserStatus::Draft;
@@ -51,6 +49,5 @@ class RegisterController extends Controller
return redirect()->route('index');
}
}
@@ -25,20 +25,15 @@ class FavoriteController extends Controller
'favoritable_id' => $request->id,
]);
return back();
}
public function destroy(Favorite $favorite)
{
$favorite->delete();
return back()->with(
'success',
'تور از علاقه‌مندی‌ها حذف شد.'
);
}
}
+2 -10
View File
@@ -15,26 +15,19 @@ class FlightController extends Controller
->applySearch($request->all())
->paginate(10);
$newestFlight = Flight::latest()
->take(3)
->get();
$newestTour = Tour::latest()
->take(3)
->get();
$tours = Tour::latest()
->paginate(10);
return view('flights.index', compact(
'flights',
'newestFlight',
'newestTour',
'tours'
return view('flights.index', compact('flights', 'newestFlight',
'newestTour', 'tours'
));
}
public function show(Flight $flight)
@@ -48,7 +41,6 @@ class FlightController extends Controller
->latest()
->get();
return view('flights.show', compact('flight', 'comments'));
}
+2 -5
View File
@@ -24,11 +24,8 @@ class HomeController extends Controller
$tours = Tour::latest()
->paginate(5);
return view('home.index', compact(
'newestFlight',
'newestTour',
'flights',
'tours'
return view('home.index', compact('newestFlight',
'newestTour', 'flights', 'tours'
));
}
}
@@ -16,11 +16,8 @@ class ReservationController extends Controller
->latest()
->get();
return view('account.users.Reservation.index', compact('reservations'));
}
public function store(Request $request)
{
@@ -32,6 +29,7 @@ class ReservationController extends Controller
'status' => 'pending'
]);
return redirect()->route('users.reservations.index')->with('success','رزرو شما ثبت شد.'); }
return redirect()->route('users.reservations.index')
->with('success','رزرو شما ثبت شد.'); }
}
+2 -4
View File
@@ -17,9 +17,8 @@ class TourController extends Controller
->latest()
->paginate(2);
return view('tours.index', compact('tours'))
->with('withoutHero', true); }
return view('tours.index', compact('tours', 'newestTour'));
}
public function show(Tour $tour)
{
@@ -33,7 +32,6 @@ class TourController extends Controller
->latest()
->get();
return view('tours.show', compact('tour','comments'));
}
}
+22 -14
View File
@@ -16,6 +16,27 @@ class FlightStoreRequest extends FormRequest
return true;
}
protected function prepareForValidation()
{
if ($this->departure_date) {
try {
$this->merge([
'departure_date' => verta($this->departure_date)
->formatGregorian('Y-m-d')
]);
} catch (\Exception $e) {
$this->merge([
'departure_date' => null
]);
}
}
}
/**
* Get the validation rules that apply to the request.
*
@@ -46,20 +67,7 @@ class FlightStoreRequest extends FormRequest
],
'departure_date' => [
'required',
function ($attribute, $value, $fail) {
try {
$gregorian = Verta::parse($value)
->formatGregorian('Y-m-d');
} catch (\Exception $e) {
$fail('تاریخ حرکت معتبر نیست.');
return;
}
if ($gregorian < now()->format('Y-m-d')) {
$fail('تاریخ حرکت نمی‌تواند قبل از تاریخ امروز باشد.');
}
},
'date'
],
'departure_time' => [
'required',