diff --git a/app/Http/Controllers/Api/SupplierController.php b/app/Http/Controllers/Api/SupplierController.php index 139213f..de152e2 100644 --- a/app/Http/Controllers/Api/SupplierController.php +++ b/app/Http/Controllers/Api/SupplierController.php @@ -18,6 +18,14 @@ class SupplierController extends Controller return response()->json($suppliers); } + /** + * Display a listing of the resource. + */ + public function withTrashed(): JsonResponse + { + return response()->json(Supplier::with(['invoices'])->withTrashed()->orderBy('name')->get()); + } + /** * Store a newly created resource in storage. */ @@ -69,4 +77,25 @@ class SupplierController extends Controller return response()->json($supplier); } + + /** + * Remove the specified resource from storage. + */ + public function destroy(Supplier $supplier): JsonResponse + { + $supplier->delete(); + + return response()->json(null, 204); + } + + /** + * Restore the specified resource. + */ + public function restore(int $id): JsonResponse + { + $supplier = Supplier::withTrashed()->findOrFail($id)->restore(); + + return response()->json($supplier); + } + } diff --git a/app/Models/Incoming.php b/app/Models/Incoming.php index 70610d9..8a7ab17 100644 --- a/app/Models/Incoming.php +++ b/app/Models/Incoming.php @@ -72,7 +72,7 @@ class Incoming extends Model */ public function supplier(): BelongsTo { - return $this->belongsTo(Supplier::class); + return $this->belongsTo(Supplier::class)->withTrashed(); } /** diff --git a/app/Models/Supplier.php b/app/Models/Supplier.php index 2c12d51..457c2b9 100644 --- a/app/Models/Supplier.php +++ b/app/Models/Supplier.php @@ -4,9 +4,12 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\SoftDeletes; class Supplier extends Model { + use SoftDeletes; + /** * The attributes that are mass assignable. * diff --git a/database/migrations/2025_02_13_144625_add_softdeletes_to_suppliers.php b/database/migrations/2025_02_13_144625_add_softdeletes_to_suppliers.php new file mode 100644 index 0000000..a28c2db --- /dev/null +++ b/database/migrations/2025_02_13_144625_add_softdeletes_to_suppliers.php @@ -0,0 +1,28 @@ +softDeletes(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('suppliers', function (Blueprint $table) { + $table->dropSoftDeletes(); + }); + } +}; diff --git a/resources/views/supplier/index.blade.php b/resources/views/supplier/index.blade.php index 7f707fa..ef86718 100644 --- a/resources/views/supplier/index.blade.php +++ b/resources/views/supplier/index.blade.php @@ -21,7 +21,9 @@ {{ __("supplier.Add new supplier by clicking add") }}
-{{ __('form.Saved') }}
+ +