From 44aff8cbe248541c8c21a6bbecf8d989b27bcdd3 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:21:57 +0500 Subject: [PATCH 01/15] Update Morningnews.php ; add default table name --- app/Models/Morningnews.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Morningnews.php b/app/Models/Morningnews.php index 2335e17d..827dea26 100644 --- a/app/Models/Morningnews.php +++ b/app/Models/Morningnews.php @@ -8,6 +8,6 @@ class Morningnews extends Model { use HasFactory; - + protected $table = 'morning_news'; protected $fillable = ['title', 'news_text']; } From 673faa127348bd11894871dc894885d6f77d12d0 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:34:22 +0500 Subject: [PATCH 02/15] Update UserController.php ; task 2 convert query into elequent syntax Refactor UserController.php to use Eloquent syntax Converted manual query to Eloquent ORM methods for better readability and maintainability. Task 2 completion. --- app/Http/Controllers/UserController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 9b8c73dc..c25da4bc 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -15,8 +15,8 @@ public function index() // order by created_at desc // limit 3 - $users = User::all(); // replace this with Eloquent statement - + $users = User::whereNotNull('email_verified_at')->orderBy('created_at', 'desc')->take(3)->get(); + return view('users.index', compact('users')); } From 2308c82203c6b4746ac7f2a6586848161295e7ef Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:38:02 +0500 Subject: [PATCH 03/15] Update UserController.php task 3 --- app/Http/Controllers/UserController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index c25da4bc..1cc9b275 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -22,8 +22,8 @@ public function index() public function show($userId) { - $user = NULL; // TASK: find user by $userId or show "404 not found" page - + // TASK: find user by $userId or show "404 not found" page +$user = User::findOrFail($userId); return view('users.show', compact('user')); } From e36c7bb4af6a3957de57b4580cb44b93042e2dad Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:47:31 +0500 Subject: [PATCH 04/15] Update UserController.php --- app/Http/Controllers/UserController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 1cc9b275..427b0ba5 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -29,9 +29,11 @@ public function show($userId) public function check_create($name, $email) { - // TASK: find a user by $name and $email + // TASK4: find a user by $name and $email // if not found, create a user with $name, $email and random password - $user = NULL; + $user = User::firstOrNew(['email' => $email], ['name' => $name]); + $user->password = rand(8,12); + $user->save(); return view('users.show', compact('user')); } From f7de9a24b15171f10940a8503d24c279d8db3049 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:49:16 +0500 Subject: [PATCH 05/15] Update Project.php --- app/Models/Project.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Models/Project.php b/app/Models/Project.php index dc43be0e..490ede6b 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -9,4 +9,7 @@ class Project extends Model { use HasFactory, SoftDeletes; + protected $fillable = [ + 'name' + ]; } From 5047796a6f220dc8e1d81a93824215b685f56581 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 10:59:45 +0500 Subject: [PATCH 06/15] Update ProjectController.php --- app/Http/Controllers/ProjectController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index 5877c736..239914d0 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -26,7 +26,7 @@ public function mass_update(Request $request) // where name = $request->old_name // Insert Eloquent statement below - + Project::where('name', $request->old_name)->update(['name' => $request->new_name]); return redirect('/')->with('success', 'Projects updated'); } From 2304e2dd72e8fbc04e6457b242af1243f2170229 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:07:40 +0500 Subject: [PATCH 07/15] Update UserController.php --- app/Http/Controllers/UserController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 427b0ba5..5f3024bb 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -42,7 +42,8 @@ public function check_update($name, $email) { // TASK: find a user by $name and update it with $email // if not found, create a user with $name, $email and random password - $user = NULL; // updated or created user + // updated or created user + $user = User::UpdateOrCreate(['name' => $name], ['email' => $email]); // updated or created user return view('users.show', compact('user')); } From 06ce975cac3d2bef9625e2f90f2ac12b18013654 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:09:33 +0500 Subject: [PATCH 08/15] Update 2014_10_12_000000_create_users_table.php --- database/migrations/2014_10_12_000000_create_users_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 621a24eb..a099dc3b 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -18,7 +18,7 @@ public function up() $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); + $table->string('password')->default(rand(0,3)); $table->rememberToken(); $table->timestamps(); }); From e8f22ae0b66a708bcee5300dfd2aeb2fcb662f57 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:11:39 +0500 Subject: [PATCH 09/15] Update UserController.php --- app/Http/Controllers/UserController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 5f3024bb..3e3c8b47 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -56,6 +56,8 @@ public function destroy(Request $request) // Insert Eloquent statement here + User::destroy($request->users); + return redirect('/')->with('success', 'Users deleted'); } From c9992740560cffb4d8b1682507cb59e422cca6e6 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:15:24 +0500 Subject: [PATCH 10/15] Update ProjectController.php --- app/Http/Controllers/ProjectController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index 239914d0..2441ddbc 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -35,8 +35,8 @@ public function destroy($projectId) Project::destroy($projectId); // TASK: change this Eloquent statement to include the soft-deletes records - $projects = Project::all(); - +// +$projects = Project::withTrashed()->get(); return view('projects.index', compact('projects')); } From bb043200e952f03ea92a87bde30c3ebb205a8df1 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:23:34 +0500 Subject: [PATCH 11/15] Update User.php --- app/Models/User.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Models/User.php b/app/Models/User.php index e23e0905..d561c6f3 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -41,4 +41,8 @@ class User extends Authenticatable protected $casts = [ 'email_verified_at' => 'datetime', ]; + public function scopeActive($query) + { + return $query->whereNotNull('email_verified_at'); + } } From 9bc86bd6d45eac546d7b446cedd0a58849f1a5da Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:24:57 +0500 Subject: [PATCH 12/15] Create ProjectObserver.php --- app/Observers/ProjectObserver.php | 1 + 1 file changed, 1 insertion(+) create mode 100644 app/Observers/ProjectObserver.php diff --git a/app/Observers/ProjectObserver.php b/app/Observers/ProjectObserver.php new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/app/Observers/ProjectObserver.php @@ -0,0 +1 @@ + From 5820b68a60573acdde662444f7aae8497532a896 Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:26:03 +0500 Subject: [PATCH 13/15] Update ProjectObserver.php --- app/Observers/ProjectObserver.php | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/app/Observers/ProjectObserver.php b/app/Observers/ProjectObserver.php index 8b137891..d891e4f3 100644 --- a/app/Observers/ProjectObserver.php +++ b/app/Observers/ProjectObserver.php @@ -1 +1,49 @@ + Date: Fri, 8 Dec 2023 11:28:43 +0500 Subject: [PATCH 14/15] Update EventServiceProvider.php --- app/Providers/EventServiceProvider.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index a9f10a63..57533df8 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -28,5 +28,6 @@ class EventServiceProvider extends ServiceProvider public function boot() { // + Project::observe(ProjectObserver::class); } } From a68bde0b368a1248bf7b495a5deb5b606546bc1e Mon Sep 17 00:00:00 2001 From: bilawal shaikh <46257281+bilawalshaikh@users.noreply.github.com> Date: Fri, 8 Dec 2023 11:31:02 +0500 Subject: [PATCH 15/15] Update EventServiceProvider.php --- app/Providers/EventServiceProvider.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 57533df8..958b57a1 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -6,6 +6,8 @@ use Illuminate\Auth\Listeners\SendEmailVerificationNotification; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; use Illuminate\Support\Facades\Event; +use App\Models\Project; +use App\Observers\ProjectObserver; class EventServiceProvider extends ServiceProvider {