diff --git a/app/Http/Controllers/FilamentController.php b/app/Http/Controllers/FilamentController.php index c960b51..c6060da 100644 --- a/app/Http/Controllers/FilamentController.php +++ b/app/Http/Controllers/FilamentController.php @@ -61,6 +61,7 @@ class FilamentController extends Controller $filament->diameter = $request->diameter; $filament->save(); + ManufacturerController::refresh(); return redirect()->route('filaments.index')->with('success', 'Filament created successfully.'); } @@ -118,6 +119,8 @@ class FilamentController extends Controller $filament->diameter = $request->diameter; $filament->save(); + ManufacturerController::refresh(); + return redirect()->route('filaments.show', $filament->id)->with('success', 'Filament updated successfully.'); } @@ -129,6 +132,8 @@ class FilamentController extends Controller // delete a specific filament $filament = Filament::find($id); $filament->delete(); + + ManufacturerController::refresh(); return redirect()->route('filaments.index')->with('success', 'Filament deleted successfully.'); } } diff --git a/app/Http/Controllers/ManufacturerController.php b/app/Http/Controllers/ManufacturerController.php index eb575b7..bf3c4ea 100644 --- a/app/Http/Controllers/ManufacturerController.php +++ b/app/Http/Controllers/ManufacturerController.php @@ -19,6 +19,15 @@ class ManufacturerController extends Controller return view('manufacturers.index', compact('manufacturers', 'filamentcount')); } + public static function refresh() + { + foreach (Manufacturer::all() as $manufacturer) { + $manufacturer->filament_count = Filament::all()->where('manufacturer_id', $manufacturer->id)->count(); + $manufacturer->save(); + } + return redirect()->route('manufacturers.index')->with('success', 'Manufacturer count refreshed successfully.'); + } + /** * Show the form for creating a new resource. */ diff --git a/app/Livewire/CreateFilamentType.php b/app/Livewire/CreateFilamentType.php deleted file mode 100644 index 1a4d9eb..0000000 --- a/app/Livewire/CreateFilamentType.php +++ /dev/null @@ -1,26 +0,0 @@ -only(['name', 'description']) - ); - session()->flash('status', 'Filament Type Created Successfully.'); - return redirect()->route('filamenttype.list'); - } - public function render() - { - return view('filamenttype.create'); - } -} diff --git a/app/Livewire/Dashboard.php b/app/Livewire/Dashboard.php index 54af745..9f2c429 100644 --- a/app/Livewire/Dashboard.php +++ b/app/Livewire/Dashboard.php @@ -3,11 +3,13 @@ namespace App\Livewire; use Livewire\Component; +use App\Models\Manufacturer; class Dashboard extends Component { public function render() { - return view('livewire.dashboard'); + $manufacturers = Manufacturer::all()->where('filament_count', '<', 0); + return view('livewire.dashboard', compact('manufacturers')); } } diff --git a/database/migrations/2025_03_10_212629_add_filamentcout_to_manufacturers.php b/database/migrations/2025_03_10_212629_add_filamentcout_to_manufacturers.php new file mode 100644 index 0000000..270fe00 --- /dev/null +++ b/database/migrations/2025_03_10_212629_add_filamentcout_to_manufacturers.php @@ -0,0 +1,30 @@ +integer('filament_count')->default(0); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('manufacturers', function (Blueprint $table) { + // + $table->dropColumn('filament_count'); + }); + } +}; diff --git a/resources/views/components/dashboard.blade.php b/resources/views/components/dashboard.blade.php deleted file mode 100644 index 0a5ce93..0000000 --- a/resources/views/components/dashboard.blade.php +++ /dev/null @@ -1,30 +0,0 @@ -
-
- -

- Manufacturers -

-
-
-
- -

- Filaments -

-
-
-
- -

- Types -

-
-
-
- -

- Colors -

-
-
-
\ No newline at end of file diff --git a/resources/views/livewire/dashboard.blade.php b/resources/views/livewire/dashboard.blade.php index 2ba282d..14791a4 100644 --- a/resources/views/livewire/dashboard.blade.php +++ b/resources/views/livewire/dashboard.blade.php @@ -8,7 +8,39 @@
- +
+
+ +

+ Manufacturers +

+ @foreach ($manufacturers as $manufacturer) + {{ $manufacturer->name }} + @endforeach +
+
+
+ +

+ Filaments +

+
+
+
+ +

+ Types +

+
+
+
+ +

+ Colors +

+
+
+
diff --git a/routes/web.php b/routes/web.php index aeaf85a..e0bf85f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -28,5 +28,6 @@ Route::middleware([ Route::resource('filaments', FilamentController::class); // Manufacturers Route::resource('manufacturers', ManufacturerController::class); + Route::get('refresh', [ManufacturerController::class, 'refresh'])->name('refresh'); });