user(); return $user->can('create', Location::class) || $user->can('create', Expense::class); } public function rules() { /** @var \App\Models\User $user */ $user = auth()->user(); $rules = []; $rules['name'] = 'required|unique:locations,name,null,null,company_id,'.$user->companyId(); $rules['client_id'] = 'required_without:vendor_id|nullable|integer|bail|exists:clients,id,company_id,'.$user->companyId(); $rules['vendor_id'] = 'required_without:client_id|nullable|integer|bail|exists:vendors,id,company_id,'.$user->companyId(); $rules['country_id'] = 'integer|bail|exists:countries,id'; return $this->globalRules($rules); } public function prepareForValidation() { $input = $this->all(); $input = $this->decodePrimaryKeys($input); if (array_key_exists('color', $input) && is_null($input['color'])) { $input['color'] = ''; } $this->replace($input); } }