diff --git a/app/Http/Controllers/Dashboard/Product/Controller.php b/app/Http/Controllers/Dashboard/Product/Controller.php index 3dcb6e8..37ace17 100755 --- a/app/Http/Controllers/Dashboard/Product/Controller.php +++ b/app/Http/Controllers/Dashboard/Product/Controller.php @@ -24,11 +24,12 @@ use App\Jobs\Dashboard\Product\Child as ChildJob; use App\Jobs\Dashboard\Product\ChildUpdate as ChildUpdateJob; use App\Jobs\Dashboard\Product\Update as UpdateJob; use App\Jobs\Dashboard\Product\Deletes as DeletesJob; -use Exception; use Illuminate\Support\Facades\Date; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Maatwebsite\Excel\Facades\Excel; +use Throwable; class Controller extends ExController { @@ -97,10 +98,17 @@ class Controller extends ExController $this->charSync($product, $request->characteristics); $this->dispatchSync(new ChildJob($request, $product)); - } catch (Exception $e) { + } catch (Throwable $e) { + Log::error('Product store failed', [ + 'message' => $e->getMessage(), + 'category_id' => $request->get('category_id'), + 'trace' => $e->getTraceAsString(), + ]); + return Response::json([ 'status' => false, - 'messages' => $e->getMessage() + 'messages' => 'Product could not be saved.', + 'error' => config('app.debug') ? $e->getMessage() : null, ], 500); } @@ -341,10 +349,18 @@ class Controller extends ExController $this->dispatchSync(new ChildUpdateJob($request, $product)); $this->charSync($product, $request->characteristics); $this->dispatchSync(new DeletesJob($request)); - } catch (Exception $e) { + } catch (Throwable $e) { + Log::error('Product update failed', [ + 'product_id' => $product->id, + 'message' => $e->getMessage(), + 'category_id' => $request->get('category_id'), + 'trace' => $e->getTraceAsString(), + ]); + return Response::json([ 'status' => false, - 'messages' => $e->getMessage() + 'messages' => 'Product could not be saved.', + 'error' => config('app.debug') ? $e->getMessage() : null, ], 500); } diff --git a/resources/js/components/ProductEdit.vue b/resources/js/components/ProductEdit.vue index 4607234..122bfac 100755 --- a/resources/js/components/ProductEdit.vue +++ b/resources/js/components/ProductEdit.vue @@ -1451,7 +1451,8 @@ export default { this.error = true; this.errors = error.response.data.errors || { product: [ - error.response.data.messages || + error.response.data.error || + error.response.data.messages || "Ошибка при сохранении", ], }; diff --git a/resources/js/components/ProductStore.vue b/resources/js/components/ProductStore.vue index 239fa95..1114f31 100755 --- a/resources/js/components/ProductStore.vue +++ b/resources/js/components/ProductStore.vue @@ -1322,7 +1322,8 @@ export default { this.error = true; this.errors = error.response.data.errors || { product: [ - error.response.data.messages || + error.response.data.error || + error.response.data.messages || error.response.data.message || "Ошибка при сохранении", ],