From 73b3c11d80719ce3eb9afbbdc5616024a2fb28f2 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 23 Oct 2020 08:00:49 +1100 Subject: [PATCH] Fixes for update expenses --- .../Requests/Expense/UpdateExpenseRequest.php | 13 ++------ .../Requests/Project/StoreProjectRequest.php | 2 -- .../Requests/Project/UpdateProjectRequest.php | 4 +++ app/Http/Requests/Request.php | 2 +- app/Models/Project.php | 2 +- app/Transformers/CompanyTransformer.php | 3 ++ ...2020_10_22_204900_company_table_fields.php | 30 +++++++++++++++++++ 7 files changed, 42 insertions(+), 14 deletions(-) create mode 100644 database/migrations/2020_10_22_204900_company_table_fields.php diff --git a/app/Http/Requests/Expense/UpdateExpenseRequest.php b/app/Http/Requests/Expense/UpdateExpenseRequest.php index 62ca15c72b12..06f42e6b414d 100644 --- a/app/Http/Requests/Expense/UpdateExpenseRequest.php +++ b/app/Http/Requests/Expense/UpdateExpenseRequest.php @@ -46,16 +46,7 @@ class UpdateExpenseRequest extends Request $rules['number'] = 'unique:expenses,number,'.$this->id.',id,company_id,'.$this->expense->company_id; } - $contacts = request('contacts'); - - if (is_array($contacts)) { - // for ($i = 0; $i < count($contacts); $i++) { - // // $rules['contacts.' . $i . '.email'] = 'nullable|email|unique:client_contacts,email,' . isset($contacts[$i]['id'].',company_id,'.$this->company_id); - // //$rules['contacts.' . $i . '.email'] = 'nullable|email'; - // } - } - - return $rules; + return $this->globalRules($rules); } public function messages() @@ -72,6 +63,8 @@ class UpdateExpenseRequest extends Request { $input = $this->all(); + $input = $this->decodePrimaryKeys($input); + $this->replace($input); } } diff --git a/app/Http/Requests/Project/StoreProjectRequest.php b/app/Http/Requests/Project/StoreProjectRequest.php index 1903854bbd0f..6070d11fb874 100644 --- a/app/Http/Requests/Project/StoreProjectRequest.php +++ b/app/Http/Requests/Project/StoreProjectRequest.php @@ -34,7 +34,6 @@ class StoreProjectRequest extends Request { $rules = []; - //$rules['name'] ='required|unique:projects,name,null,null,company_id,'.auth()->user()->companyId(); $rules['name'] = 'required'; $rules['client_id'] = 'required|exists:clients,id,company_id,'.auth()->user()->company()->id; @@ -48,7 +47,6 @@ class StoreProjectRequest extends Request if (array_key_exists('client_id', $input) && is_string($input['client_id'])) { $input['client_id'] = $this->decodePrimaryKey($input['client_id']); } - $this->replace($input); } diff --git a/app/Http/Requests/Project/UpdateProjectRequest.php b/app/Http/Requests/Project/UpdateProjectRequest.php index 73b1c642e105..2382abfc3820 100644 --- a/app/Http/Requests/Project/UpdateProjectRequest.php +++ b/app/Http/Requests/Project/UpdateProjectRequest.php @@ -38,6 +38,10 @@ class UpdateProjectRequest extends Request { $input = $this->all(); + if (array_key_exists('client_id', $input) && is_string($input['client_id'])) { + unset($input['client_id']); + } + $this->replace($input); } } diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index 22397743ddbe..2b254144074b 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -63,7 +63,7 @@ class Request extends FormRequest private function vendor_id($rules) { - $rules['vendor_id'] = 'bail|sometimes|exists:vendors,id,company_id,'.auth()->user()->company()->id; + $rules['vendor_id'] = 'bail|nullable|sometimes|exists:vendors,id,company_id,'.auth()->user()->company()->id; return $rules; } diff --git a/app/Models/Project.php b/app/Models/Project.php index e3669bc3ad7b..6e43247fd3a6 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -11,7 +11,7 @@ use Laracasts\Presenter\PresentableTrait; */ class Project extends BaseModel { - // Expense Categories + use SoftDeletes; use PresentableTrait; use Filterable; diff --git a/app/Transformers/CompanyTransformer.php b/app/Transformers/CompanyTransformer.php index 51315c0e7b57..6bba99350e1b 100644 --- a/app/Transformers/CompanyTransformer.php +++ b/app/Transformers/CompanyTransformer.php @@ -144,6 +144,9 @@ class CompanyTransformer extends EntityTransformer 'enable_shop_api' => (bool) $company->enable_shop_api, 'mark_expenses_invoiceable'=> (bool) $company->mark_expenses_invoiceable, 'mark_expenses_paid' => (bool) $company->mark_expenses_paid, + 'invoice_expense_documents' => (bool) $company->invoice_expense_documents, + 'invoice_task_timelog' => (bool) $company->invoice_task_timelog, + 'auto_start_tasks' => (bool) $company->auto_start_tasks, 'use_credits_payment' => (string) $company->use_credits_payment, ]; } diff --git a/database/migrations/2020_10_22_204900_company_table_fields.php b/database/migrations/2020_10_22_204900_company_table_fields.php new file mode 100644 index 000000000000..14d8bd57faa1 --- /dev/null +++ b/database/migrations/2020_10_22_204900_company_table_fields.php @@ -0,0 +1,30 @@ +boolean('invoice_task_timelog')->default(true); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}