public function update($id, $requestData)
{
$settings = Settings::first();
$companyname = $settings->company;
$user = User::findorFail($id);
$password = bcrypt($requestData->password);
$role = $requestData->roles;
$department = $requestData->departments;
if ($requestData->hasFile('image_path')) {
$settings = Settings::findOrFail(1);
$companyname = $settings->company;
$file = $requestData->file('image_path');
$destinationPath = public_path() . '\\images\\' . $companyname;
$filename = str_random(8) . '_' . $file->getClientOriginalName();
$file->move($destinationPath, $filename);
if ($requestData->password == "") {
$input = array_replace($requestData->except('password'), ['image_path' => "{$filename}"]);
} else {
$input = array_replace($requestData->all(), ['image_path' => "{$filename}", 'password' => "{$password}"]);
}
} else {
if ($requestData->password == "") {
$input = array_replace($requestData->except('password'));
} else {
$input = array_replace($requestData->all(), ['password' => "{$password}"]);
}
}
$user->fill($input)->save();
$user->roles()->sync([$role]);
$user->department()->sync([$department]);
Session::flash('flash_message', 'User successfully updated!');
return $user;
}