diff --git a/app/Http/Controllers/Api/CategoriesController.php b/app/Http/Controllers/Api/CategoriesController.php index aab7f4466f..d7cde6d1e1 100644 --- a/app/Http/Controllers/Api/CategoriesController.php +++ b/app/Http/Controllers/Api/CategoriesController.php @@ -13,7 +13,6 @@ use Illuminate\Http\Request; use Illuminate\Http\JsonResponse; use App\Http\Requests\ImageUploadRequest; use Illuminate\Support\Facades\Storage; -use Illuminate\Support\MessageBag; class CategoriesController extends Controller { @@ -214,18 +213,18 @@ class CategoriesController extends Controller */ public function destroy(Category $category): JsonResponse { - $errors = new MessageBag(); $this->authorize('delete', Category::class); try { DestroyCategoryAction::run(category: $category); } catch (ItemStillHasChildren $e) { - $errors->add('error', trans('admin/categories/message.delete.assoc_children', ['category_name' => $category->name])); + return response()->json( + Helper::formatStandardApiResponse('error', null, trans('admin/categories/message.assoc_items', ['asset_type' => $category->category_type])) + ); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); - } - if (count($errors) > 0) { - return response()->json(Helper::formatStandardApiResponse('error', null, $errors)); + return response()->json( + Helper::formatStandardApiResponse('error', null, trans('general.something_went_wrong')) + ); } return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/categories/message.delete.success'))); diff --git a/app/Http/Controllers/Api/ManufacturersController.php b/app/Http/Controllers/Api/ManufacturersController.php index fe0b2e5588..5400fa145d 100644 --- a/app/Http/Controllers/Api/ManufacturersController.php +++ b/app/Http/Controllers/Api/ManufacturersController.php @@ -19,7 +19,6 @@ use Illuminate\Http\Request; use App\Http\Requests\ImageUploadRequest; use Illuminate\Support\Facades\Storage; use Illuminate\Http\JsonResponse; -use Illuminate\Support\MessageBag; class ManufacturersController extends Controller { @@ -194,18 +193,14 @@ class ManufacturersController extends Controller */ public function destroy(Manufacturer $manufacturer): JsonResponse { - $errors = new MessageBag(); $this->authorize('delete', $manufacturer); try { DeleteManufacturerAction::run($manufacturer); } catch (ItemStillHasChildren $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.assoc_children', ['manufacturer_name' => $manufacturer->name])); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/manufacturers/message.assoc_users'))); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); - } - if (count($errors) > 0) { - return response()->json(Helper::formatStandardApiResponse('error', null, $errors->messages())); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.something_went_wrong'))); } return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/manufacturers/message.delete.success'))); diff --git a/app/Http/Controllers/Api/SuppliersController.php b/app/Http/Controllers/Api/SuppliersController.php index 62db9e8f08..22421b6c48 100644 --- a/app/Http/Controllers/Api/SuppliersController.php +++ b/app/Http/Controllers/Api/SuppliersController.php @@ -15,7 +15,6 @@ use Illuminate\Http\Request; use App\Http\Requests\ImageUploadRequest; use Illuminate\Support\Facades\Storage; use Illuminate\Http\JsonResponse; -use Illuminate\Support\MessageBag; class SuppliersController extends Controller { @@ -198,22 +197,18 @@ class SuppliersController extends Controller */ public function destroy(Supplier $supplier): JsonResponse { - $errors = new MessageBag(); $this->authorize('delete', $supplier); try { DestroySupplierAction::run(supplier: $supplier); } catch (ItemStillHasAssets $e) { - $errors->add('error', trans('admin/suppliers/message.delete.assoc_assets', ['supplier_name' => $supplier->name])); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_assets', ['asset_count' => (int) $supplier->assets_count]))); } catch (ItemStillHasMaintenances $e) { - $errors->add('error', trans('admin/suppliers/message.delete.assoc_maintenances', ['supplier_name' => $supplier->name])); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_maintenances', ['asset_maintenances_count' => $supplier->asset_maintenances_count]))); } catch (ItemStillHasLicenses $e) { - $errors->add('error', trans('admin/suppliers/message.delete.assoc_licenses', ['supplier_name' => $supplier->name])); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_licenses', ['licenses_count' => (int) $supplier->licenses_count]))); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); - } - if (count($errors) > 0) { - return response()->json(Helper::formatStandardApiResponse('error', null, $errors->messages())); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.something_went_wrong'))); } return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/suppliers/message.delete.success'))); diff --git a/app/Http/Controllers/BulkCategoriesController.php b/app/Http/Controllers/BulkCategoriesController.php index adc570d7e1..f1298c8a22 100644 --- a/app/Http/Controllers/BulkCategoriesController.php +++ b/app/Http/Controllers/BulkCategoriesController.php @@ -11,7 +11,6 @@ use App\Exceptions\ItemStillHasConsumables; use App\Exceptions\ItemStillHasLicenses; use App\Models\Category; use Illuminate\Http\Request; -use Illuminate\Support\MessageBag; class BulkCategoriesController extends Controller { @@ -19,7 +18,7 @@ class BulkCategoriesController extends Controller { $this->authorize('delete', Category::class); - $errors = new MessageBag(); + $errors = []; foreach ($request->ids as $id) { $category = Category::find($id); if (is_null($category)) { @@ -29,20 +28,20 @@ class BulkCategoriesController extends Controller try { DestroyCategoryAction::run(category: $category); } catch (ItemStillHasAccessories $e) { - $errors->add('error', trans('admin/categories/message.delete.bulk_assoc_accessories', ['category_name' => $category->name])); + $errors[] = trans('admin/categories/message.delete.bulk_assoc_accessories', ['category_name' => $category->name]); } catch (ItemStillHasAssetModels) { - $errors->add('error', trans('admin/categories/message.delete.bulk_assoc_models', ['category_name' => $category->name])); + $errors[] = trans('admin/categories/message.delete.bulk_assoc_models', ['category_name' => $category->name]); } catch (ItemStillHasAssets) { - $errors->add('error', trans('admin/categories/message.delete.bulk_assoc_assets', ['category_name' => $category->name])); + $errors[] = trans('admin/categories/message.delete.bulk_assoc_assets', ['category_name' => $category->name]); } catch (ItemStillHasComponents) { - $errors->add('error', trans('admin/categories/message.delete.bulk_assoc_components', ['category_name' => $category->name])); + $errors[] = trans('admin/categories/message.delete.bulk_assoc_components', ['category_name' => $category->name]); } catch (ItemStillHasConsumables) { - $errors->add('error', trans('admin/categories/message.delete.bulk_assoc_consumables', ['category_name' => $category->name])); + $errors[] = trans('admin/categories/message.delete.bulk_assoc_consumables', ['category_name' => $category->name]); } catch (ItemStillHasLicenses) { - $errors->add('error', trans('admin/categories/message.delete.bulk_assoc_licenses', ['category_name' => $category->name])); + $errors[] = trans('admin/categories/message.delete.bulk_assoc_licenses', ['category_name' => $category->name]); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); + $errors[] = trans('general.something_went_wrong'); } } if (count($errors) > 0) { diff --git a/app/Http/Controllers/BulkManufacturersController.php b/app/Http/Controllers/BulkManufacturersController.php index b6e7203a56..f497766e5c 100644 --- a/app/Http/Controllers/BulkManufacturersController.php +++ b/app/Http/Controllers/BulkManufacturersController.php @@ -12,7 +12,6 @@ use App\Exceptions\ItemStillHasConsumables; use App\Exceptions\ItemStillHasLicenses; use App\Models\Manufacturer; use Illuminate\Http\Request; -use Illuminate\Support\MessageBag; class BulkManufacturersController extends Controller { @@ -20,7 +19,7 @@ class BulkManufacturersController extends Controller { $this->authorize('delete', Manufacturer::class); - $errors = new MessageBag(); + $errors = []; foreach ($request->ids as $id) { $manufacturer = Manufacturer::find($id); if (is_null($manufacturer)) { @@ -30,18 +29,18 @@ class BulkManufacturersController extends Controller try { DeleteManufacturerAction::run(manufacturer: $manufacturer); } catch (ItemStillHasAssets $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.bulk_assoc_assets', ['manufacturer_name' => $manufacturer->name])); + $errors[] = trans('admin/manufacturers/message.delete.bulk_assoc_assets', ['manufacturer_name' => $manufacturer->name]); } catch (ItemStillHasAccessories $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.bulk_assoc_accessories', ['manufacturer_name' => $manufacturer->name])); + $errors[] = trans('admin/manufacturers/message.delete.bulk_assoc_accessories', ['manufacturer_name' => $manufacturer->name]); } catch (ItemStillHasConsumables $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.bulk_assoc_consumables', ['manufacturer_name' => $manufacturer->name])); + $errors[] = trans('admin/manufacturers/message.delete.bulk_assoc_consumables', ['manufacturer_name' => $manufacturer->name]); } catch (ItemStillHasComponents $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.bulk_assoc_components', ['manufacturer_name' => $manufacturer->name])); + $errors[] = trans('admin/manufacturers/message.delete.bulk_assoc_components', ['manufacturer_name' => $manufacturer->name]);; } catch (ItemStillHasLicenses $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.bulk_assoc_licenses', ['manufacturer_name' => $manufacturer->name])); + $errors[] = trans('admin/manufacturers/message.delete.bulk_assoc_licenses', ['manufacturer_name' => $manufacturer->name]);; } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); + $errors[] = trans('general.something_went_wrong'); } } if (count($errors) > 0) { diff --git a/app/Http/Controllers/BulkSuppliersController.php b/app/Http/Controllers/BulkSuppliersController.php index a4b93581bc..c4df351075 100644 --- a/app/Http/Controllers/BulkSuppliersController.php +++ b/app/Http/Controllers/BulkSuppliersController.php @@ -8,7 +8,6 @@ use App\Exceptions\ItemStillHasAssets; use App\Exceptions\ItemStillHasLicenses; use App\Models\Supplier; use Illuminate\Http\Request; -use Illuminate\Support\MessageBag; class BulkSuppliersController extends Controller { @@ -16,7 +15,7 @@ class BulkSuppliersController extends Controller { $this->authorize('delete', Supplier::class); - $errors = new MessageBag(); + $errors = []; foreach ($request->ids as $id) { $supplier = Supplier::find($id); if (is_null($supplier)) { @@ -26,14 +25,14 @@ class BulkSuppliersController extends Controller try { DestroySupplierAction::run(supplier: $supplier); } catch (ItemStillHasAssets $e) { - $errors->add('error', trans('admin/suppliers/message.delete.bulk_assoc_assets', ['supplier_name' => $supplier->name])); + $errors[] = trans('admin/suppliers/message.delete.bulk_assoc_assets', ['supplier_name' => $supplier->name]); } catch (ItemStillHasMaintenances $e) { - $errors->add('error', trans('admin/suppliers/message.delete.bulk_assoc_maintenances', ['supplier_name' => $supplier->name]));; + $errors[] = trans('admin/suppliers/message.delete.bulk_assoc_maintenances', ['supplier_name' => $supplier->name]);; } catch (ItemStillHasLicenses $e) { - $errors->add('error', trans('admin/suppliers/message.delete.bulk_assoc_licenses', ['supplier_name' => $supplier->name]));; + $errors[] = trans('admin/suppliers/message.delete.bulk_assoc_licenses', ['supplier_name' => $supplier->name]); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); + $errors[] = trans('general.something_went_wrong'); } } if (count($errors) > 0) { diff --git a/app/Http/Controllers/CategoriesController.php b/app/Http/Controllers/CategoriesController.php index fb7c01832a..aa75f83d15 100755 --- a/app/Http/Controllers/CategoriesController.php +++ b/app/Http/Controllers/CategoriesController.php @@ -17,7 +17,6 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Storage; use Illuminate\Http\RedirectResponse; use \Illuminate\Contracts\View\View; -use Illuminate\Support\MessageBag; /** * This class controls all actions related to Categories for @@ -154,19 +153,14 @@ class CategoriesController extends Controller */ public function destroy(Category $category): RedirectResponse { - $errors = new MessageBag(); $this->authorize('delete', Category::class); try { DestroyCategoryAction::run($category); } catch (ItemStillHasChildren $e) { - $errors->add('error', trans('admin/categories/message.delete.assoc_children', ['category_name' => $category->name])); + return redirect()->route('categories.index')->with('error', trans('admin/categories/message.assoc_items', ['asset_type' => $category->category_type])); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); - } - - if ($errors->count() > 0) { - return redirect()->route('categories.index')->with('error', $errors->messages()); + return redirect()->route('categories.index')->with('error', trans('admin/categories/message.delete.error')); } return redirect()->route('categories.index')->with('success', trans('admin/categories/message.delete.success')); diff --git a/app/Http/Controllers/ManufacturersController.php b/app/Http/Controllers/ManufacturersController.php index 0cbfadb590..900a2c5a28 100755 --- a/app/Http/Controllers/ManufacturersController.php +++ b/app/Http/Controllers/ManufacturersController.php @@ -20,7 +20,6 @@ use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Log; use Illuminate\Http\RedirectResponse; use \Illuminate\Contracts\View\View; -use Illuminate\Support\MessageBag; /** * This controller handles all actions related to Manufacturers for @@ -168,18 +167,14 @@ class ManufacturersController extends Controller */ public function destroy(Manufacturer $manufacturer): RedirectResponse { - $errors = new MessageBag(); $this->authorize('delete', $manufacturer); try { DeleteManufacturerAction::run($manufacturer); } catch (ItemStillHasChildren $e) { - $errors->add('error', trans('admin/manufacturers/message.delete.assoc_children', ['manufacturer_name' => $manufacturer->name])); + return redirect()->route('manufacturers.index')->with('error', trans('admin/manufacturers/message.assoc_users')); } catch (\Exception $e) { report($e); - $errors->add('error', trans('general.something_went_wrong')); - } - if (count($errors) > 0) { - return redirect()->route('manufacturers.index')->with('error', $errors); + return redirect()->route('manufacturers.index')->with('error', trans('general.something_went_wrong')); } return redirect()->route('manufacturers.index')->with('success', trans('admin/manufacturers/message.delete.success')); diff --git a/app/Http/Controllers/SuppliersController.php b/app/Http/Controllers/SuppliersController.php index af8c1f0447..38e018e502 100755 --- a/app/Http/Controllers/SuppliersController.php +++ b/app/Http/Controllers/SuppliersController.php @@ -141,7 +141,7 @@ class SuppliersController extends Controller } if ($errors->count() > 0) { - return redirect()->route('suppliers.index')->with('error', $errors); + return redirect()->route('suppliers.index')->with('multi_errors', $errors); } return redirect()->route('suppliers.index')->with('success', trans('admin/suppliers/message.delete.success')); diff --git a/tests/Feature/Categories/Ui/DeleteCategoriesTest.php b/tests/Feature/Categories/Ui/DeleteCategoriesTest.php index 929f1f9984..3cd342a78a 100644 --- a/tests/Feature/Categories/Ui/DeleteCategoriesTest.php +++ b/tests/Feature/Categories/Ui/DeleteCategoriesTest.php @@ -39,7 +39,6 @@ class DeleteCategoriesTest extends TestCase $this->actingAs(User::factory()->deleteCategories()->create()) ->delete(route('categories.destroy', $category)) - ->dumpSession() ->assertRedirectToRoute('categories.index') ->assertSessionHas('error'); $this->assertNotSoftDeleted($category);