diff --git a/app/Http/Requests/Request.php b/app/Http/Requests/Request.php index 2b254144074b..5e31c967e522 100644 --- a/app/Http/Requests/Request.php +++ b/app/Http/Requests/Request.php @@ -31,15 +31,15 @@ class Request extends FormRequest public function globalRules($rules) { - $rules = []; + $merge_rules = []; foreach($this->all() as $key => $value) { if(method_exists($this, $key)) - $rules = $this->{$key}($rules); + $merge_rules = $this->{$key}($rules); } - return $rules; + return array_merge($merge_rules, $rules); } private function assigned_user_id($rules) diff --git a/app/Http/Requests/Task/StoreTaskRequest.php b/app/Http/Requests/Task/StoreTaskRequest.php index ddb30edeaaa1..78cf87402e94 100644 --- a/app/Http/Requests/Task/StoreTaskRequest.php +++ b/app/Http/Requests/Task/StoreTaskRequest.php @@ -38,11 +38,10 @@ class StoreTaskRequest extends Request { $rules = []; - if ($this->input('number')) { - $rules['number'] = 'unique:tasks,number,'.$this->id.',id,company_id,'.auth()->user()->company()->id; - } - - return $this->globalRules($rules); + $rules['number'] = Rule::unique('tasks') + ->where('company_id', auth()->user()->company()->id); + + return $this->globalRules($rules); } protected function prepareForValidation() diff --git a/app/Http/Requests/Task/UpdateTaskRequest.php b/app/Http/Requests/Task/UpdateTaskRequest.php index e51e4c692f27..57fcda98bb9c 100644 --- a/app/Http/Requests/Task/UpdateTaskRequest.php +++ b/app/Http/Requests/Task/UpdateTaskRequest.php @@ -37,11 +37,10 @@ class UpdateTaskRequest extends Request public function rules() { $rules = []; - /* Ensure we have a client name, and that all emails are unique*/ - if ($this->input('number')) { - $rules['number'] = 'unique:tasks,number,'.$this->id.',id,company_id,'.$this->task->company_id; - } + $rules['number'] = Rule::unique('tasks') + ->where('company_id', auth()->user()->company()->id) + ->ignore($this->task->id); return $this->globalRules($rules); } diff --git a/app/Repositories/TaskRepository.php b/app/Repositories/TaskRepository.php index 3479e67380bc..e30525374ed8 100644 --- a/app/Repositories/TaskRepository.php +++ b/app/Repositories/TaskRepository.php @@ -51,7 +51,7 @@ class TaskRepository extends BaseRepository $task->fill($data); $task->save(); - $task->number = empty($task->number) ? $this->getNextTaskNumber($task) : $task->number; + $task->number = empty($task->number) ? $this->getNextTaskNumber($task) : $data['number']; if (isset($data['description'])) { $task->description = trim($data['description']);