Fixes for unique task number "

This commit is contained in:
David Bomba 2020-10-30 22:47:12 +11:00
parent a283f1dcf7
commit e455ec47e6
4 changed files with 11 additions and 13 deletions

View File

@ -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)

View File

@ -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()

View File

@ -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);
}

View File

@ -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']);