diff --git a/app/Http/Controllers/CityController.php b/app/Http/Controllers/CityController.php new file mode 100644 index 0000000..d896f3c --- /dev/null +++ b/app/Http/Controllers/CityController.php @@ -0,0 +1,17 @@ +orderBy('name') + ->get(); + } +} diff --git a/app/Http/Controllers/CommentController.php b/app/Http/Controllers/CommentController.php new file mode 100644 index 0000000..8919584 --- /dev/null +++ b/app/Http/Controllers/CommentController.php @@ -0,0 +1,21 @@ +where('user_id',auth()->id()) + ->with('tour') + ->latest() + ->paginate(4); + + return view('account.users.comments.index',compact('comments')); + + } +} diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index cefe72d..2c0daf5 100644 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -12,6 +12,6 @@ class DashboardController extends Controller { $user=Auth::User(); - return view('users.dashboard',compact('user')); + return view('account.users.dashboard',compact('user')); } } diff --git a/app/Http/Controllers/FavoriteController.php b/app/Http/Controllers/FavoriteController.php index 77802fd..57dfc14 100644 --- a/app/Http/Controllers/FavoriteController.php +++ b/app/Http/Controllers/FavoriteController.php @@ -2,21 +2,49 @@ namespace App\Http\Controllers; +use App\Models\Favorite; use Illuminate\Http\Request; class FavoriteController extends Controller { - // - public function create() + public function index() { + $favorites=Favorite::with('tour') + ->where('user_id',auth()->id()) + ->latest() + ->get(); + return view('account.users.favorite.index',compact('favorites')); } - public function store() + public function store(Request $request) + { + $request->validate([ + 'tour_id'=>[ + 'required', + 'exists:tours,id' + ], + ]); + Favorite::firstOrCreate([ + 'user_id' => auth()->id(), + 'tour_id' => $request->tour_id, + ]); + + return back()->with( + 'success', + 'تور به علاقهمندیها اضافه شد.' + ); + } + + + public function destroy(Favorite $favorite) { - } - public function destroy() - { + $favorite->delete(); + + return back()->with( + 'success', + 'تور از علاقهمندیها حذف شد.' + ); } } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index d448428..fcc2500 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Http\Requests\ProfileUpdateRequest; +use App\Models\Province; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -14,7 +15,9 @@ class ProfileController extends Controller { $withoutHero=true; $user=Auth::User(); - return view('users.profile.edit',compact('user','withoutHero')); + $provinces=Province::orderBy('name')->get(); + + return view('account.users.profile.edit',compact('user','withoutHero','provinces')); } public function update(ProfileUpdateRequest $request) @@ -22,9 +25,9 @@ class ProfileController extends Controller $user=$request->user(); $inputs=$request->validated(); - if (!empty($inputs['new_password'])){ - $user->password=Hash::make($inputs['new_password']); - } + if ($request->filled('new_password')){ + $inputs['password']=Hash::make($request->new_password); + } unset( $inputs['current_password'], @@ -46,6 +49,7 @@ class ProfileController extends Controller $inputs['profile_image'] = $imageName; } + $user->update($inputs); return back()->with([ diff --git a/app/Http/Requests/ProfileUpdateRequest.php b/app/Http/Requests/ProfileUpdateRequest.php index 9fffb51..7320e12 100644 --- a/app/Http/Requests/ProfileUpdateRequest.php +++ b/app/Http/Requests/ProfileUpdateRequest.php @@ -42,8 +42,7 @@ class ProfileUpdateRequest extends FormRequest 'national_code' => [ 'required', - 'ir_national_id', - Rule::unique('users', 'national_code') + Rule::unique('users', 'national_code') ->ignore($user->id), ], diff --git a/app/helpers/helpers.php b/app/helpers/helpers.php new file mode 100644 index 0000000..e0c6802 --- /dev/null +++ b/app/helpers/helpers.php @@ -0,0 +1,11 @@ +user(); + } + return $user->first_name . ' ' . $user->last_name; + } +} diff --git a/composer.json b/composer.json index ca94a6e..91c2788 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,10 @@ "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" - } + }, + "files": [ + "app/helpers/helpers.php" + ] }, "autoload-dev": { "psr-4": { diff --git a/resources/views/account/layout/app.blade.php b/resources/views/account/layout/app.blade.php new file mode 100644 index 0000000..3b64911 --- /dev/null +++ b/resources/views/account/layout/app.blade.php @@ -0,0 +1,3 @@ +
+ فهرست نظراتی که ثبت کردهاید +
+ ++ {{ $comment->body }} +
+ ++ نظرات شما درباره تورها در این قسمت نمایش داده میشود. +
+ + + مشاهده تورها + + ++ تورهایی که به علاقهمندیهای خود اضافه کردهاید +
+
+ @endif
+
+ + هنوز هیچ توری را به علاقهمندیهای خود اضافه نکردهاید. +
+ + + مشاهده تورها + + ++ اطلاعات حساب کاربری خود را ویرایش کنید +
+ +- اطلاعات حساب کاربری خود را ویرایش کنید -
- -