From 763c5e08a5e244a20c98bade3106fdc6b031a359 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 12 Jul 2017 23:56:31 +0300 Subject: [PATCH] Clean up error logs from API --- app/Http/Controllers/BaseAPIController.php | 4 ++++ app/Http/Requests/UpdateClientRequest.php | 6 +++++- app/Http/Requests/UpdateContactRequest.php | 2 +- app/Http/Requests/UpdateCreditRequest.php | 2 +- app/Http/Requests/UpdateDocumentRequest.php | 2 +- app/Http/Requests/UpdateExpenseCategoryRequest.php | 6 +++++- app/Http/Requests/UpdateExpenseRequest.php | 2 +- app/Http/Requests/UpdateInvoiceAPIRequest.php | 6 +++++- app/Http/Requests/UpdateInvoiceRequest.php | 6 +++++- app/Http/Requests/UpdatePaymentRequest.php | 2 +- app/Http/Requests/UpdateProductRequest.php | 2 +- app/Http/Requests/UpdateProjectRequest.php | 6 +++++- app/Http/Requests/UpdateRecurringExpenseRequest.php | 2 +- app/Http/Requests/UpdateTaskRequest.php | 2 +- app/Http/Requests/UpdateTaxRateRequest.php | 2 +- app/Http/Requests/UpdateVendorRequest.php | 2 +- 16 files changed, 39 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/BaseAPIController.php b/app/Http/Controllers/BaseAPIController.php index 0219a7f165e4..190debf96139 100644 --- a/app/Http/Controllers/BaseAPIController.php +++ b/app/Http/Controllers/BaseAPIController.php @@ -121,6 +121,10 @@ class BaseAPIController extends Controller protected function itemResponse($item) { + if (! $item) { + return $this->errorResponse('Record not found', 404); + } + $transformerClass = EntityModel::getTransformerName($this->entityType); $transformer = new $transformerClass(Auth::user()->account, Input::get('serializer')); diff --git a/app/Http/Requests/UpdateClientRequest.php b/app/Http/Requests/UpdateClientRequest.php index a539234196d2..575cba1d8a67 100644 --- a/app/Http/Requests/UpdateClientRequest.php +++ b/app/Http/Requests/UpdateClientRequest.php @@ -11,7 +11,7 @@ class UpdateClientRequest extends ClientRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** @@ -21,6 +21,10 @@ class UpdateClientRequest extends ClientRequest */ public function rules() { + if (! $this->entity()) { + return []; + } + $rules = []; if ($this->user()->account->client_number_counter) { diff --git a/app/Http/Requests/UpdateContactRequest.php b/app/Http/Requests/UpdateContactRequest.php index e6a40d18bb56..eb39da591db8 100644 --- a/app/Http/Requests/UpdateContactRequest.php +++ b/app/Http/Requests/UpdateContactRequest.php @@ -11,7 +11,7 @@ class UpdateContactRequest extends ContactRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateCreditRequest.php b/app/Http/Requests/UpdateCreditRequest.php index 19de853d9dc4..020ce99a71bb 100644 --- a/app/Http/Requests/UpdateCreditRequest.php +++ b/app/Http/Requests/UpdateCreditRequest.php @@ -11,7 +11,7 @@ class UpdateCreditRequest extends CreditRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateDocumentRequest.php b/app/Http/Requests/UpdateDocumentRequest.php index afd7dc6f21cd..e31081696e82 100644 --- a/app/Http/Requests/UpdateDocumentRequest.php +++ b/app/Http/Requests/UpdateDocumentRequest.php @@ -11,7 +11,7 @@ class UpdateDocumentRequest extends DocumentRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateExpenseCategoryRequest.php b/app/Http/Requests/UpdateExpenseCategoryRequest.php index f45fa9e7343e..d676354bfc69 100644 --- a/app/Http/Requests/UpdateExpenseCategoryRequest.php +++ b/app/Http/Requests/UpdateExpenseCategoryRequest.php @@ -11,7 +11,7 @@ class UpdateExpenseCategoryRequest extends ExpenseCategoryRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** @@ -21,6 +21,10 @@ class UpdateExpenseCategoryRequest extends ExpenseCategoryRequest */ public function rules() { + if (! $this->entity()) { + return []; + } + return [ 'name' => 'required', 'name' => sprintf('required|unique:expense_categories,name,%s,id,account_id,%s', $this->entity()->id, $this->user()->account_id), diff --git a/app/Http/Requests/UpdateExpenseRequest.php b/app/Http/Requests/UpdateExpenseRequest.php index cd87ec5e59de..65fdc93752cb 100644 --- a/app/Http/Requests/UpdateExpenseRequest.php +++ b/app/Http/Requests/UpdateExpenseRequest.php @@ -11,7 +11,7 @@ class UpdateExpenseRequest extends ExpenseRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateInvoiceAPIRequest.php b/app/Http/Requests/UpdateInvoiceAPIRequest.php index e5a9858f1bf9..bcf7f86ecfdc 100644 --- a/app/Http/Requests/UpdateInvoiceAPIRequest.php +++ b/app/Http/Requests/UpdateInvoiceAPIRequest.php @@ -13,7 +13,7 @@ class UpdateInvoiceAPIRequest extends InvoiceRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** @@ -23,6 +23,10 @@ class UpdateInvoiceAPIRequest extends InvoiceRequest */ public function rules() { + if (! $this->entity()) { + return []; + } + if ($this->action == ACTION_ARCHIVE) { return []; } diff --git a/app/Http/Requests/UpdateInvoiceRequest.php b/app/Http/Requests/UpdateInvoiceRequest.php index 775a80b54f56..07f39406e3e5 100644 --- a/app/Http/Requests/UpdateInvoiceRequest.php +++ b/app/Http/Requests/UpdateInvoiceRequest.php @@ -13,7 +13,7 @@ class UpdateInvoiceRequest extends InvoiceRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** @@ -23,6 +23,10 @@ class UpdateInvoiceRequest extends InvoiceRequest */ public function rules() { + if (! $this->entity()) { + return []; + } + $invoiceId = $this->entity()->id; $rules = [ diff --git a/app/Http/Requests/UpdatePaymentRequest.php b/app/Http/Requests/UpdatePaymentRequest.php index e569ffe2b4a1..a1c3a6e402bf 100644 --- a/app/Http/Requests/UpdatePaymentRequest.php +++ b/app/Http/Requests/UpdatePaymentRequest.php @@ -11,7 +11,7 @@ class UpdatePaymentRequest extends PaymentRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateProductRequest.php b/app/Http/Requests/UpdateProductRequest.php index 2fe1a5249d30..2a2c68cedc9f 100644 --- a/app/Http/Requests/UpdateProductRequest.php +++ b/app/Http/Requests/UpdateProductRequest.php @@ -11,7 +11,7 @@ class UpdateProductRequest extends ProductRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateProjectRequest.php b/app/Http/Requests/UpdateProjectRequest.php index ef9d287e0efe..84639fd18d88 100644 --- a/app/Http/Requests/UpdateProjectRequest.php +++ b/app/Http/Requests/UpdateProjectRequest.php @@ -11,7 +11,7 @@ class UpdateProjectRequest extends ProjectRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** @@ -21,6 +21,10 @@ class UpdateProjectRequest extends ProjectRequest */ public function rules() { + if (! $this->entity()) { + return []; + } + return [ 'name' => sprintf('required|unique:projects,name,%s,id,account_id,%s', $this->entity()->id, $this->user()->account_id), ]; diff --git a/app/Http/Requests/UpdateRecurringExpenseRequest.php b/app/Http/Requests/UpdateRecurringExpenseRequest.php index 7fe8aa2df7cb..d9542f452f6e 100644 --- a/app/Http/Requests/UpdateRecurringExpenseRequest.php +++ b/app/Http/Requests/UpdateRecurringExpenseRequest.php @@ -11,7 +11,7 @@ class UpdateRecurringExpenseRequest extends RecurringExpenseRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateTaskRequest.php b/app/Http/Requests/UpdateTaskRequest.php index 4131bf99ee0d..b94795386574 100644 --- a/app/Http/Requests/UpdateTaskRequest.php +++ b/app/Http/Requests/UpdateTaskRequest.php @@ -11,7 +11,7 @@ class UpdateTaskRequest extends TaskRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateTaxRateRequest.php b/app/Http/Requests/UpdateTaxRateRequest.php index ada31fa9d0c8..b1008756faa5 100644 --- a/app/Http/Requests/UpdateTaxRateRequest.php +++ b/app/Http/Requests/UpdateTaxRateRequest.php @@ -11,7 +11,7 @@ class UpdateTaxRateRequest extends TaxRateRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /** diff --git a/app/Http/Requests/UpdateVendorRequest.php b/app/Http/Requests/UpdateVendorRequest.php index 427d4ceef44d..e199abbac4f2 100644 --- a/app/Http/Requests/UpdateVendorRequest.php +++ b/app/Http/Requests/UpdateVendorRequest.php @@ -11,7 +11,7 @@ class UpdateVendorRequest extends VendorRequest */ public function authorize() { - return $this->user()->can('edit', $this->entity()); + return $this->entity() && $this->user()->can('edit', $this->entity()); } /**